Pagine man colorate che non funzionano su gentoo


8

Ho un problema con questi metodi per ottenere i colori nelle mie pagine man in gentoo. Ho già chiesto nei forum di Gentoo ma non funziona ancora, e neanche i commenti in una segnalazione di bug ( Bug 184604 ). Qualcuno può aiutarmi a ottenere colori nelle mie pagine man?

EDIT : Sì, sto usando meno come cercapersone e urxvt-unicode come emulatore di terminale

EDIT2 :

Ho già chiesto nei forum di Gentoo ma non ha aiutato, questo è il link: http://forums.gentoo.org/viewtopic-t-819833-start-0.html .


stai usando meno come cercapersone giusto?
xenoterracide,

Quale emulatore di terminale stai usando e cosa viene echo $TERMvisualizzato?
Gilles 'SO- smetti di essere cattivo' il

Risposte:


21

Potrebbe esserci una serie di problemi.

Visto che stai usando zsh, prova a metterlo nel tuo ~/.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

Quindi aprire una nuova finestra del terminale e provare a eseguire

man ls

se non funziona, esegui una delle seguenti operazioni per scoprire dove si trova il problema:


Numero 1

typeset -p LESS_TERMCAP_md | cat -v

dovrebbe stampare

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

e

typeset -p LESS

dovrebbe stampare

typeset -x LESS="-r"

in caso contrario, hai messo le export LESScose nel file sbagliato.


Numero 2

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

dovrebbe stampare

red

in un colore rosso. In caso contrario, c'è qualcosa che non va nelle impostazioni del terminale. Controlla le impostazioni del tuo terminale (ad es. ~/.Xresources) O prova a correre gnome-terminalo xterme vedi se funziona.


Numero 3

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

( ^Hdeve essere inserito premendo Ctrl+ Vquindi Ctrl+ H)

dovrebbe stampare

a

in rosso. In caso contrario, esegui questi

type less
less --version

e incollare l'output nella domanda.


Numero 4

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

dovrebbe stampare

LS(1)                            User Commands                           LS(1)



N^HNA^HAM^HME^HE

(nota ^Hcome nel passaggio numero 3)

se sta stampando qualcosa di simile:

LS(1)                            User Commands                           LS(1)



^[[1mNAME^[[0m

invece, dovrai trovare un modo per disabilitare "sequenze di escape sgr". La cosa più facile da provare è l'aggiunta export GROFF_NO_SGR=1a .zshrc, ma ci sono altri modi per correggere questo.


Numero 5

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

dovrebbe visualizzare la lspagina man con i colori.


man ls

ora dovrebbe funzionare!


Sto usando zsh, ho couln't questo post prima perché ero un nuovo utente forums.gentoo.org/viewtopic-t-819833-start-0.html anche una formattazione -p MENO stampato in questo modo: "typeset: tale variabile : MENO "e riguardo al numero 5, non c'è ls.1.gz ma c'è ls.1.bz2 ma stampa questo" gzip: /usr/share/man/man1/ls.1.bz2: non in formato gzip " il resto delle opzioni funziona bene ma non ho ancora pagine man colorate.
Vicfred,

typeset -p LESSnon funziona è il tuo problema. Ma visto che stai usando zsh, dovresti inserire il export LESS=-rtuo ~/.zshrc, non il ~/.bashrc. Per favore, quindi riprova questi passaggi.
Mikel,

E passare zcat /usr/share/man/man1/ls.1.gza bzcat /usr/share/man/man1/ls1.bs2.
Mikel,

Ho aggiornato le istruzioni in base alle informazioni che hai appena fornito.
Mikel,

7
export GROFF_NO_SGR = 1 ha funzionato, grazie, potresti indicarmi alcuni riferimenti su questo? sei stato l'unico a dare una risposta diversa.
Vicfred

3

Dopo aver letto la risposta di Mikels, è molto completa e, si spera, funzionerà su tutti i sistemi, ma probabilmente è eccessivo per me stesso (anche su un sistema Gentoo).

Quindi, ecco un risultato per le persone che sono molto "Do long, not read" con tutti questi shenanigans.

Il minimo indispensabile che potrei fare per ottenere le pagine di Man colorate è il seguente:

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

Questo rende il testo che prima era solo in grassetto, in grassetto e rosso . (Il rosso caratterizzato dal '31' in LESS_TERMCAP_md)

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

Queste 2 regole controllano la formattazione della visualizzazione del numero di riga corrente e la costringono al rendering in verde.

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

Queste 2 regole spostano tutto ciò che è stato precedentemente sottolineato, per essere sottolineato e giallo . (04 è "sottolineato", 33 è "giallo")

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.