¿Cómo puedo iniciar una aplicación GUI en la carpeta Aplicaciones desde la línea de comandos?

5

Me gustaría iniciar una aplicación GUI que se encuentra en la Applicationscarpeta desde la línea de comandos en lugar de hacer clic en el icono en Findero en el Dock. La razón por la que quiero es ser capaz de poner en marcha como rootel uso sudoen 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 CEmuestra 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.

anfibio
fuente

Respuestas:

5

Simplemente use open:

open "/Applications/IntelliJ IDEA 13 CE.app"
open -a "IntelliJ IDEA 13 CE"

Sin embargo, anteponer sudono es suficiente para ejecutarse como root. Tendrá que ejecutar el binario real:

sudo /Applications/ApplicationName.app/Contents/MacOS/ApplicationName
grg
fuente
1
Si usa la bandera -a para el opencomando, no necesita la ruta.
Ɱark Ƭ
Sí, pero dar la ruta completa siempre funcionará independientemente de dónde se encuentre la aplicación. De cualquier manera, lo he agregado.
grg
No tuve que usar open.
anfibio
Nunca me ha fallado la bandera -a. Las aplicaciones no tienen que estar ubicadas en / Aplicaciones para que funcione. Puedo abrir cosas que he escrito que están enterradas en algún lugar de ~ / Library / sin ningún problema. El único problema es que si hay más de una copia de una aplicación, no estoy seguro de cuál se abrirá.
Ɱark Ƭ
1
Solo una advertencia de que a algunas aplicaciones no les gusta que su ejecutable se ejecute directamente sin pasarles algunas opciones en la línea de comandos. ¿No hay un plist en algún lugar que defina las opciones que se pasan al ejecutable cuando se ejecuta como una aplicación?
Tony Williams
3

Simplemente 'cd' en el paquete de la aplicación, luego en la Contentscarpeta y luego en la MacOScarpeta. Debe haber un archivo ejecutable allí que pueda ejecutar normalmente. Si hay varios archivos ejecutables allí, puede mirar el Contents/Info.plistarchivo dentro del paquete de la aplicación y buscar la entrada CFBundleExecutable, que indica el archivo ejecutable que se inicia cuando hace doble clic en el paquete de la aplicación en Finder.

cerdos
fuente