Existe-t-il un moyen portable de répertorier les types de terminaux pris en charge sur tous les systèmes N X?
Sinon, quelle est la meilleure façon d'obtenir cette liste sur Solaris?
Sur la plupart des systèmes, vous pouvez rechercher des fichiers sous /usr/share/terminfo
. Sur certaines versions de Solaris, cela peut être le cas /usr/lib/terminfo
. Certains systèmes auront également un termcap
fichier, qui peut être dans /etc
. /usr/share
, ou occasionnellement /usr/share/misc
; les noms de terminaux qui se trouvent dans les lignes correspondent ^[^\t].*|
, et chaque nom entre |
s est un nom de terminal valide. (Techniquement, la première entrée à 2 caractères est également valide, mais en pratique inutilisée; elle est laissée par un piratage de pilote tty pour 6th Research Edition UNIX. Certains termcap
analyseurs peuvent également accepter la longue description, mais beaucoup ne le feront pas.).
La réponse définitive pour tout système sera dans termcap(5)
et / ou terminfo(5)
.
Si le ncurses
package est installé, vous pouvez utiliser toe(1)
. Au-delà, quelque chose comme
ls /usr/share/lib/terminfo/?/*
devrait fonctionner, mais l'emplacement de la base de données n'est pas cohérent entre les systèmes d'exploitation.
Au début, vous devez obtenir le chemin de terminfo tel que:
#infocmp -D
/etc/terminfo
/lib/terminfo
/usr/share/terminfo
Exécutez ensuite:
find /usr/share/terminfo/ -type -f -print
REMARQUE: le résultat était d'environ 3000 lignes.
Il peut vous aider à récupérer la liste des types de terminaux
-iname "*"
ça sert ? J'aurais écrit\! -type d -print
pour supprimer des répertoires. Dans l' ensemble, sur ma machine,find $(infocmp -D) \! -type d -print | grep -v '/README$'
. On peut remplacer-print
par-ls
, qui montrera quels sont les alias, ou remplacer\! -type d
par-type f
pour ne pas afficher les alias du tout.find /usr/share/terminfo -type f
Non.
Qu'entendez-vous par terminaux? Vous voulez dire des terminaux / émulateurs de terminaux stupides? Ou des systèmes d'affichage à distance?
Comme d'autres l'ont mentionné, [n] curses / terminfo essaie de fournir une couche d'abstraction unifiée pour parler aux terminaux stupides - mais il n'y a pas de bonne mesure de la couverture fournie par la couche d'abstraction. Hormis xterm (qui s'appuie sur l'émulation vt100), ceux-ci ne sont généralement disponibles que pour l'accès aux systèmes hérités. (putty est plus ou moins un émulateur xterm au dessus d'un client ssh).
OTOH, le système X Window est une marmite à poisson beaucoup plus sophistiquée - et n'a qu'un seul protocole qui a eu très peu de changements au fil des ans.
Il existe d'autres protocoles d'affichage à distance: (NX est juste un wrapper autour de X), y compris RDP (favorisé par Microsoft et Citrix) mais AFAIK il n'y a pas de serveurs * nix et VNC - qui fonctionne sur toutes sortes de matériel.
la source