Kaip programai leisti toliau veikti atsijungus nuo ssh ar dingus internetui?
tmux diegimas
$ sudo apt-get install tmux
Paleidžiant programą, sukuriama pirma sesija, kaip 0:
$ tmux
Ctrl +a d - detach. Atsijungia nuo sesijos.
Ctrl +a c - create. Nauja screen sesija.
Ctrl +a n next. Judėjimas per sesijas.
Paprastai screen sesijoje neleidžia judėti slankikliu ar ratuku, todėl galima naudoti šią komandą:
Ctrl +a +Esc - Kopijavimo režimas.
Ctrl +a S - Horizontalus padalinimas
Ctrl +a | arba C +a V - Vertikalus padalinimas.
Ctrl +a tab - Peršokimas į sekantį padalytą regioną.
Ctrl +a X - Esamo regiono pašalinimas.
Ctrl +a Q - Pašalinti visus regionus, išskyrus šį.
Pridedam prie .bashrc failo:
.screenrc nustatymai
Šie nustatymai leis keisti langus su F5, F6 ir judėti slenkančiu tekstu.
tmux
Sukūrus tmux sesiją ir atsijungus nuo ssh, programa paleista tmux sesijoje veiks ir lokaliai kompiuteryje ir nebus išjungta.tmux diegimas
$ sudo apt-get install tmux
Paleidžiant programą, sukuriama pirma sesija, kaip 0:
$ tmux
Sesijų sąrašas:
$ tmux list-session
0: 1 windows (created Tue Aug 19 10:40:37 2014) [112x26] (attached)
radija: 1 windows (created Tue Aug 19 10:36:13 2014) [112x26] (attached)
Prisijungimas naujausios sesijos:
$ tmux attach
Prisijungimas prie sesijos:
$ tmux attach -t 0:
Klavišų siuntimas į sesiją:
$ tmux send-keys "*" -t radija
Sesijos išjungimas:
$ tmux kill-session -t radija
Visų sesijų išjungimas
$ tmux kill-server
NuspaudusCtrl + B galima naudoti komandas
d - atsijungti nuo sesijos.
& - uždaro langą.
s - rodo visas sesijas.
% - padalinimas vertikalus.
" - padalinimas horizontalus.
o - sekantis langas.
<- / -> - ankstesnis/sekantis langas
x - uždaro langą
p/n - ankstesnis/sekantis sesijos langas
z - priartina pasiriktą langą/atstato langus (fullscreen)
: resize-pane -D 20 (Sumažina padalinta langą 20 vienetų)
: resize-pane -U 20 (Praplečia padalintą langą 20 vienetų)
c - sukurti naują sesijos langą.
$ - sesijos lango pervadinimas.
0-9 - sesijos langų navigacija.
q - leidžia pasirinkti langą.
w - rodo visus sesijos langus.
? - pagalba, kitos komandos.
[ - leidžia judėti aukštyt tekste.
{ - sukeičia langus vietomis
https://github.com/tmux-plugins/tpm - Papipdinių programa.
Įrašome šį failą:
$ nano ~/.tmux.conf
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
Ctrl + B + Ctrl-s - Sesijos saugojimas
Ctrl + B + Ctrl-r - Sesijos atstatymas
Nuorodos:
euro-python2017 - tmux tutorialas anglų kalba.
https://www.youtube.com/watch?v=5iXzqN8-34E
https://gist.github.com/MohamedAlaa/2961058 - sheatsheet anglų kalba
https://gist.github.com/MohamedAlaa/2961058 - tmux pamokos githube, anglų kalba.
$ tmux list-session
0: 1 windows (created Tue Aug 19 10:40:37 2014) [112x26] (attached)
radija: 1 windows (created Tue Aug 19 10:36:13 2014) [112x26] (attached)
Prisijungimas naujausios sesijos:
$ tmux attach
Prisijungimas prie sesijos:
$ tmux attach -t 0:
Klavišų siuntimas į sesiją:
$ tmux send-keys "*" -t radija
Sesijos išjungimas:
$ tmux kill-session -t radija
Visų sesijų išjungimas
$ tmux kill-server
Nuspaudus
d - atsijungti nuo sesijos.
& - uždaro langą.
s - rodo visas sesijas.
% - padalinimas vertikalus.
" - padalinimas horizontalus.
o - sekantis langas.
<- / -> - ankstesnis/sekantis langas
x - uždaro langą
p/n - ankstesnis/sekantis sesijos langas
z - priartina pasiriktą langą/atstato langus (fullscreen)
: resize-pane -D 20 (Sumažina padalinta langą 20 vienetų)
: resize-pane -U 20 (Praplečia padalintą langą 20 vienetų)
c - sukurti naują sesijos langą.
$ - sesijos lango pervadinimas.
0-9 - sesijos langų navigacija.
q - leidžia pasirinkti langą.
w - rodo visus sesijos langus.
? - pagalba, kitos komandos.
[ - leidžia judėti aukštyt tekste.
{ - sukeičia langus vietomis
Priedai
Sesijų atkūrimas:https://github.com/tmux-plugins/tpm - Papipdinių programa.
Įrašome šį failą:
$ nano ~/.tmux.conf
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
run '~/.tmux/plugins/tpm/tpm'
Pasileidus tmux sesiją paleidžiame komandą:
$ tmux source ~/.tmux.conf
Nuėjus į tmux sesija belieka nuspausti šią kombinaciją ir papildinys bus atsiųstas.
Ctrl+B+I (Būtinos didžiosios raidės)
Enable mouse controls:
set -g mouse on
Nuorodos:
euro-python2017 - tmux tutorialas anglų kalba.
https://www.youtube.com/watch?v=5iXzqN8-34E
https://gist.github.com/MohamedAlaa/2961058 - sheatsheet anglų kalba
https://gist.github.com/MohamedAlaa/2961058 - tmux pamokos githube, anglų kalba.
screen
$ screen -list
$ screen -ls #Arba
There are screens on:
14762.pts-26.sup-desktop (2016.07.04 09:37:34) (Attached)
13797.pts-21.sup-desktop (2016.07.04 09:32:50) (Attached)
14762.pts-26.sup-desktop (2016.07.04 09:37:34) (Attached)
13797.pts-21.sup-desktop (2016.07.04 09:32:50) (Attached)
Prisijungimas prie sesijos:
$ screen -r <id>
Prisijungti prie tos pačios sesijos gali keli vartotojai su -x parametru:
$ screen -x 14762.pts-26.sup-desktop Paprastai screen sesijoje neleidžia judėti slankikliu ar ratuku, todėl galima naudoti šią komandą:
Kaip padalinti į kelias dalis ?
Priedas
PS1 informacija, leidžianti geriau atpažinti screen ir tmux langus.Pridedam prie .bashrc failo:
#Tikrinam ar tai screen sesija
if [ -n "$STY" ]; then
export num=`echo ${STY} | awk -F. '{print $1}'`
export PS1="(screen $num) $PS1";
fi
#Tikrinam ar tai tmux sesija
if [ -n "$TMUX" ]; then export PS1="(tmux) $PS1"; fi
.screenrc nustatymai
Šie nustatymai leis keisti langus su F5, F6 ir judėti slenkančiu tekstu.
caption always # activates window caption caption string '%{= wk}[ %{k}%H %{k}][%= %{= wk}%?%-Lw%?%{r}(%{r}%n*%f%t%?(%u)%?%{r})%{k}%?%+Lw%?%?%= %{k}][%{b} %d/%m %{k}%c %{k}]' # good looking window bar bindkey -k k5 prev # F5 for previous window bindkey -k k6 next # F6 for next window