Większość pytań jest w tytule, ale należy trochę rozwinąć:
Na większości Linuksów mogę find /usr/share/terminfo -type f
. Ale na komputerze Solaris mam w pobliżu - ten katalog nawet nie istnieje.
Mógłbym iterować listę terminali i zrobić coś takiego:
for TERM in xterm xtermc xterm-color xterm-256color screen rxvt
do
tput cols >/dev/null 2>/dev/null && echo "$TERM available"
done
Ale jest wolny. Czy są jakieś opcje, aby odkryć ścieżkę używaną przez tput
definicje terminali i sam uruchomić „znaleźć”?
Program infocmp w „dowolnym” systemie obsługującym terminfo wyświetla nazwę ścieżki, w której znajduje opis terminala dla bieżącego terminala. Na przykład (w tym przypadku AIX):
W przypadku ncurses jest to bardziej skomplikowane, ponieważ możesz mieć wiele baz danych terminfo, a wpisy nie muszą być pojedynczymi plikami. Domyślna jest jedna baza danych i jeden plik na pozycję , aby zapewnić zgodność z systemami uniksowymi.
-D
Rozwiązaniem dla tic i infocmp (dodanego późno w 2011 roku ) jest jednym ze sposobów, aby wyświetlić dodatkowe informacje. Na przykład na moim Debian7 widzę to:Na moim komputerze FreeBSD 10 używam hashowanych baz danych:
Alternatywnie można użyć
toe
programu do wygenerowania raportu o wszystkich dostępnych pozycjach terminala. Korzystanie z opcji-s
i-a
pozwala łączyć rzeczy (takie jakconflict
program):źródło
W systemie Linux możesz
strace
sprawdzić, które wywołania systemowe są używane przez program. Poniżej wymieniono wszystkie wywołania systemowe „open (2)” i przefiltrowano je,sed
aby, miejmy nadzieję, plik terminfo użytytput
do przetłumaczenia możliwości terminfo dla bieżącego terminala.Zauważ, że to wyrażenie sed zakłada, że twoje pliki terminfo są przechowywane w ścieżce zawierającej wzorzec „terminfo”. Jeśli to Cię martwi, możesz użyć innego założenia i wybrać ostatnie „otwarte” wywołanie systemowe.
Na koniec możesz po prostu zrzucić listę ścieżek wyszukiwania terminfo za pomocą
infocmp -D
lubtic -D
. Spowoduje to wyświetlenie ich wkompilowanych ścieżek wyszukiwania terminfo. Są to te same ścieżki, których szukają przekleństwa.źródło
Miałem do czynienia z tym samym problemem, co Zyxel NSA310
rozwiązaniem, które działało dla mnie było
udzielono porady:
https://better-coding.com/solved-xterm-256color-unknown-terminal-type/
źródło