User Tools

Site Tools


screen:index

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
screen:index [2018/09/20 15:46] orelscreen:index [2020/09/01 19:44] orel
Line 18: Line 18:
 Kill a remote screen session Kill a remote screen session
   $ screen -S sessionid -X quit   $ screen -S sessionid -X quit
 +
 +Launch several commands in several windows, but in the same session:
 +
 +  $ screen -S sessionid -t win1 -A -d -m bash
 +  $ screen -S sessionid -X screen -t win2 -A -d -m bash
 +  $ screen -ls sessionid
 +  
 +Reattach all windows (use "ctrl-a + w" to list all windows):
 +
 +  $ screen -r sessionid
 +
 +
 +Reattach a given window: ???
 +
 +Shortcuts:
 +
 +  * Ctrl+a d : detach
 +  * ...
 +
 +
  
 ===== TMUX Tips ===== ===== TMUX Tips =====
Line 23: Line 43:
 A tmux session can contain several windows and a tmux window can contain several panes (with a tiled layout for instance). The window ID of the window 'n' in session 'sessionid' is 'sessionid:n', and the pane ID of a pane 'k' in a window 'n' is 'sessonid:n.k'. A tmux session can contain several windows and a tmux window can contain several panes (with a tiled layout for instance). The window ID of the window 'n' in session 'sessionid' is 'sessionid:n', and the pane ID of a pane 'k' in a window 'n' is 'sessonid:n.k'.
  
-Start tmux server and session 'sessionid':+Start tmux server:
  
   $ tmux start-server   $ tmux start-server
-  $ tmux new-session -d -s sessionid -n console bash         # tmux console+   
 +Start a new session 'sessionid' and a first window in this session: 
 + 
 +  $ tmux new-session -s sessionid -n win0              # run an interactive shell in foreground 
 +  $ tmux new-session -s sessionid -n win0 ./test.sh    # run a command in foreground   
 +  $ tmux new-session -d -s sessionid -n win0 ./test.sh run a command in background (detached) 
 + 
 +Start another window in this session: 
 + 
 +  $ tmux new-window -t sessionid -n win1 bash  
  
 List windows and panes: List windows and panes:
Line 34: Line 63:
   $ tmux list-panes -t sessionid:   # list all panes in window 0 of session   $ tmux list-panes -t sessionid:   # list all panes in window 0 of session
      
-Join session:+Attach session to the end user's terminal (tmux in foreground). Then, you can get multiple displays of a session:
  
-  $ tmux join -t sessionid -s $WIN -t 1  +  $ tmux attach-session -t sessionid
-  $ tmux attach-session -t +
      
 +Enable mouse (useful to switch windows or select panes in tmux) :
 +
 +  $ tmux set-option -t sessionid -g mouse on 
 +  
 +Moving a source pane into a target window:
 +  
 +  $ tmux list-panes -a
 +    pouet:0.0: ...
 +    pouet:1.0: ...   <- current one
 +
 +  # mv src pane 'pouet:1.0' to win 'pouet:0'
 +  $ tmux join-pane -t pouet:
 +
 +  $ tmux list-panes -a
 +    pouet:0.0: ...
 +    pouet:0.1: ...   <- current one
 +    
 +In order to reverse the 'join-pane' operation, use break-pane:
 +
 +  $ tmux list-panes -a
 +    pouet:0.0: ...
 +    pouet:0.1: ...   <- current one
 +
 +  $ tmux break-pane # break src pane off its current window
 +
 +  $ tmux list-panes -a
 +    pouet:0.0: ...
 +    pouet:1.0: ...   <- current one
 +   
 +Instead of moving an existing pane, you can use 'split-window' to create a new pane:
 +
 +  $ tmux list-panes -a
 +    pouet:0.0: ...
 +    pouet:1.0: ...   <- current one
 +
 +  $ tmux split-window
 +
 +  $ tmux list-panes -a
 +    pouet:0.0: ...
 +    pouet:1.0: ...
 +    pouet:1.1: ...   <- current one
 +
 +
 +If you want to reverse the prevous
 +
 +  $ tmux break-pane
 +
 Kill session: Kill session:
  
   $ tmux kill-session -t sessionid   $ tmux kill-session -t sessionid
  
-Configure your session:+Link a window/pane in another session (multiple display):
  
-  $ tmux set-option -t sessionid -g default-shell /bin/bash  +  $ tmux new-session -s pouet1 
-  # enable to select panes/windows  with mouse (howewer, hold shift key, to copy/paste with mouse+  $ tmux new-session -s pouet2 
-  $ tmux set-option -t sessionid -g mouse on +  $ tmux list-panes -a 
 +    pouet1:0.0: ... %0 (active) 
 +    pouet2:0.0: ... %1 (active
 +  $ tmux link-window -s pouet1:0.0 -t pouet2 
 +  $ tmux list-panes -a 
 +    pouet1:0.0: ... %0 (active) 
 +    pouet2:0.0: ... %1 (active) 
 +    pouet2:0.0: ... %0 (active) 
 +     
 +==== Useful Shortcuts ====
  
-  $ tmux set-option -g prefix C-b   default prefix +  * ctrl-b d => detach 
-  $ tmux bind-key C-c kill-session  # press "C-b C-c" to kill session! +  * ctrl-b w => list windows and select it 
-  tmux set-window-option -g window-status-current-bg red +  * ctrl-b n => next window 
-  tmux set-option -g status-left '' +  * ctrl-b p => previous window 
-  $ tmux set-option -g status-right '#[fg=colour233,bg=colour241,bold] %d/%m/%Y #[fg=colour233,bg=colour245,bold] %H:%M:%S '+  * ctrl-b # => go to window # (select by number) 
 +  * ctrl-b ? => help 
 +  * ctrl-=> new shell window 
 +  * ctrl-b x => kill current pane 
 + 
 +I use to rebind 'ctrl-b x' to kill current session (or server), like that: 
 + 
 +  tmux bind-key x kill-session   
 + 
 +  
 +If you want to list current tmux sessions: 
 + 
 +  tmux ls 
 +   
 +If you want to (re-)attach your session (assuming there is only one running session): 
 + 
 +  tmux a 
 +   
 +If you want to kill all...
  
 +  tmux kill-server
  
 +Enjoy!
screen/index.txt · Last modified: 2024/03/18 15:06 by 127.0.0.1