Automaticky spustím obrazovku gnu, když ssh do jedné na svých vlastních serverech. Až budu hotový, musím se oddělit. Poté ukončete ssh. To znamená, že když se v určitém okamžiku znovu připojím na server, mohu pokračovat tam, kde jsem přestal.

Mohu vytvořit například alias, který (z obrazovky) odpojí a vypustí ssh?

Komentáře

  • Jak automaticky spustíte screen

odpověď

Spuštění screen při přihlášení ke vzdálenému hostiteli (provedeno na místním počítači):

ssh -t user@host screen 

Na obrazovce relace na vzdáleném hostiteli k odpojení a odhlášení (což by ukončilo relaci SSH, pokud nepoužíváte trvalé připojení pomocí ovládacího soketu (tj. pomocí nastavení ControlMaster s ControlPersist in ~/.ssh/config)):

screen -d 

Později se přihlásit a znovu připojte:

ssh -t user@host screen -r 

Všimněte si, že musíte použít -t s ssh, vynucení přidělení pseudoterminálu, aby se screen spustilo tímto způsobem.

Alias na vzdáleném hostiteli by byl f nebo screen -d, možná detach="screen -d" nebo něco podobného.

Na místním hostiteli můžete mít sekci ve svém ~/.ssh/config soubor říká

Host *-screen RequestTTY force RemoteCommand screen -d -R Host myhost myhost-screen HostName myhost.somedomain.example.com User myname 

Potom, kdykoli použijete

ssh myhost-screen 

a screen relace bude vytvořena (nebo znovu připojena) na zadaném hostiteli, zatímco

ssh myhost 

nepoužije screen.

Poznámka: RemoteCommand byl přidán do OpenSSH 7.6 (2017 -10-03).


Pro tmux:

  • Použijte tmux new-session -A -s "%n" v ~/.ssh/config místo screen -d -R.
  • Použijte prefix d nebo tmux detach-client nebo tmux detach k odpojení.

Komentáře

  • Pěkné, thx. Doma to bude fungovat skvěle. Nevěděl jsem o ' Vynutit přidělení pseudo-tty '. Testoval jsem to a funguje to.

Odpovědět

Když spustíte příkaz obrazovky k vyvolání nebo vytvoření obrazovky , Po přidáte zabití rodičovského prostředí, takže zabijete ssh připojení.

příklad, jak zabít můj rodičovský proces, pokud je rodičem bash

kill $( ps -ax -o pid,ppid,args | grep "^$$ " | grep bash | awk "{print $2} " ) 

Komentáře

  • Thx. Pokud se ssh přihlásím odněkud, kde nemohu určit aplikaci, která se má spustit (jako online ssh app.shellngn.com ), a upravím váš řádek kódu na podívejte se na ssh relace, bude to fungovat.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *