SSH-val ablaknyitás

Fórumok

Sziasztok!

SSH-val szeretnék egy ablakot nyitni egy kubuntu lucidos gépen az éppen bejelentkezett felhasználó asztalán. Mivel 2 en hazsnáljuk a gépet felváltva, így nem gond hogy mindig csak egy ember legyen bejelentkezve. Valami olyat szeretnék hogy be ssh-zok a gépre, kiadok valami parancsot, a bátyám asztalán pedig megjelenik egy terminál és abban meg pár sor szöveg. Inkább látványos lenne mint hasznos, csak érdkel hogy megvalósítható-e.

Válaszotokat köszönöm :)

root-tech.blogspot.com

Hozzászólások

Elvileg:
- Ha beléptél, a shellben kell egy DISPLAY környezeti változó (echo $DISPLAY). Ha nincs:

export DISPLAY=:0

- A távoli gépen kell legyen jogod ablakot nyitni. Ezt szoktuk előre venni, de mivel most távolról adod meg, és ennek is kell a DISPLAY változó, ezért most második lépésként adjuk meg. Minden jog mindenkinek:

xhost +

- mehet, pl.

xclock &

Szerintem.

Kipróbáltam, az xhost + ra nem reagál, de az xclock & nál elindul egy új folyamat a célgépen, viszont semmi felbukkanó terminálablak :( és a folyamat is leáll magától egy ilyen hibaüzenettel : Error: Can't open display: 192.168.14.1:0.0
A display változóba a 192.168.14.1:0.0 át tettem, így fogadta el.

Root-Tech

Mit jelent az, hogy nem reagál? Kiír valamit?

xhost-ot azon a gépen kell futtatni, ahol az X-szerver fut (ahol a képernyő van). Az a felhasználó tudja futtatni, aki az X-et indította.

Terminálablak nem fog felbukkanni, ha xclock-ot indítasz.

IP-cím akkor kell a DISPLAY változóba, ha másik gépen akarod, hogy megjelenjen, mint amelyiken a shell fut. Itt szerintem nem ez a helyzet. (Bár nem írtad, hogy a fenti IP-cím melyik gépé.)

> /dev/ttyx

szerk:
tévedtem, ezzel a módszerrel csak adott konzolra tudsz küldeni programkimenetet (pl. kinyomod a konzolt a gui-ra: konsole > /dev/tty7 (vagy amelyiken a gui éppen működik).
pl. alsamixer > /dev/tty2 # a kettes konzolon nyitja meg az alsamixert...

A ,,kettes konzolon nyitja meg'' az túlzás; jobb volt az a megfogalmazás, hogy oda küldi a kimenetét. Interaktív programokat (pl. curses-esek) viszont így nem nagyon lehet használni, illetve viccesebb. :) Nem csak azért, mert a bemenet az eredeti helyén marad, hanem mert legtöbbször ezek kikapcsolják a kanonikus módot a terminálon.

Ha csak üzenetet szeretnél megjeleníteni, akkor arra egészen biztosan tudom, hogy van egy parancs, ami egy leOKézható ablakban kidobja a felhasználónak, amit konzolon írtál. korábban már szerepelt itt a HUP-on is. Ha megtalálom, megírom, most nem ugrik be a parancs, de biztosan létezik, sőt használtam is.

Szerk.:
Megvan, a parancs:

xmessage -display :0.0 "Hello user!"

tibi@nvidia:~$ sudo xmessage -display :0.0 "Hello user"
[sudo] password for tibi:
No protocol specified
Error: Can't open display: :0.0

Ezt kapom válaszként :( Próbálgattam ez előző hozzászólásokat is, de pl. az alsamixeresnél azt írja hogy hozzáférés megtagadva, sudo val is ugyanez...

Root-Tech

ez azér csak jelent neked is valamit nem?
Error: Can't open display: :0.0

Xauth?????

Te most a lokális gép 0-dik displayének 0-dik screenjére akarod kirakni xmessage-el, az üzenetet. Amire viszont a privilegizált felhasználónak nincsen joga, hiszen az a display a tiéd. Meg kellene mondanod, hogy a Te display-edhez a privilegizált felhasználó, vagy akárki is hozzáférhet. Akkor ki tudnád rakni lokálisan saját magadnak a saját displayed saját 0-dik screenjére.

De mintha Te nem ezt akarnád igazán. Vagy én értem félre?

en hasonlo cipoben jartam egy ideig.
ha tudod az o jelszavat akkor
ssh -CX batyo@gepnev xmessage "Ez a felugro ablak uzenete"

ha nem tudod, akkor
ssh gepnev
export DISPLAY=:0.0
sudo xhost +
xmessage "Ez a felugro ablak uzenete"

Ezt az üzenetet kaptam rá:

tibi@nvidia:~$ export DISPLAY=:0.0
tibi@nvidia:~$ sudo xhost +
[sudo] password for tibi:
No protocol specified
xhost: unable to open display ":0.0"
tibi@nvidia:~$ xmessage "Ez a felugro ablak uzenete"
No protocol specified
Error: Can't open display: :0.0

Root-Tech