Tmux est l’un des outils que j’utilise le plus dans mes journées, voici donc la configuration que j’utilise
1) enter copy mode using Control+b [
2) navigate to beginning of text, you want to select and hit Control+Space
3) move around using arrow keys to select region
4) when you reach end of region simply hit Alt+w to copy the region
5) now Control+b ] will paste the selection
you can navigate the text using the emacs style navigation key
Control+p, Control+n, Control+f, Control+b etc.
Dan in the comments informs me that if you have vi style key bindings on then the following applies:
1) enter copy mode using Control+b [
2) navigate to beginning of text, you want to select and hit Space
3) move around using arrow keys to select region
4) when you reach end of region simply hit Enter to copy the region
5) now Control+b ] will paste the selection
To enable vi like cursor movement in copy mode put the following in your ~/.tmux.conf:
1
set-window-option -g mode-keys vi
more over what ever you copy, you may dump that out in your terminal using
1
tmux show-buffer
and even save to a file(say, foo.txt) using
1
tmux save-buffer foo.txt
To see all the paste buffers try Control + b #. To dump out the varios buffers on to the terminal or file you may use
1
2
3
tmux list-buffers
tmux show-buffer -b n
tmux save-buffer -b n foo.txt
where n is the index of the paste buffer.
un cheat-sheet rappel pour tmux et screen ;)
cool ! et bien utile !
Raccourcis de base
<Ctrl> + <b> suivi de <c> : Créer un nouveau terminal dans la session tmux active
<Ctrl> + <b> suivi de <n> : Switcher entre les différents terminaux de la session
<Ctrl> + <b> suivi de <X> : Choisir un terminal spécifique (ou X est le numéro du terminal)
<Ctrl> + <b> suivi de <d> : Se détacher de la session tmux (lancer 'tmux a' pour s'y rattacher)
<Ctrl> + <b> suivi de <,> : Permet de renommer un terminal
<Ctrl> + <b> suivi de <w> : Affiche la liste des terminaux disponibles
<Ctrl> + <b> suivi de <t> : Afficher l’heure dans un terminal
<Ctrl> + <b> suivi de <[> : Permet de scroller ligne/ligne (avec les fleches du clavier ou la souris) ou même page/page avec PgnUP et PgnDOWN, tapez "q" pour quiter ce mode
Commandes dans un Split
<Ctrl> + <b> suivi de <"> : Split vertical du terminal courant en deux + ouverture d’un terminal dans le nouveau panel
<Ctrl> + <b> suivi de <%> : Split horizontal du terminal courant en deux + ouverture d’un terminal dans le nouveau panel
<Ctrl> + <b> suivi de <o> : Switcher entre les terminaux splittés
<Ctrl> + <b> suivi de <espace> : Changer l’organisation visuelle des terminaux splittés
<Ctrl> + <b> suivi de <Alt> + (flèches directionnelles) : Reduire, agrandir fenêtre du split
<Ctrl> + <b> suivi de <!> : Convertir un split en terminal seul
<Ctrl> + <b> suivi de <q> : Afficher les numéros des terminaux splittés
<Ctrl> + <b> puis saisissez :join : permet de joindre un terminal seul dans un split
join -v -s 3.0 -p 50
Où :
-h ou -v : pour horizontalement ou verticalement
-s 3.0 : terminal 3 et volet 0 (volet si écran splitté)
-p 50 : occupation à 50% de la fenêtre
Ici donc vous ajouterez verticalement, un terminal numéroté 3 et qui prendra 50% de l’espace total.
tmux est plus sympa que screen oui, mais si on n'a pas besoin de récupérer la main sur la commande (genre un tar, ou un find ou etc...) je rappelle qu'un simple nohup suivi d'un & à la fin de la commande ne demande aucune installation suplémentaire.
donc:
nohup "la commande qui va bien" 2>fichier_erreur.log 1>fichier_sortie.log &
nohup, va ignorer la mort du shell et donc rattacher le processus au père:
https://en.wikipedia.org/wiki/Nohup
le canal 2 est le canal d'erreur.
le cana 1 est le canal de sortie standard
& permet de rentre la main au shell en créant un fork.
Voila.
Sinon pour tmux:
via http://macahute.net/shaarli/?URV-MQ
As screen is not maintained anymore you should look for modern alternatives like tmux.
tmux is superior for many reasons, here are just some examples:
Windows can be moved between session and even linked to multiple sessions
Windows can be split horizontally and vertically into panes
Support for UTF-8 and 256 colour terminals
Sessions can be controlled from the shell without the need to enter a session
Basic Functionality
To get the same functionality as explained in the post with the most votes you would need to do the following:
ssh into the remote machine
start tmux by typing tmux into the shell
start the process you want inside the started tmux session
leave/detach the tmux session by typing Ctrl+B and then D
You can now safely logoff from the remote machine, your process will keep running inside tmux. When you come back again and want to check the status of your process you can use tmux attach to attach to your tmux session.
If you want to have multiple session running side-by-side you should name each session using Ctrl-B and $. You can get a list of the currently running sessions using tmux list-sessions.
tmux can do much more advanced things then handle a single window in a single session. For more information have a look in man tmux or http://tmux.sourceforge.net/. A FAQ about the main differences between screen and tmux is available here: http://tmux.git.sourceforge.net/git/gitweb.cgi?p=tmux/tmux;a=blob;f=FAQ