enfoque genérico para encontrar el nombre correcto para ejecutar una aplicación desde la línea de comandos

1

Siempre que no esté en un navegador o en mi editor de texto, la mayor parte de mi tiempo en mi Mac lo paso en la terminal.

¿Cuál es una forma rápida y genérica de averiguar cómo ejecutar un programa GUI desde el shell bash? Parece que siempre tenemos que correr y descubrir que el programa xyz puede ser llamado como 'abc'.

Por ejemplo, Sublime Text's es 'subl', Kaleidoscope es 'ksdiff'. Genial, pero necesitas buscar estos para cada programa. Y hay muchas preguntas idénticas, sobre Finder, por ejemplo.

¿Cuál es el mejor enfoque de Mac para descubrir la línea de comandos "alias" para una aplicación? ¿Puedo hacer uso del Monitor de actividad si el programa está abierto? ¿Tengo que buscar en la carpeta de aplicaciones? Si es así, ¿cómo puedo distinguir el "archivo de alias de línea de comandos" de los demás?

¿O puedo usar "ps aux" en bash? Por ejemplo, en Linux o en Windows, "foo.exe" en la lista de procesos significa que simplemente puede escribir "foo.exe" para iniciar ese programa. Pero Sublime aparece como Texto Sublime, no 'subl', así que no creas que funcionaría.

    
pregunta JL Peyret 22.04.2015 - 19:17

3 respuestas

3

Bot Sublime Text y Kaleidoscope son casos especiales, ya que instalan una utilidad auxiliar o ellos mismos en algún lugar de su $PATH .

La forma más fácil de abrir cualquier aplicación desde /Applications es ejecutar

open -a APPNAME

en la Terminal, por ejemplo

open -a Pages       # opens Pages
open -a "App Store" # opens the App Store
    
respondido por el nohillside 22.04.2015 - 19:23
0

Solo para elaborar la respuesta por patrix. Específicamente sobre cómo averiguar qué poner en la bandera -a.

Si uso ps aux en la línea de comandos, me dirá qué nombre de aplicación usar.

audrey:tests jluc$ ps aux | grep Sub
jluc            30721   0.0  5.0  3746992 418976   ??  S    Tue04pm  42:37.43 /Applications/Sublime Text 2.app/Contents/MacOS/Sublime Text 2 -psn_0_983280
jluc            55934   0.0  0.0  2423368    188 s004  R+    8:07pm   0:00.00 grep Sub

¿Ver que Sublime Text 2 ? Eso es lo que quieres.

creando un archivo y abriéndolo (se aseguró de que fuera una extensión desconocida en lugar de tener que seleccionar Sublime by association.

audrey:tests jluc$ echo bzp > test.bzp
audrey:tests jluc$ open -a "Sublime Text 2" test.bzp

Eso funciona.

Finalmente, si encuentras que usas esa aplicación desde la línea de comandos, puedes crear un alias.

alias open_sublime='open -a "Sublime Text 2"'

Este es uno para Affinity Designer

ps aux | grep Aff

resultados

jluc            56148   1.2  1.7  4206616 139500   ??  S     8:29pm   0:04.79 /Applications/Affinity Designer.app/Contents/MacOS/Affinity Designer
jluc            56158   0.0  0.0  2432784    632 s004  S+    8:30pm   0:00.00 grep Aff

y ahora el alias

alias open_aff_design='open -a "Affinity Designer"'
    
respondido por el JL Peyret 13.09.2015 - 05:16
0

Si encuentra que sigue necesitando un programa en la Terminal:

Ambos

abre -a "AppName"

o

abrir / ruta a la aplicación funcionaria ...

y configurar un alias en tu archivo .bashrc sería bueno. p.ej. alias open_app = 'open / pathtoapp'

Para editar el .bashrc:

1) En su directorio de inicio, abra .bashrc en su editor favorito (por ejemplo, vi .bashrc)

2) Inserta tantos alias como necesites

3) Guardar el archivo

4) Escriba fuente .bashrc o. .bashrc para hacer dos cosas ... para hacer una comprobación de sintaxis y aplicar inmediatamente sus cambios

El paso 4 es importante: si comete un error, podría volver a atormentarlo si lo reinicia sin verificar ... no hay nada terrible, pero más molesto ... Además, obtienes los cambios que se aplican inmediatamente y puedes probarlos.

    
respondido por el David Fass 15.10.2018 - 19:14

Lea otras preguntas en las etiquetas