Sur un système Linux, quelle est la différence entre /dev/console
, /dev/tty
et /dev/tty0
?
Quelle est leur utilisation respective et comment se comparent-elles ?
Réponse acceptée :
À partir de la documentation du noyau Linux sur Kernel.org :
/dev/tty Current TTY device
/dev/console System console
/dev/tty0 Current virtual console
Au bon vieux temps /dev/console
était la console de l'administrateur système. Et les TTY étaient les périphériques série des utilisateurs connectés à un serveur.
Maintenant /dev/console
et /dev/tty0
représentent l'affichage actuel et sont généralement les mêmes. Vous pouvez le remplacer par exemple en ajoutant console=ttyS0
à grub.conf
. Après cela, votre /dev/tty0
est un moniteur et /dev/console
est /dev/ttyS0
.
Un exercice pour montrer la différence entre /dev/tty
et /dev/tty0
:
Passez à la 2ème console en appuyant sur Ctrl +Alt +F2 . Connectez-vous en tant que root
. Tapez sleep 5; echo tty0 > /dev/tty0
. Appuyez sur Entrée et passez à la 3ème console en appuyant sur Alt +F3 .
Revenez maintenant à la 2ème console en appuyant sur Alt +F2 . Tapez sleep 5; echo tty > /dev/tty
, appuyez sur Entrée et passez à la 3ème console.
Vous pouvez voir que tty
est la console où le processus démarre, et tty0
est une console toujours à jour.