3 votos

Cuando se visualizan páginas de manual en el Terminal, ¿cómo obtener la prioridad correcta en el orden de las páginas de manual? `man` muestra la página man correcta pero Terminal muestra una más anti

Me encanta usar el visor de páginas man del Terminal. Puedes hacer clic con el botón derecho en cualquier cosa y abrir su correspondiente página de manual. O simplemente ejecuta open x-man-page://1/<man page>

Sin embargo, estoy teniendo problemas para conseguir que Terminal priorice la página man correcta sobre una preinstalada. Específicamente es la página man para la versión más nueva de rsync instalado por homebrew. Ejecutando man rsync en un intérprete de comandos muestra la página de manual de rsync correcta, de /usr/local/share/man/man1/rsync.1 , pero usando el visor de páginas de manual de Terminal muestra la página de manual para la versión antigua de rsync de /usr/share/man/man1/rsync.1.gz .

Una solución muy temporal es ejecutar Terminal así:

$ MANPATH=/usr/local/share/man /System/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal

Que empieza Terminal con MANPATH y luego busca en el lugar correcto para encontrar la nueva página man de rsync. Pero establecer MANPATH anula todas las otras formas inteligentes de encontrar rutas man.

Tenga en cuenta que el problema sólo aparece cuando hay varias páginas del manual para el mismo comando. De alguna manera man rsync sabe priorizar la página man instalada por Homebrew en /usr/local/share/man pero Terminal prioriza /usr/share/man/

Intenté editar /private/etc/man.conf y a /usr/local/share/man primero, pero no surtió efecto. Incluso comentando todos los /usr/share/man referencias no tuvieron ningún efecto.

¿Alguna idea de cómo conseguir que Terminal x-man-page:// para priorizar la página man correcta como sólo ejecutar man ¿lo hace? ¡Salud!

2voto

Sri Puntos 19

Yo también me lo preguntaba. No pude encontrar una solución directa que era mejor que su solución de establecer MANPATH antes de lanzar Terminal.app.

Una solución alternativa es utilizar man ya que te está dando la página correcta, y el open para ver las páginas de manual en TextEdit en lugar de la vista de Terminal. Esto puede envolverse en una función (y establecerse en ~/.bashrc ) para facilitar el acceso, por ejemplo

mano() { MANWIDTH=100 MANPAGER='col -bx' man "$@" | open -f; }

# use with e.g.
mano rsync

Dependiendo de su configuración predeterminada en TextEdit, esto puede dar una buena vista, con la buena función de búsqueda, etc. También puede abrir la página man en un navegador añadiendo -a <application\ name> después del comando abrir. Por ejemplo, para Google Chrome:

mano() { MANWIDTH=100 MANPAGER='col -bx' man "$@" | open -f -a Google\ Chrome; }

fuente de información: scripting osx

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