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

1

Cada vez que no estoy en un navegador o en mi editor de texto, la mayor parte de mi tiempo en mi Mac lo paso en el terminal.

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

Por ejemplo, Sublime Text's es 'subl', Kaleidoscope es 'ksdiff'. Genial, pero debe buscarlos para todos y cada uno de los programas. Y hay muchas preguntas idénticas, sobre Finder, por ejemplo.

¿Cuál es el mejor enfoque de Mac para descubrir la línea de comando "alias" para cualquier aplicación? ¿Puedo usar el Monitor de actividad si el programa está abierto? ¿Tengo que ir de nariz en la carpeta de aplicaciones? Si es así, ¿cómo puedo distinguir el "archivo de alias de línea de comando" 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 puede escribir "foo.exe" para iniciar ese programa. Pero Sublime aparece como Sublime Text, no "subl", así que no pienses que eso funcionaría.

JL Peyret
fuente

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 /Applicationses ejecutar

open -a APPNAME

en la terminal, p. ej.

open -a Pages       # opens Pages
open -a "App Store" # opens the App Store
nohillside
fuente
Sí, eso parece funcionar, y también puedo abrir un archivo / url en Firefox con él. Sabía sobre abrir , pero no me di cuenta de que podía usar -a para iniciar aplicaciones con él o especificar otro programa que no sea el predeterminado para abrir el archivo. Gracias.
JL Peyret
0

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

Si uso ps aux en la línea de comando, me dirá qué nombre de aplicación debo 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

¿Ves ese texto sublime 2 ? Eso es lo que quieres.

creando un archivo y abriéndolo (se aseguró de que fuera una extensión desconocida en lugar de que seleccionara Sublime por asociación.

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

Eso funciona.

Finalmente, si descubre que a menudo usa esa aplicación desde la línea de comandos, puede usar 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"'
JL Peyret
fuente
0

Si encuentra que sigue necesitando un programa en la Terminal:

Ambos

abrir -a "AppName"

o

open / pathtoapplication funcionaría ...

y configurar un alias en su archivo .bashrc sería bueno. por ejemplo, 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) Inserte tantos alias como necesite

3) Guarde el archivo

4) Escriba source .bashrc o. .bashrc para hacer dos cosas ... hacer una verificación de sintaxis e inmediatamente aplicar los cambios

El paso 4 es importante: si comete un error, podría volverse en su contra si lo reinicia sin verificar ... nada desgarrador, pero más molesto ... Además, obtiene los cambios que se aplican de inmediato y puede probarlos.

David Fass
fuente