Toutes les /dev/tty*
entrées sont connues sous le nom de device file
, conformément à la philosophie Unix. Ils servent de lien entre l'utilisateur et l'appareil réel, mais leur objectif peut différer légèrement.
Consoles virtuelles
Les fichiers de périphérique comme /dev/tty123
peuvent être utilisés pour interagir avec le système via un shell standard. Ce sont des terminaux virtuels. Le système Ubuntu est configuré pour s'ouvrir par défaut TTY 1 à 6, mais on peut en ouvrir manuellement plus, par exemple:
sudo openvt -c 9 -s "bash"
Cela s'ouvrira en bash
tant que root sur / dev / tty9 et vous basculera immédiatement vers ce TTY (si cela est fait sur le terminal local, mais si vous le faites via une ssh
session distante , auquel cas vous devrez peut-être utiliser chvt 9
, où 9 est /dev/tty9
dans cet exemple). Pour faire de même sans sudo
être non root, vous devrez changer la propriété du tty que vous souhaitez ouvrir. Par exemple,
$ sudo chown xieerqi:tty /dev/tty8
$ openvt -c 8 -l
Cela me connecterait avec mon shell par défaut sur tty8. Dans mes tests, cependant, il semble que cela ne fonctionne que via TTY, donc si vous le faites via l'émulateur de terminal, cela pourrait ne pas fonctionner (j'obtenais une Couldn't get a file descriptor referring to the console
erreur et ne sudo openvt -c 8 -l
fonctionnais pour moi qu'à partir de l'émulateur)
Du point de vue historique, avant que tous les multiplexeurs de terminaux sophistiqués ne soient créés, c'était une fonctionnalité utile - vous pouviez générer jusqu'à 62 commandes (peut-être des serveurs) sur ces consoles, et les laisser s'exécuter, tout en travaillant dans la 63e. De nos jours, ce n'est peut-être pas aussi nécessaire.
Il existe plusieurs fichiers de périphérique créés par défaut. Les actifs sont de 1 à 6, mais on peut modifier leur nombre en modifiant /etc/default/console-setup
, en particulier cette partie:
# Setup these consoles. Most people do not need to change this.
ACTIVE_CONSOLES="/dev/tty[1-6]"
appareils ttyS *
Ce sont des fichiers de périphérique utilisés pour les consoles série, alias UART (également connu sous le nom de RS-232). Dans le passé, de nombreux systèmes informatiques étaient équipés d'un port série. De nos jours, cela se trouve principalement sur les ordinateurs de type serveur. Plusieurs périphériques ttyS pourraient être utiles avec les concentrateurs RS-232, qui permettent de connecter plusieurs périphériques à gérer via USB ou Ethernet.
Pour les ingénieurs électriciens (dans lesquels je me spécialise au collège), nous utilisons le port série pour interagir avec les microcontrôleurs et les cartes de développement (Arduino, par exemple). Les ordinateurs à port unique, tels que Raspberry Pi, l'utilisent également. De nos jours, la connexion série est établie en utilisant un câble USB vers UART, et en ouvrant la console dans le terminal via screen
comme ceci:
screen /dev/ttyUSB0 115200 # the number is baud rate or speed
Notez que Arduino et Raspberry créeront leur propre fichier de périphérique pour la connexion série, /dev/ttyUSB0
ou/dev/ttyACM0
périphériques vcs *
Selon man vcs
ce sont des dispositifs de mémoire de console. En termes simples, si vous le faites, sudo cat /dev/vcs1
vous verrez ce qui est à l'écran /dev/tty1
, au moins jusqu'à la quantité maximale de lignes dans ce terminal.
Diminuer le nombre de consoles
Il n'est pas possible de diminuer le nombre de fichiers de périphériques réels sans modifier la tty.h
bibliothèque et recompiler le noyau ( référence et autre ). Cependant, la suppression de ces périphériques peut être effectuée manuellement via cette commande:
sudo bash -c 'for num in $(seq 10 63 ) ; do MAKEDEV -v -d "tty$num" ; done'
Cependant, cela est quelque peu inutile - les fichiers du périphérique ne prennent pas d'espace et n'influencent pas les performances du système.