S'éclatter avec un terminal (screen - vi - ...)

On ne croirait pas comme ça, mais on peut faire beaucoup de choses avec un simple terminal Unix. On peut même l’arranger pour qu’il se comporte comme un gestionnaire de fenêtres :slightly_smiling:
C’est un rapid tuto, que je complèterai par la suite.

Si vous avez installés screen et vi, c’est le moment d’en profiter.

1. Ouvrir plusieurs fenêtres, dans un terminal, avec screen.

$ screen                         //ouvre une fenêtre avec un shell en entrée
Ctrl-a  S   (maj)              //split la fenêtre en 2. La nouvelle fenêtre est vierge,
                                    //sans shell (faire un Ctrl-a c  ou Ctrl-a 2x si plusieurs fenêtres)
Ctrl-a TAB                      //se deplace entre les split    
Ctrl-a c                           //crée une nouvelle fenêtre avec un shell en entrée
Ctrl-a A   (maj)               //renomme la fenêtre

Arrivé là, on doit avoir un résultat comme ça :

2. Se diriger entre les fenêtres

Ctrl-a c                        //créer une nouvelle fenêtre
Ctrl-a c                        //encore une autre
Ctrl-a "                        //liste les fenêtres et switch entre elles
Ctrl-a S                       //encore un split
Ctrl-a ctrl-a                 //affiche la fenêtre précedente.

Ctrl-a k    //kill la fenêtre

On peut à present bien naviguer dans screen.

Ctrl-a d                //ferme la session sans quiter
screen -R             //reprend la session screen.
Ctrl-a ?                 //pour afficher les commandes.
Ctrl-a \                  //Pour tout quitter  

Pour redimensionner les splits :

Ctrl-a :        (passe en mode commande)
resize +N   (augmente la taille de N lignes)
resize -N   (réduit de N)
resize =     (les égalises)
resize max (taille max)
resize min   (et min)

exemple :   Ctrl-a : resize +4

Ctrl-a X    (X majuscule - ferme le split)

3. Faire la même chose avec vi.

on ouvre vi dans screen

Ctrl-w s                 //split en horizontal
Ctrl-w v                //split en vertical
Ctrl-w flèche          //passe d'une fenêtre vi à l'autre.
:help                     //affiche l'aide
Dans une fenêtre vi, on peut ouvrir d'autre vi avec la commande :vi
:vi fichier

Finallement, rien qu’avec un terminal Unix et screen, on obtient un véritable gestionnaire de fenêtres. :laughing:

liens :
le manuel complet de l’utilisateur de GNU-screen :
cclib.nsu.ru/projects/gnudocs/gn … n_toc.html
Des trucs et astuces pour screen :
gentoo-wiki.com/TIP_Using_screen
Un tuto screen :
debian-administration.org/articles/34

Remarques :
_en essayant de faire un split, il arrive que l’on tappe le s minuscule au lieu du majuscule. L’ennui, c’est que le Ctrl-a s (minuscule) bloque le terminal (en envoyant un signal xoff). Pour le débloquer, c’est Ctrl-a q (minuscule), qui envoi un signal xon.
_les splits ne sont pas conservés lors d’un détachement de session ; en revanche, les fenêtres qui étaient contenus dans ces splits le sont (ctrl-a "). Il suffit juste de recréer les splits et d’y remettre les fenêtres. En 10 secondes c’est fait (peut-être moins avec de l’entrainement).

D’autres logiciels qui fonctionnent en terminal :
_mc, mdnight commander, pour naviguer entre les dossiers
_moc, (mocp) pour écouter sa musique préférée.
_emacs, comme vim, mais différent (perso je préfère vim :stuck_out_tongue: ) .

Captures :


screen + moc + vim + mc

Damsss

merci

je voulais te demander aussi comment tu as mis ce fond sur ton terminal?

j’espere que ça va pas planter…

C’est juste le terminal Eterm, en mode transparent. Le fond est celui du bureau.

screen est véritablement incontournable, car même si on quitte la session Gnome ou autre. Screen continue de tourner ! Il suffit de se reconnecter avec screen -r et l’on retrouve les terminaux et leurs programmes. :astonished:

ouep, c’est super pratique :slightly_smiling:

merci pour ce mini tuto !
mais j’ai une tite question, une fois la fenetre splitté (en 3 pour moi), comment redimensionner les différents split ?

j’ai regardé l’aide en ligne en faisant [Ctl+a] + [?], mais j’ai rien vu à ce sujet.

le ? n’indique pas tout. man screen est plus exhaustif. Les splits n’ont pas l’air d’être ce qu’il y a de plus important, car quand on détache puis rattache, ils disparaissent (mais les fenêtres sont toujours là ( Ctrl-a " )). On doit pouvoir démarrer les splits avec un fichier de ressources. Pour leurs redimensionnement… déjà qu’on ne les récupère pas au démarrage, ça ne doit pas être implémenté.

ok
je vais “manpager” alors :wink:

On peut le faire. Pour redimensionner les splits, la commande c’est :

Ctrl-a :        (passe en mode commande)
resize +N   (augmente la taille de N lignes)
resize -N   (réduit de N)
resize =     (les égalises)
resize max (taille max)
resize min   (et min)

exemple :   Ctrl-a : resize +4

Ctrl-a X    (X majuscule - ferme le split)