Käynnistän gnu-näytön automaattisesti, kun ssh yhdeksi omissa palvelimissani. Kun olen valmis, minun on irrotettava. Lopeta sitten sulkeaksesi ssh: n. Tämä tarkoittaa, että kun palaan palvelimeen uudelleen jossain vaiheessa, voin jatkaa siitä, mihin jäin.

Voinko luoda aliaksen (esimerkiksi), joka (ruudulta) irrottaa ja pudottaa ssh: n?

Kommentit

  • Kuinka käynnistät automaattisesti screen

vastauksen

Aloitetaan screen, kun kirjaudut sisään etäisäntään (suoritetaan paikallisella koneellasi):

ssh -t user@host screen 

Näytössä istunnon etäisännässä irrota ja kirjaudu ulos (mikä lopettaa SSH-istunnon, ellet käytä pysyvää yhteyttä ohjausliitännän kautta (ts. ControlMaster -asetusta ControlPersist ryhmässä ~/.ssh/config)):

screen -d 

Kirjaudu sisään myöhemmin ja liitä uudelleen:

ssh -t user@host screen -r 

Huomaa, että sinun on käytettävä -t kanssa ssh pakottaen pseudoterminaalin allokoinnin aloittamaan screen tällä tavalla.

Etäkoneen aliakseksi tulee f tai screen -d, ehkä detach="screen -d" tai jotain vastaavaa.

Paikallisessa isännässä sinulla voi olla osa ~/.ssh/config -tiedosto sanomalla

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

Sitten, kun käytät

ssh myhost-screen 

screen -istunto luodaan (tai liitetään uudelleen) määritettyyn isäntään, kun taas

ssh myhost 

ei käytä screen.

Huomaa: RemoteCommand lisättiin OpenSSH 7.6: een (2017 -10-03).


Mille tmux:

  • Käytä tmux new-session -A -s "%n" kohdassa ~/.ssh/config screen -d -R: n sijaan.
  • Käytä etuliite d tai tmux detach-client tai tmux detach irti.

Kommentit

  • Hienoa, thx. Kotona tämä toimii hyvin. En tiennyt ' pseudo-tty-varauksen pakottamisesta '. Testasin tämän ja se toimii.

Vastaa

Kun suoritat näyttökomennon näytön palauttamiseksi tai luomiseksi , jälkeen lisätään tapaus sinusta vanhemman kuoresta, jotta voit tappaa sinut ssh-yhteyden.

esimerkki vanhempani prosessin tappamisesta, jos vanhempi on bash

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

Kommentit

  • Thx. Jos saapun sisään mistä tahansa, mistä en voi määritellä suoritettavaa sovellusta (kuten online-ssh app.shellngn.com ), ja muutan koodirivisi etsi ssh-istuntoja, tämä toimii.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *