Wyświetlać obsługiwane typy terminali?

12

Czy istnieje przenośny sposób wyświetlania listy obsługiwanych typów terminali we wszystkich systemach N X?

Jeśli nie, jaki jest najlepszy sposób na uzyskanie tej listy w systemie Solaris?

pra
źródło

Odpowiedzi:

12

W większości systemów możesz szukać plików pod /usr/share/terminfo. W niektórych wersjach Solaris może to być /usr/lib/terminfozamiast. Niektóre systemy będą miały również termcapplik, w którym może być /etc. /usr/sharelub od czasu do czasu /usr/share/misc; nazwy terminali w tym wierszu są zgodne ^[^\t].*|, a każda nazwa między |s jest prawidłową nazwą terminala. (Z technicznego punktu widzenia pierwszy 2-znakowy wpis jest również poprawny, ale w praktyce nie jest używany; pozostaje z hakowania sterownika tty dla 6. edycji Edition UNIX. Niektóre termcapparsery mogą zaakceptować długi opis, ale wiele nie.).

Ostateczna odpowiedź dla każdego systemu będzie w termcap(5)i / lub terminfo(5).

geekozaur
źródło
7

Jeśli masz ncurseszainstalowany pakiet, możesz użyć toe(1). Poza tym coś takiego

ls /usr/share/lib/terminfo/?/*

powinien działać, ale lokalizacja bazy danych nie jest spójna w różnych systemach operacyjnych.

justarobert
źródło
1

Najpierw musisz uzyskać ścieżkę terminfo, taką jak:

 #infocmp -D
/etc/terminfo
/lib/terminfo
/usr/share/terminfo

Następnie uruchomić :

find  /usr/share/terminfo/ -type -f  -print

UWAGA: wynik wyniósł około 3000 linii.

Może to pomóc w odzyskaniu listy typów terminali

Zatoka Perska
źródło
Do czego służy -iname "*"? Napisałbym, \! -type d -printżeby usunąć katalogi. W sumie na mojej maszynie find $(infocmp -D) \! -type d -print | grep -v '/README$'. Można zastąpić -printprzez -ls, który pokaże, które są aliasy, lub zastąpić \! -type d, -type faby w ogóle nie pokazywać aliasów.
Ustawa
Możesz użyć:find /usr/share/terminfo -type f
PersianGulf
0

obsługiwane typy terminali we wszystkich systemach N X?

Nie.

Co rozumiesz przez terminale? Masz na myśli głupie terminale / emulatory terminali? Czy zdalne systemy wyświetlania?

Jak inni wspominali, [n] curses / terminfo próbuje zapewnić zunifikowaną warstwę abstrakcji do rozmowy z głupimi terminalami - ale nie ma dobrej miary pokrycia zapewnianej przez warstwę abstrakcji. Poza xterm (który opiera się na emulacji vt100) są one w większości dostępne tylko w celu uzyskania dostępu do starszych systemów. (kit jest mniej więcej emulatorem xterm na kliencie ssh).

OTOH system X Window jest znacznie bardziej wyrafinowanym czajnikiem z rybami - i ma tylko jeden protokół, który zmienił się bardzo niewiele na przestrzeni lat.

Istnieją inne zdalne protokoły wyświetlania: (NX to tylko opakowanie wokół X), w tym RDP (tak jak Microsoft i Citrix), ale AFAIK nie ma serwerów * nix i VNC - który działa na różnego rodzaju sprzęcie.

symcbean
źródło