¿Cómo puedo hacer que 'man' sea más amigable con la interfaz gráfica de usuario?

20

Cuando escribo man bash, muestra la información en el terminal.

¿Cómo le digo a " man" que abra la información en gedit? es posible?

Zabba
fuente

Respuestas:

31

Use esta función en .bashrc:

man () { yelp "man:$@"; }

Fuente

zengr
fuente
2
¡Gracias! Esto es mejor que gedit también (no sabía sobre el yelp)
Zabba
3
O simplemente, yelp man:bashpor supuesto, si está en el escritorio de otra persona.
JanC
2
Y si necesita una página de manual que no está en la sección predeterminada, use algo como en yelp "man:init(5)"lugar de man 5 init(esto no funciona con la versión actual de la función bash de zengr ).
JanC
Eso es muy bueno. Aún así, también me gustaría un método para indexar o examinar las páginas de manual por tema o una tabla de contenido. ¿Hay algo así por ahí que funcione, por ejemplo, solo ubuntu o incluso solo debian con X?
será el
3

Simplemente ingrese lo siguiente en la terminal:

man bash >/tmp/t;gedit /tmp/t

Eso creará un archivo temporal con el contenido de la página de manual y lo abrirá con gedit.

Nathan Osman
fuente
Un comando alternativo que evita la creación de un archivo temporal, haciendo uso de las características de Bash:gedit <(man bash)
Lekensteyn
1
@Lekensteyn: gedit no abre una <()sustitución de proceso, ni abre la entrada canalizada. (probado en 2.30.3 y 3.4.1)
Peter.O
@ Peter.O acabo de comprobar y eres verdad. Tampoco funciona para kateninguno. nanoaunque puede abrirlo como de solo lectura.
Lekensteyn
man bash | gedit -evita el archivo tmp
Vista elíptica
2

Mejor aún, haga que man lo formatee en HTML y lo abra en firefox

#!/bin/bash
# open a man page in firefox

# loop through all parameters in order
for i
do
    # if the manpage was found, spawn it in a browser window
    man -f "$i" > /dev/null && coproc man --html=firefox "$i"
done
Cuenta
fuente
Excelente, me encanta +1 .. Ahora es una función en mi ~/bashrc...fman () { until [[ -z $1 ]] ;do man -f "$1" 2>/dev/null && coproc man --html=firefox "$1"; shift; done; }
Peter.O
1

Si no quieres usar un shell: presiona alt + f2 e ingresa yelp man:bash. También hay disponible un historial de comandos, y puede elegir cualquier página de manual reemplazándola man:bashpor la página de manual que necesita.

cosmo
fuente
1

Además de abrir la página del manual gedit(como lo han demostrado las otras respuestas), también puede hacer un pdf de la página del manual (como se señaló por primera vez en este artículo ) y luego mostrarlo evince. (Necesitas ps2pdfe evinceinstalaste). El archivo pdf se crea en su directorio de trabajo actual y se conserva después de que evincese cierra.

Simplemente modifique el comando a continuación de acuerdo con la página de manual que desee y cambie los nombres de los archivos o se sobrescribirán los archivos PDF resultantes. Aquí hay un ejemplo para dpkg:

man -t dpkg | ps2pdf - dpkg.pdf && evince dpkg.pdf

Sin embargo, probablemente sea mucho más útil construir una función. Puede agregar la siguiente función a su .bashrco .bash_aliases(suponiendo que la tenga evincee ps2pdfinstalada; esta última está en el ghostscriptpaquete):

mikman() { man -t "$1" | ps2pdf - "$1".pdf && setsid evince "$1".pdf; }

Después de agregar la función, debe ejecutar . .bashrc(o . .bash_aliases) para obtener los archivos de configuración o reiniciar el terminal para que surta efecto.

Llame a la función con el nombre de cualquier programa que tenga una página de manual, como mikman dpkg, y ejecutará los comandos y ejecutará la página de manual como un pdf. El lanzamiento de la página de manual como PDF en su lector de PDF le proporciona una interfaz gráfica de usuario muy útil en la que se pueden utilizar herramientas de búsqueda y similares.


fuente
0

Caso por caso, puede hacer:

man mount > mount.txt

El archivo .txt estará en su directorio actual.

man mount > mount.txt && gedit mount.txt

abrirá el archivo en gedit.

boehj
fuente
0

Puede navegar por las páginas man en línea http://manpages.ubuntu.com/ o instalar el paquete dwww y navegar por toda la documentación fuera de línea ( http://localhost/dwww). Consulte la descripción del paquete dwww y / o lea man dwww después de la instalación.

También puede interesarle explorar el contenido del paquete: instale el paquete dpkg-www y haga lo mismo: consulte la descripción del paquete dpkg-www y / o lea man dpkg-www después de la instalación. Inicia dpkg-wwwo navega http://localhost/cgi-bin/dpkg.

Hans Ginzel
fuente
-1

Esto creará un archivo temporal con la página de manual para bash en su directorio de inicio titulado "man" y lo abrirá con gedit. Tan pronto como cierre gedit, el archivo también se borrará. Simplemente reemplace bash con cualquier página de manual que desee abrir.

man bash >> ~/man && gedit ~/man && rm ~/man

Espero que esto ayude :)

aterrador
fuente
El problema con esto es que se geditsepara del terminal con un código de salida de 0, por lo que el rmpaso se ejecuta inmediatamente. Esto hace ~/manque se elimine antes de que gedit lo haya cargado ...
Peter.O