Las páginas man de color no funcionan en gentoo

8

Tengo un problema al usar estos métodos para obtener colores en mis páginas de manual en gentoo. Ya pregunté en los foros de gentoo, pero todavía no funciona, y los comentarios en un informe de error ( Bug 184604 ) tampoco funcionan. ¿Alguien puede ayudarme a obtener colores en mis páginas man?

EDITAR : Sí, estoy usando menos como buscapersonas y urxvt-unicode como emulador de terminal

EDIT2 :

Ya pregunté en los foros de gentoo pero no ayudó, este es el enlace: http://forums.gentoo.org/viewtopic-t-819833-start-0.html .

Vicfred
fuente
estás usando menos como buscapersonas, ¿verdad?
xenoterracide
¿Qué emulador de terminal estás usando y qué echo $TERMmuestra?
Gilles 'SO- deja de ser malvado'

Respuestas:

21

Podría haber varios problemas.

Mientras lo usa zsh, intente poner esto en su ~/.zshrc:

export LESS_TERMCAP_mb=$'\E[01;31m'
export LESS_TERMCAP_md=$'\E[01;31m'
export LESS_TERMCAP_me=$'\E[0m'
export LESS_TERMCAP_se=$'\E[0m'
export LESS_TERMCAP_so=$'\E[01;47;34m'
export LESS_TERMCAP_ue=$'\E[0m'
export LESS_TERMCAP_us=$'\E[01;32m'
export LESS=-r

Luego abra una nueva ventana de terminal e intente ejecutar

man ls

si no funciona, ejecute cada uno de los siguientes para averiguar dónde está el problema:


Numero 1

typeset -p LESS_TERMCAP_md | cat -v

debería imprimir

typeset -x LESS_TERMCAP_md="^[[01;31m"

y

typeset -p LESS

debería imprimir

typeset -x LESS="-r"

si no, pones las export LESScosas en el archivo incorrecto.


Número 2

echo "${LESS_TERMCAP_md}red${LESS_TERMCAP_me}"

debería imprimir

red

en color rojo Si no es así, hay algo mal con la configuración de su terminal. Verifique la configuración de su terminal (p ~/.Xresources. Ej. ) O intente ejecutar gnome-terminalo xtermver si funciona.


Numero 3

echo -E "a^Ha" | LESS= less -r

( ^Hdebe ingresarse presionando Ctrl+ Vluego Ctrl+ H)

debería imprimir

a

en rojo. Si no es así, ejecute estos

type less
less --version

y pegue el resultado en su pregunta.


Número 4

bzcat /usr/share/man/man1/ls.1.bz2 | \
    /bin/sh /usr/bin/nroff -mandoc -Tutf8  | head -n 5 | cat -v

debería imprimir

LS(1)                            User Commands                           LS(1)



N^HNA^HAM^HME^HE

(tenga ^Hen cuenta lo similar en el paso número 3)

si está imprimiendo algo como:

LS(1)                            User Commands                           LS(1)



^[[1mNAME^[[0m

en su lugar, deberá encontrar una manera de deshabilitar las "secuencias de escape sgr". La cosa más fácil de tratar es la adición export GROFF_NO_SGR=1a .zshrc, pero hay otras maneras de fijar esto.


Número 5

bzcat /usr/share/man/man1/ls.1.bz2 | \
    /bin/sh /usr/bin/nroff -mandoc -Tutf8 | less

debería mostrar la lspágina del manual con colores.


man ls

ahora debería estar funcionando!

Mikel
fuente
Estoy usando zsh, no pude publicar esto antes porque era un nuevo usuario forum.gentoo.org/viewtopic-t-819833-start-0.html también typeset -p LESS imprimió esto: "typeset: no such variable : MENOS "y sobre el número 5, no hay ls.1.gz pero hay ls.1.bz2 pero imprime este" gzip: /usr/share/man/man1/ls.1.bz2: no en formato gzip " el resto de las opciones funcionan bien, pero todavía no tengo páginas de manual en color.
Vicfred
typeset -p LESSno funciona es tu problema. Pero ya que estás usando zsh, debes poner export LESS=-rtu ~/.zshrc, no tu ~/.bashrc. Haga eso y luego intente estos pasos nuevamente.
Mikel
Y cambiar zcat /usr/share/man/man1/ls.1.gza bzcat /usr/share/man/man1/ls1.bs2.
Mikel
He actualizado las instrucciones en función de la información que acaba de proporcionar.
Mikel
77
export GROFF_NO_SGR = 1 funcionó, gracias, ¿podría indicarme algunas referencias sobre esto? fuiste el único que realmente dio una respuesta diferente.
Vicfred
3

Habiendo leído la respuesta de Mikels, es muy completo y espero que funcione en todos los sistemas, pero probablemente sea excesivo para mí (también en un sistema gentoo).

Así que aquí hay un resultado para las personas que son muy "hace mucho, no leyeron" con todas esas travesuras.

Lo mínimo que puedo hacer para obtener páginas de Colour Man es el siguiente:

LESS_TERMCAP_md=$'\E[01;31m' LESS_TERMCAP_me=$'\E[0m' GROFF_NO_SGR=1 man man

Esto muestra el texto que anteriormente solo estaba en negrita, en negrita y rojo . (El rojo caracterizado por el '31' en LESS_TERMCAP_md)

LESS_TERMCAP_se=$'\E[0m' LESS_TERMCAP_so=$'\E[01;32m'

Estas 2 reglas controlan el formato de la visualización del número de línea actual y la obligan a renderizar en verde.

LESS_TERMCAP_us=$'\E[04;33m' LESS_TERMCAP_ue=$'\E[0m'

Estas 2 reglas mueven todo lo que estaba subrayado previamente, a subrayado y amarillo . (04 está 'subrayado', 33 es "amarillo")

Kent Fredric
fuente