A screen egy terminal multiplexer. Gondolom mindenki találkozott már vele, én is gyakran használom ha például félek attól, hogy megszakad az ssh kapcsolat egy másolás közben, vagy pedig szeretnék valamit a háttérben futtatni linux szerveren. Az elmúlt héten arra kerestem megoldást, hogy lehetne egy interactive shell-t távolról vezérelni scriptek segítségével.(erre azért van szükségem,mert az egyik daemon amit scripttel szeretnék vezérelni csak interactive módban tud működni) A megoldás a screen lett, és az ftp programon keresztül szeretném demonstrálni.
Telepítsük a screen-t és az ftp-t.
apt-get install screen
apt-get install ftp
indítsunk egy screen-t és benne egy ftp-t interactive módban:
xcke@X-Media:~$screen
xcke@X-Media:~$ ftp
ftp>
ftp> help open
open connect to remote ftp
ftp>
Küldjük háttérbe a screen-t: ctrl+a+d
[detached]
xcke@X-Media:~$
A háttérben lévő screen azonosítója:
xcke@X-Media:~$ screen -ls
There is a screen on:
7097.pts-3.X-Media (Detached)
1 Socket in /var/run/screen/S-xcke.xcke@X-Media:~$
Nyissunk kapcsolatot az ftp-vel (interactive mód!)
xcke@X-Media:~$ screen -S 7097 -X eval ’stuff “open 192.168.0.1″\015′
xcke@X-Media:~$ screen -S 7097 -X eval ’stuff “anonymous”\015′
xcke@X-Media:~$ screen -S 7097 -X eval ’stuff “alma@almafa.hu”\015′
xcke@X-Media:~$ screen -S 7097 -X eval ’stuff “close”\015′
A megfelelő screen-t a -S kapcsolóval azonosítjuk, a stuff “szöveg” -el küldünk üzenetet a shellre (mintha begépelnénk), és a “\015″ -nek köszönhetően “entert is nyomunk”. Több paramétert is használhatunk
xcke@X-Media:~$ screen -S 7097 -X eval ’stuff “open”\015′ ’stuff “192.168.0.1″\015′
Az eredmény:
xcke@X-Media:~$ screen -r
ftp> open 192.168.0.1
Connected to 192.168.0.1.
220 Welcome to the WL500gP FTP service.
Name (192.168.0.1:xcke): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> close
221 Goodbye.
ftp>
Popularity: 11% [?]
Related posts:

























None
4 Responses for "Screen remote controll"
Aha, nem értettem meg, pedig elolvastam.
Nos, melyik részét nem? Kérdezz
)
Arra is van lehetőség, hogy egy már futó ssh kapcsolat képernyőjét átvegyem?
Ugyan is távolról elindítottam egy hosszú műveletet, de szeretném, ha most már helyileg látnám (és folytathatnám).
Köszi!
Igen van (már ha screen-be indítottad). Ha nem screen-be, akkor nem hiszem hogy látni tudod – de még azt is el tudom képpzelni hogy ez is megoldható (google:)
Ha screen-be indítottad:
screen -ls
és
screen -S PID -X
Üdv,
Leave a reply