Me gustaría iniciar una aplicación GUI que se encuentra en la Applications
carpeta desde la línea de comandos en lugar de hacer clic en el icono en Finder
o en el Dock
. La razón por la que quiero es ser capaz de poner en marcha como root
el uso sudo
en contraposición a lanzarlo como mi usuario por defecto.
Cuando entré en las aplicaciones, esto es lo que parecía:
/Applications/IntelliJ IDEA 13 CE.app@16:16:42>ls -la
total 40
drwxr-xr-x@ 10 myuser admin 340 Dec 17 14:07 .
drwxrwxr-x+ 68 root admin 2312 Jan 20 18:00 ..
drwxr-xr-x@ 6 myuser admin 204 Dec 17 14:08 Contents
-rw-r--r--@ 1 myuser admin 11358 Dec 17 14:06 LICENSE.txt
-rw-r--r--@ 1 myuser admin 127 Dec 17 14:06 NOTICE.txt
drwxr-xr-x@ 14 myuser admin 476 Dec 17 14:09 bin
-rw-r--r--@ 1 myuser admin 10 Dec 17 14:01 build.txt
drwxr-xr-x@ 85 myuser admin 2890 Dec 17 14:06 lib
drwxr-xr-x@ 29 myuser admin 986 Dec 17 14:06 license
drwxr-xr-x@ 30 myuser admin 1020 Dec 17 14:06 plugins
Lo curioso es que, en el Finder
, se IntelliJ IDEA 13 CE
muestra como un icono en el que se puede hacer clic que inicia la aplicación. Pero a nivel de terminal, en realidad es un directorio con contenidos que no sé cómo navegar y manipular para emular un clic en la GUI.
terminal
applications
anfibio
fuente
fuente
Respuestas:
Simplemente use
open
:Sin embargo, anteponer
sudo
no es suficiente para ejecutarse como root. Tendrá que ejecutar el binario real:fuente
open
comando, no necesita la ruta.Simplemente 'cd' en el paquete de la aplicación, luego en la
Contents
carpeta y luego en laMacOS
carpeta. Debe haber un archivo ejecutable allí que pueda ejecutar normalmente. Si hay varios archivos ejecutables allí, puede mirar elContents/Info.plist
archivo dentro del paquete de la aplicación y buscar la entradaCFBundleExecutable
, que indica el archivo ejecutable que se inicia cuando hace doble clic en el paquete de la aplicación en Finder.fuente