Automatikusan elindítom a gnu képernyőt, amikor a saját szerveremen eggyé válok. Ha elkészültem, le kell válnom. Ezután lépjen ki, hogy kilépjen az ssh-ből. Ez azt jelenti, hogy amikor egy bizonyos ponton újra belépek a szerverbe, ott folytathatom, ahol abbahagytam.

Létrehozhatok egy álnevet (például), amely (a képernyőn belülről) leválasztja és eldobja az ssh-t?

Megjegyzések

  • Hogyan lehet automatikusan elindítani screen

Válasz

A screen indítása a távoli gazdagépen történő bejelentkezéskor (a helyi gépen végrehajtva):

ssh -t user@host screen 

A képernyőn a távoli állomáson lévő munkamenet leválasztására és kijelentkezésére (ami az SSH munkamenetet befejezné, hacsak nem használ állandó kapcsolatot egy vezérlőaljzaton keresztül (azaz a ControlMaster beállítást használja ControlPersist itt: ~/.ssh/config)):

screen -d 

Később a bejelentkezéshez és csatolja újra:

ssh -t user@host screen -r 

Ne feledje, hogy a -t -t a , az ál-terminál kiosztás kényszerítésével a screen ilyen módon történő elindításához.

Az alias a távoli gazdagépen f vagy screen -d, esetleg detach="screen -d" vagy valami hasonló.

A helyi gazdagépen lehet egy szakasz a ~/.ssh/config fájl mondása

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

Ezután, amikor használja a

ssh myhost-screen 

screen munkamenet jön létre (vagy csatolódik hozzá) a megadott gazdagépen, míg

ssh myhost 

nem használná a következőt: screen.

Megjegyzés: RemoteCommand hozzáadva az OpenSSH 7.6 verziójához (2017) -10-03).


tmux esetén:

  • Használja a tmux new-session -A -s "%n" itt: ~/.ssh/config a screen -d -R helyett.
  • Használja a prefix d vagy tmux detach-client vagy tmux detach leváláshoz.

Megjegyzések

  • Szép, thx. Otthon ez remekül fog működni. Nem tudtam a ' pseudo-tty kiosztás kényszerítéséről '. Ezt teszteltem, és működik.

Válasz

Amikor végrehajtja a képernyőn megjelenő parancsot a képernyő előhívására vagy létrehozására , A után felvesz egy megölést szülőhéjból, így megöli az ssh kapcsolatot.

példa a szülői folyamat megölésére, ha a szülő bash

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

Megjegyzések

  • Thx. Ha olyan helyről érkezem be, ahonnan nem tudom megadni a futtatni kívánt alkalmazást (például az online ssh app.shellngn.com ), és módosítom a kódsorát keresse meg az ssh munkameneteket, ez működni fog.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük