2 votos

El comando "which" no funciona / ruta de Safari?

¿Por qué no puedo localizar programas como Chrome o Safari o FireFox con el which ¿herramienta de línea de comandos?

pasocon:~ ThisUser$ which python
/anaconda3/bin/python
pasocon:~ ThisUser$ which firefox
pasocon:~ ThisUser$ which Safari
pasocon:~ ThisUser$ which chrome
pasocon:~ ThisUser$ 

Esto es lo que consigo con el which comando. No me da la ruta para muchas aplicaciones. ¿Estoy cometiendo un error aquí o es esto potencialmente un problema a ser arreglado?

Alternativamente, sólo buscaba la ruta de Safari (para poder abrir Safari dirigiendo a esta ruta en un archivo de configuración). Estoy seguro de que esto es un conocimiento básico, pero de alguna manera no he podido encontrarlo.

12voto

siva Puntos 23

which busca binarios en el $PATH, es decir, herramientas de línea de comandos. Las aplicaciones de usuario no son tales herramientas y no están disponibles en la línea de comandos.

Mientras que Safari.app es una aplicación, el Safari no se suele añadir al $PATH porque no es una herramienta de línea de comandos - si sólo ejecuta Safari en Terminal su shell le informará de que no se puede encontrar el comando.

Para encontrar la ruta de acceso a una aplicación, puede utilizar lsregister, que es una herramienta para añadir y consultar la base de datos de Launch Services, utilizada por MacOS en parte para encontrar aplicaciones.

/System/Library/Frameworks/CoreServices.framework/\
  Versions/A/Frameworks/LaunchServices.framework/\
  Versions/A/Support/lsregister

Puedes -dump la base de datos y filtrar con grep .

/System/L*/Fr*/CoreSe*/V*/A/F*/L*/V*/A/S*/lsregister -dump |
  grep -ie "path:.*safari"

    path:          /Applications/Safari.app

Esto devolverá todas las instancias de Safari registradas en los Servicios de Lanzamiento, que incluirán las copias de seguridad. Si sólo quieres abrir Safari, no deberías ocuparte de conseguir rutas y manejarlo tú mismo; en su lugar, haz que MacOS lo haga por ti: open -a Safari .

5voto

yoliho Puntos 340

Esto está funcionando como se diseñó.

que es un ejecutable de línea de comandos que busca en tu ruta (y en otras partes del entorno de la shell) para encontrar cosas que puedas iniciar desde la línea de comandos

Las aplicaciones como Safari (cualquier cosa incluida como aplicación que será un directorio que termina en .app con ciertos archivos en subdirectorios específicos) no se lanzan desde la línea de comandos. Se lanzan desde el escritorio y no a través de ningún comando del shell.

Sin embargo, puede lanzar aplicaciones desde la línea de comandos utilizando el comando open. man open da detalles. El ejemplo para lanzar Safari es open -a Safari

Ten en cuenta que si intentas abrir Safari cuando te conectas, poner este comando en tus archivos shell no funcionará, ya que el shell no se ejecuta hasta que lanzas Terminal.app.
La forma más sencilla de iniciar Safari al iniciar la sesión es ejecutar la aplicación desde el escritorio, hacer clic con el botón derecho en el icono de la aplicación en el dock y elegir Opciones y luego Abrir al iniciar la sesión.
También hay una lista de cosas que se lanzan al iniciar la sesión para cada usuario en Preferencias del Sistema->Usuarios y Grupos y esto se puede editar allí.

3voto

En MacOS las aplicaciones no forman parte del PATH estándar y no pueden iniciarse llamándolas desde la línea de comandos (bueno, sí, pueden, pero no es tan fácil). Pero puedes usar

open foo.html

o

open -a Safari

para iniciar Safari desde bash.

2voto

dante12 Puntos 89

Añade lo siguiente en tu .bash_profile.

alias safari="/Applications/Safari.app/Contents/MacOS/Safari"  

Ahora puedes iniciar Safari en tu Terminal. Como se mencionó antes, las aplicaciones son paquetes y no pueden iniciarse directamente desde la Terminal.

Para editar su .bash_profile:

  1. Tipo de terminal nano .bash_profile (asegúrese de que está en su directorio de origen y pruébelo con el pwd de mando. Por lo general, /Users/Username .

  2. añadir el alias Línea superior al final del documento.

  3. teclea CTRL-O para guardar el archivo

  4. teclea CTRL-X para salir de nano

  5. tipo source .bash_profile para actualizar

  6. escriba safari para iniciar Safari.

Puede hacerlo con la mayoría de las aplicaciones de la carpeta /Application.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X