Solution 1 :
Il existe une commande spécialement conçue pour cette situation :openvt
. Exécutez simplement openvt
depuis votre shell sur tty1 et vous trouverez un shell s'exécutant sur le premier tty qui n'avait pas déjà quelque chose dessus (tty2 probablement.) Il existe plusieurs options qui pourraient vous être utiles ; voir la page de manuel openvt.
Comme il ne s'agit pas d'une connexion gérée par getty, lorsque vous quittez le nouveau shell, aucune invite de connexion ne s'affiche. Le terminal s'arrêtera car il n'y aura pas de processus en cours d'exécution dessus, mais vous pourrez toujours basculer (Alt-F1 Alt-F2) et voir ce qui était à l'écran lorsque vous avez quitté le shell. Le deallocvt
La commande détruit les ttys qui sont dans cet état de type zombie, retournant à l'état d'origine "Alt-F2 ne fait rien".
À l'origine, ces commandes s'appelaient open
et disalloc
, mais finalement quelqu'un a décidé de les changer parce qu'ils étaient trop génériques et désaffecter a été jugé comme "pas un mot".
Auparavant, il était courant que le pilote du clavier et init soient configurés de manière à ce que Alt + Up exécute open
, il agirait donc comme un raccourci clavier pour générer un shell sur une nouvelle console. Vous pouvez toujours trouver un reste de cette ancienne configuration, commentée, dans votre /etc/inittab
. (Si vous n'utilisez pas une nouvelle initialisation fantaisiste qui n'a pas de inittab
.)
Il y a une question similaire ici
Solution 2 :
Vous pourriez générer un autre getty
pour tous les ttys que vous voulez. Démarrez en mode mono-utilisateur, puis démarrez un getty
sur tty2 :
[email protected]:~# /sbin/getty 38400 tty2 &
Vous pouvez maintenant Alt +F2 vers le nouveau tty. Répétez l'opération pour d'autres ttys si nécessaire. Vous pourriez probablement faire quelque chose de plus propre et simplement configurer /etc/inittab
pour gérer automatiquement cela en mode mono-utilisateur.
Solution 3 :
Vous pouvez probablement vous passer d'une instance de shell supplémentaire en utilisant JOB CONTROL
dans votre shell actuel. Il est documenté dans la page de manuel de bash(1)
.
Vous pouvez simplement suspendre une tâche en utilisant la touche Ctrl +Z séquence par défaut, bien qu'elle puisse être configurée dans votre terminal d'une manière différente, vérifiez la sortie de stty -a
:
$ stty -a | grep susp
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
Vous pouvez vérifier vos travaux en émettant jobs
:
# jobs
[1] Stopped journalctl -f
[2]- Stopped vim /etc/hosts
[3]+ Stopped tail -f /var/log/firewalld
Amenez l'un d'entre eux au premier plan :
$ fg %3
Ou reprenez-le en arrière-plan :
$ bg %2
Cette méthode n'a pas beaucoup des avantages de screen
ou tmux
, mais peut être tout aussi utile dans certaines situations.