Sebagian besar pertanyaan ada dalam judul, tetapi untuk sedikit menguraikan:
Pada kebanyakan Linux saya bisa find /usr/share/terminfo -type f
. Tetapi pada mesin Solaris yang saya miliki di dekatnya - direktori ini bahkan tidak ada.
Saya bisa beralih ke daftar terminal, dan melakukan sesuatu seperti:
for TERM in xterm xtermc xterm-color xterm-256color screen rxvt
do
tput cols >/dev/null 2>/dev/null && echo "$TERM available"
done
Tapi lambat. Adakah opsi untuk menemukan jalur yang digunakan oleh tput
definisi terminal, dan menjalankan "temukan" sendiri?
Program infocmp pada sistem "apa saja" yang mendukung terminfo akan memperlihatkan pathname di mana ia menemukan deskripsi terminal untuk terminal saat ini. Misalnya (AIX dalam hal ini):
Untuk ncurses, ini lebih rumit, karena Anda dapat memiliki banyak database terminfo, dan entri tidak harus berupa file individual. Database tunggal dan satu file per entri adalah default , untuk kompatibilitas dengan sistem Unix.
The
-D
pilihan untuk tic dan infocmp (ditambahkan di akhir 2011 ) adalah salah satu cara untuk menunjukkan informasi tambahan. Misalnya, di Debian7 saya, saya bisa melihat ini:Pada mesin FreeBSD 10 saya, saya menggunakan basis data hash:
Atau, seseorang dapat menggunakan
toe
program untuk menghasilkan laporan dari semua entri terminal yang tersedia. Menggunakan-s
dan-a
opsi memungkinkannya menggabungkan hal-hal (seperticonflict
program):sumber
Di Linux Anda dapat menggunakan
strace
untuk melihat panggilan sistem yang digunakan suatu program. Berikut ini akan mencantumkan semua panggilan sistem "terbuka (2)" dan memfilternyased
untuk menunjukkan, semoga, file terminfo digunakan olehtput
untuk menerjemahkan kemampuan terminfo untuk terminal saat ini.Perhatikan bahwa ekspresi sed mengasumsikan bahwa file terminfo Anda disimpan di jalur dengan pola "terminfo" di dalamnya. Jika itu membuat Anda khawatir maka Anda dapat menggunakan asumsi yang berbeda dan memilih panggilan sistem "terbuka" terakhir.
Akhirnya, Anda bisa membuang daftar jalur pencarian terminfo menggunakan
infocmp -D
atautic -D
. Ini akan mendaftar jalur pencarian terminfo yang dikompilasi. Ini adalah jalan yang sama yang dicari oleh kutukan.sumber
Saya menghadapi masalah yang sama dengan Zyxel NSA310
solusi yang berhasil bagi saya adalah
saran diberikan di sini:
https://better-coding.com/solved-xterm-256color-unknown-terminal-type/
sumber