Bri Hatch | Personal | Work |
---|---|---|
bri@ifokr.org |
Dropzone AI daethnir@dropzone.ai |
mosh
- https://mosh.org/tmux
- https://github.com/tmux/tmux/wikiACK
mosh-server
processes
Welcome to MyOS (GNU/Linux 6.8.0-45-generic x86_64) *** System restart required ***
You have a detached Mosh session on this server ([1228285]).
<ctrl-b> command
or run tmux command
<ctrl-b>
which is frequently used in vim
, less
etc.
To use <ctrl-a>
instead (screen
compatible, sensible alternative)
$ cat ~/.tmux.conf # Change the prefix key to C-a set -g prefix C-a unbind C-b bind C-a send-prefix
$ grep ^[a-z] /usr/share/dict/words | shuf | tail -5 pistachios esthetic loiter tomfoolery conjecture $
[0] 0:DNS- 1:pulumi* "pulumi" 04:43 19-Apr-22
esthetic loiter tomfoolery conjecture $ tmux set -g status-left "" $ tmux set -g status-right "%Y-%m-%d %H:%M|#(TZ=UTC date +%%H:%%M)" $
0:DNS- 1:pulumi* 2022-04-19 04:43|11:43
tmux ...
<ctrl-a>: ...
~/.tmux.conf
Easy to make aliases/programs that interact with tmux!
$ for host in $host_list ; do for container in $container_list ; do tmux new-window -n "$host $container" \ ssh -ttt "$host" docker pull $container done done
0:deploy 2022-04-19 04:43|11:43
(0) - 0: 183 windows (attached)
(1) ├─> 0: deploy
(2) ├─> 1: prodweb-00 foo-nginx
(3) ├─> 1: prodweb-00 foo-web
(4) ├─> 1: prodweb-00 foo-db
(5) ├─> 1: prodweb-01 foo-nginx
(6) ├─> 1: prodweb-01 foo-web
┌────────────────────────────────────────────────────────┐
│83d624c4be2d: Already exists │
│1f62b39dc401: Pull complete │
│6c29a458e7d5: Pull complete │
│805908969407: Pull complete │
│2c1384c86539: Pull complete │
│b9a670e7a7f3: Pull complete │
│51635e63ab0c: Pull complete │
│57e3c615dedb: Extracting [==============> ] 4.408MB/11.56MB │
0:deploy 1:prodweb-00 foo-nginx 2:prodweb- 2022-04-19 04:43|11:43
tmux list-sessions
tmux new-session [ -t name ]
tmux attach [-d] [-t name]
tmux detach
or <ctrl-a>d
<ctrl-a>c
- new window<ctrl-a>0
- select window #0<ctrl-a>9
- select window #9<ctrl-a>n
- next window<ctrl-a>' #
- select window #<ctrl-a>w
- select window from list with preview<ctrl-a>[
- enable keyboard scroll copy/paste mode <ctrl-a>, "SeaGL rocks"
- rename windowexit
- close window (or pane)<ctrl-a>%
- split horizontally<ctrl-a>"
- split vertically<ctrl-a>: resize-pane -[RLDU] ###
- increase pane right/left/down/up by ### chars<ctrl-a>: set -g mouse on] ###
- enable mouse mode<ctrl-a>o
- rotate between panes<ctrl-a>right/left/down/up
- rotate to pane right/left/down/up
Personal | Work |
---|---|
Bri Hatch bri@ifokr.org |
Bri Hatch |
Copyright 2024, Bri Hatch, Creative Commons BY-NC-SA License