Halaman manual berwarna tidak berfungsi pada gentoo

8

Saya punya masalah menggunakan metode ini untuk mendapatkan warna di halaman manual saya di gentoo. Saya sudah bertanya di forum gentoo tetapi masih tidak berfungsi, dan komentar dalam laporan bug ( Bug 184604 ) juga tidak berfungsi. Adakah yang bisa membantu saya mendapatkan warna di halaman manual saya?

EDIT : Ya, saya menggunakan pager dan urxvt-unicode sebagai terminal emulator

EDIT2 :

Saya sudah bertanya di forum gentoo tetapi tidak membantu, ini tautannya: http://forums.gentoo.org/viewtopic-t-819833-start-0.html .

Vicfred
sumber
Anda menggunakan lebih sedikit sebagai pager Anda, kan?
xenoterracide
Emulator terminal apa yang Anda gunakan, dan apa yang echo $TERMditampilkan?
Gilles 'SO- stop being evil'

Jawaban:

21

Bisa jadi sejumlah masalah.

Melihat saat Anda menggunakan zsh, coba letakkan ini di ~/.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

Kemudian buka jendela terminal baru dan coba jalankan

man ls

jika tidak berfungsi, jalankan masing-masing berikut ini untuk mencari tahu di mana masalahnya:


Nomor 1

typeset -p LESS_TERMCAP_md | cat -v

harus dicetak

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

dan

typeset -p LESS

harus dicetak

typeset -x LESS="-r"

jika tidak, Anda memasukkan export LESSbarang ke file yang salah.


Nomor 2

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

harus dicetak

red

dalam warna merah. Jika tidak, ada yang salah dengan pengaturan terminal Anda. Periksa pengaturan terminal Anda (mis. ~/.Xresources) Atau coba jalankan gnome-terminalatau xtermdan lihat apakah itu berhasil.


Nomor 3

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

( ^Hharus dimasukkan dengan menekan Ctrl+ Vlalu Ctrl+ H)

harus dicetak

a

dalam warna merah. Jika tidak, jalankan ini

type less
less --version

dan rekatkan hasilnya kembali ke pertanyaan Anda.


Nomor 4

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

harus dicetak

LS(1)                            User Commands                           LS(1)



N^HNA^HAM^HME^HE

(perhatikan ^Hsejenisnya di langkah nomor 3)

jika sedang mencetak sesuatu seperti:

LS(1)                            User Commands                           LS(1)



^[[1mNAME^[[0m

sebagai gantinya, Anda perlu menemukan cara untuk menonaktifkan "sgr escape sequences". Hal yang paling mudah untuk mencoba adalah menambahkan export GROFF_NO_SGR=1untuk .zshrc, tetapi ada cara lain untuk memperbaiki ini.


Nomor 5

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

harus menampilkan lshalaman manual dengan warna.


man ls

seharusnya sekarang bekerja!

Mikel
sumber
Saya menggunakan zsh, saya tidak dapat memposting ini sebelumnya karena saya adalah pengguna baru forums.gentoo.org/viewtopic-t-819833-mulai-0.html juga mengeset -p KURANG dicetak ini: "typeset: tidak ada variabel seperti itu : KURANG "dan tentang angka 5, tidak ada ls.1.gz tetapi ada ls.1.bz2 tetapi mencetak" gzip: /usr/share/man/man1/ls.1.bz2: tidak dalam format gzip " sisa opsi berfungsi dengan baik tetapi saya masih belum memiliki halaman manual berwarna.
Vicfred
typeset -p LESStidak bekerja adalah masalahmu. Tetapi melihat saat Anda menggunakan zsh, Anda harus memasukkan ke export LESS=-rdalam ~/.zshrc, bukan ke dalam ~/.bashrc. Silakan lakukan itu lalu coba langkah-langkah ini lagi.
Mikel
Dan berubah zcat /usr/share/man/man1/ls.1.gzmenjadi bzcat /usr/share/man/man1/ls1.bs2.
Mikel
Saya telah memperbarui instruksi berdasarkan informasi yang baru saja Anda berikan.
Mikel
7
ekspor GROFF_NO_SGR = 1 berhasil, terima kasih, dapatkah Anda mengarahkan saya ke beberapa referensi tentang ini? Anda adalah satu-satunya yang benar-benar memberikan jawaban yang berbeda.
Vicfred
3

Setelah membaca jawaban Mikels, sangat komprehensif, dan mudah-mudahan akan bekerja pada semua sistem, tetapi mungkin berlebihan bagi saya sendiri (juga pada sistem gentoo.)

Jadi di sini adalah hasil untuk orang-orang yang sangat "Lakukan lama, tidak membaca" dengan semua kejahatan itu.

Minimum Bare yang bisa saya lakukan untuk mendapatkan halaman Colored Man adalah sebagai berikut:

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

Ini membuat teks yang sebelumnya hanya dicetak tebal, tebal dan merah . (Merah ditandai dengan '31' di LESS_TERMCAP_md)

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

2 aturan ini mengontrol pemformatan tampilan nomor baris saat ini, dan memaksa untuk rendering dalam warna Hijau.

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

2 aturan ini memindahkan semua yang sebelumnya digarisbawahi, menjadi digarisbawahi dan kuning . (04 bergaris bawah ', 33 berwarna "kuning")

Kent Fredric
sumber