Unterstützte Terminaltypen auflisten?

12

Gibt es eine portable Möglichkeit, unterstützte Terminaltypen auf allen N X-Systemen aufzulisten?

Wenn nicht, wie kann diese Liste unter Solaris am besten abgerufen werden?

pra
quelle

Antworten:

12

Auf den meisten Systemen können Sie unter nach Dateien suchen /usr/share/terminfo. In einigen Solaris-Versionen ist dies möglicherweise der Fall /usr/lib/terminfo. Einige Systeme haben auch eine termcapDatei, die sich möglicherweise in befindet /etc. /usr/shareoder gelegentlich /usr/share/misc; Die Terminalnamen in diesen Zeilen stimmen überein ^[^\t].*|, und jeder Name zwischen |s ist ein gültiger Terminalname. (Technisch gesehen ist der erste zweistellige Eintrag ebenfalls gültig, wird jedoch in der Praxis nicht verwendet. Er stammt aus einem tty-Treiber-Hack für die 6. Research Edition UNIX. Einige termcapParser akzeptieren möglicherweise auch die lange Beschreibung, viele jedoch nicht.)

Die endgültige Antwort für jedes System lautet in termcap(5)und / oder terminfo(5).

Geekosaurier
quelle
7

Wenn Sie das ncursesPaket installiert haben, können Sie verwenden toe(1). Darüber hinaus so etwas wie

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

sollte funktionieren, aber der Speicherort der Datenbank ist betriebssystemübergreifend nicht konsistent.

justarobert
quelle
1

Zuerst müssen Sie den Pfad von terminfo erhalten, wie zum Beispiel:

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

Dann renne :

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

HINWEIS: Das Ergebnis war ungefähr 3000 Zeilen.

Es kann Ihnen helfen, die Liste der Terminaltypen abzurufen

Persischer Golf
quelle
Wofür ist -iname "*"nützlich? Ich hätte geschrieben \! -type d -print, um Verzeichnisse zu entfernen. Insgesamt auf meiner Maschine find $(infocmp -D) \! -type d -print | grep -v '/README$'. Man kann sich ersetzen -printdurch -ls, die zeigen , welche Aliase sind, oder ersetzen Sie \! -type ddurch -type fnicht zeigen Aliase überhaupt.
Law29
Sie können verwenden:find /usr/share/terminfo -type f
PersianGulf
0

unterstützte Terminaltypen auf allen N X-Systemen?

Nein.

Was meinst du mit Terminals? Meinen Sie dumme Terminals / Terminalemulatoren? Oder Fernanzeigesysteme?

Wie bereits erwähnt, versucht [n] curses / terminfo, eine einheitliche Abstraktionsschicht für die Kommunikation mit dummen Terminals bereitzustellen. Es gibt jedoch kein gutes Maß für die Abdeckung durch die Abstraktionsschicht. Abgesehen von xterm (das auf der Emulation von vt100 aufbaut) sind diese meist nur für den Zugriff auf Legacy-Systeme verfügbar. (putty ist mehr oder weniger ein xterm-emulator auf einem ssh-client).

Das X Window-System von OTOH ist ein weitaus ausgefeilterer Fischkessel - und es gibt nur ein Protokoll, das sich im Laufe der Jahre kaum geändert hat.

Es gibt andere Remote-Anzeigeprotokolle: (NX ist nur ein Wrapper um X) einschließlich RDP (wie von Microsoft und Citrix bevorzugt), aber AFAIK gibt es keine * nix-Server und VNC - das auf allen Arten von Hardware ausgeführt wird.

symcbean
quelle