Plusieurs sessions avec une seule console sous Linux?

2

Disons que je n'ai qu'une seule console, est-il possible de simuler plusieurs consoles / sessions?

Je cherche une commande / méthode linux, pas spécifique à Ubuntu / Debian.

#console1
$ ..

#console2
$ console_switch 2
$ ..

#console1 again
$ console_switch 1
$ ..

Quelque chose comme ça est disponible, même en paquet?

Le paquet trouvé 'écran', mais la sortie n'est pas conservée entre les commutations.

Damien Roche
la source

Réponses:

4

Les multiplexeurs tmuxet screenterminaux sont populaires pour cela. Il est possible de voir plusieurs fenêtres en même temps en les séparant verticalement / horizontalement; par exemple, Ctrl-B "dans tmux. Il est même possible de copier et coller du texte entre les fenêtres.

L' emacséditeur permet d'exécuter des shells interactifs dans ses multiples mémoires tampons, là encore, avec plusieurs mémoires tampons à l'écran et un copier / coller entre eux.

Une alternative plus simple à tmux / screen est la suivante dtach: elle n'effectue pas une émulation de terminal complète mais ne permet que le détachement / le rattache, de sorte que la sortie précédente est conservée. (Cependant, cela signifie également que le détachement à l'intérieur d'un programme en plein écran ne fonctionnera pas bien.)

La boîte à outils Heirloom semble fournir une version des shl"couches de shell" présentes dans Unix SVR3 (et est décédée peu de temps après, mais persiste toujours stty swtch). Cependant, je ne parviens pas à créer la boîte à outils, et je ne suis pas sûr que les noyaux Linux modernes disposent du support nécessaire shl. Si cela fonctionnait, cependant, ce serait presque exactement comme dans votre exemple.

Enfin, vous pouvez exécuter plusieurs processus shell en tant que travaux:

$ bash
  $ suspend
$ bash
  $ suspend
$ jobs
[1]-  Stopped                 bash
[2]+  Stopped                 bash
Grawity
la source
2

Dans GNU Screen, vous pouvez:

  1. fenêtre divisée avec Ctrl+ A, Shift+ S,
  2. passer à la nouvelle scission avec Ctrl+ A, Tab,
  3. ouvrir nouvel écran avec Ctrl+ A, C,
  4. répéter.

De plus, pour fermer le partage actuel, appuyez sur Ctrl+ A, Shift+ X.

Hluk
la source
1

Pas sûr que ce soit exactement ce que vous cherchez, mais screen / byobu semble similaire. Vous ne basculez pas avec une commande, mais avec un combo clé de style emacs. Si votre distribution en contient un, je vous suggérerais byobu.

Edit: Byobu est une couche d’utilisabilité construite en haut de l’écran. Autant que je sache, il n'y a pas grand-chose que l'un puisse faire ce que l'autre ne peut pas faire, mais le byobu le rend souvent beaucoup plus facile.

user_the_user
la source