Páginas de manual coloridas não funcionam no gentoo

8

Eu tenho um problema ao usar esses métodos para obter cores nas minhas páginas de manual no gentoo. Já perguntei nos fóruns do gentoo, mas ele ainda não funciona, e os comentários em um relatório de bug ( Bug 184604 ) também não funcionam. Alguém pode me ajudar a obter cores nas minhas páginas de manual?

EDIT : Sim, estou usando menos como pager e urxvt-unicode como emulador de terminal

EDIT2 :

Eu já perguntei nos fóruns do gentoo, mas não ajudou, este é o link: http://forums.gentoo.org/viewtopic-t-819833-start-0.html .

Vicfred
fonte
você está usando menos como pager, certo?
Xenoterracide
Qual emulador de terminal você está usando e o que é echo $TERMexibido?
Gilles 'SO- stop be evil'

Respostas:

21

Pode haver vários problemas.

Como você está usando zsh, tente colocar isso em seu ~/.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

Em seguida, abra uma nova janela do terminal e tente executar

man ls

se não estiver funcionando, execute cada um dos seguintes para descobrir onde está o problema:


Número 1

typeset -p LESS_TERMCAP_md | cat -v

deve imprimir

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

e

typeset -p LESS

deve imprimir

typeset -x LESS="-r"

caso contrário, você coloca o export LESSmaterial no arquivo errado.


Número 2

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

deve imprimir

red

na cor vermelha. Caso contrário, há algo errado com as configurações do seu terminal. Verifique as configurações do terminal (por exemplo ~/.Xresources) ou tente executar gnome-terminalou xtermveja se isso funciona.


Número 3

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

( ^Hdeve ser inserido pressionando Ctrl+ Ve Ctrl+ H)

deve imprimir

a

em vermelho. Caso contrário, execute estes

type less
less --version

e cole a saída novamente na sua pergunta.


Número 4

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

deve imprimir

LS(1)                            User Commands                           LS(1)



N^HNA^HAM^HME^HE

(observe o exemplo ^Hna etapa número 3)

se estiver imprimindo algo como:

LS(1)                            User Commands                           LS(1)



^[[1mNAME^[[0m

em vez disso, você precisará encontrar uma maneira de desativar "sequências de escape sgr". A coisa mais fácil para tentar está adicionando export GROFF_NO_SGR=1ao .zshrc, mas há outras maneiras de corrigir isso.


Número 5

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

deve exibir a lspágina do manual com cores.


man ls

agora deve estar funcionando!

Mikel
fonte
Estou usando o zsh, não era possível postar isso antes porque eu era um novo usuário forums.gentoo.org/viewtopic-t-819833-start-0.html também typeset -p MENOS imprimiu isso: "typeset: nenhuma variável assim : LESS "e sobre o número 5, não existe ls.1.gz, mas existe ls.1.bz2, mas ele exibe" gzip: /usr/share/man/man1/ls.1.bz2: não está no formato gzip " o restante das opções funciona bem, mas ainda não tenho páginas de manual coloridas.
Vicfred
typeset -p LESSnão funcionar é seu problema. Mas, visto que você está usando zsh, você deve colocar o export LESS=-rseu ~/.zshrc, não o ~/.bashrc. Faça isso e tente estas etapas novamente.
Mikel
E mude zcat /usr/share/man/man1/ls.1.gzpara bzcat /usr/share/man/man1/ls1.bs2.
Mikel
Atualizei as instruções com base nas informações que você acabou de fornecer.
Mikel
7
export GROFF_NO_SGR = 1 funcionou, obrigado, você poderia me indicar algumas referências sobre isso? você foi o único que realmente deu uma resposta diferente.
Vicfred
3

Tendo lido a resposta de Mikels, é muito abrangente e, esperançosamente, funcionará em todos os sistemas, mas provavelmente será um exagero para mim (também em um sistema gentoo).

Então, aqui está um resultado para pessoas que são muito "não demorou muito para ler" com todas essas bobagens.

O mínimo necessário que eu poderia fazer para obter páginas do Color Man é o seguinte:

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

Isso renderiza o texto que estava anteriormente apenas em negrito, em negrito e vermelho . (O vermelho caracterizado pelo '31' in LESS_TERMCAP_md)

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

Essas 2 regras controlam a formatação da exibição atual do número da linha e a obrigam a renderizar em verde.

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

Essas duas regras movem tudo o que foi sublinhado anteriormente para sublinhado e amarelo . (04 está 'sublinhado', 33 é "amarelo")

Kent Fredric
fonte