HOWTO: Display 'Windows' X programů na vzdálených počítačích prostřednictvím spediční 'X' připojení přes ssh
Účel: Mnohokrát vám může být v situaci, kdy potřebujete zobrazit / spustit programy (typicky 'X Windows' program) na vzdáleném počítači from svého hostitele (nebo aktuální) stroj.
Scénář: Let první set-do scénáře, aby lépe pochopili tento příklad
Stroj 1 - je to stroj, na kterém chcete zobrazovat program / okno Machine2
IP adresa stroje 1 - 192.168.0.100
Stroj 2 - je stroj, jehož displeji se budete dopředu na stroj 1
IP adresa stroje 1 - 192.168.0.200
Dále, já jsem za předpokladu, že oba stroje mají Debian (Etch nebo Lenny) instalovaný s 'X Windows', 'xdm' přihlašovací jesličkami a fluxbox. Ačkoli je možné mít jakýkoli displej nebo správce oken dle Vaší volby (Xfce, GNOME, KDE, atd.)
Krok 1:
Na stroj 1 proveďte následující kroky:
a) Pokud používáte xdm jako správce přihlášení do:
# nano /etc/X11/xinit/xserverrc
Měla by vypadat takto:
#!/bin/sh
# $Id: xserverrc 189 2005-06-11 00:04:27Z branden $
exec /usr/bin/X11/X -nolisten tcp
Nyní odstraňte řádek "-nolisten tcp", která v podstatě říká, X, aby "TCP" spojení na sebe (stroj 1).
Jen odhlásit a přihlásit zpět k aktivaci výše uvedené nastavení.
b) Pokud používáte GDM jako správce přihlášení do:
i) Odhlásit
ii) Jdi na "Akce-> Konfigurace správce přihlášení-> <Zadejte heslo> -> Zabezpečení"
Un-li zkontrolovat možnost "Zakázat TCP spojení k Xserveru" takhle:

Zrušte zaškrtnutí políčka Zakázat TCP spojení
Klepněte na tlačítko "OK" a znovu přihlásit do systému (GNOME / KDE / Fluxbox)
iii) dává následující příkaz z terminálu:
#xhost + <ip-address-of-machine2>
Příklad:
# Xhost + 192.168.0.100
192.168.0.148, že byla přidána do access control list
Krok 2:
Na stroj 2, uveďte následující příkaz:
# export DISPLAY=<ip-address-of-machine 1>:0.0
Příklad:
# Export DISPLAY = 192.168.0.100:0.0
# Echo $ DISPLAY
192.168.0.100:0.0
Výše uvedené kroky vypráví X Window systém, že všechny displeje by měly být vyvážené, aby stroj, jehož IP adresa je 192.168.0.100 na to výkladní skříň '0 '
Krok 3:
Ze stroje 2, spustit libovolný 'X' založený utility. Rozhodl jsem se spustit 'xclock', který v podstatě se zobrazí malé okno hodiny.
# xclock
A teď kouzlo se stane. Za normálních okolností byste viděli na displej na stejném stroji (stroj 2), ale hej, počkej ... ... .... Podívejte se na obrazovce stroje 1 ... ... měli byste být schopni vidět hodiny tam ....

Krok 4: (nepovinné Method)
Místo toho, aby Krok 3 můžete také dosáhnout stejného následujícím způsobem:
# ssh -X root@<ip-address-of-machine2>
Example:
# ssh -X root@192.168.0.200
To vám umožní přihlášení do shellu na stroj 2. Teď dát příkaz 'xclock':
Machine2># xclock
Jako obvykle, prosím, napsat komentář a zpětnou vazbu, pokud máte nějaké. Komentáře podporuje bloggerů na post více a udržet jejich vysokou lihovin.
Také nezapomeňte na tento příspěvek níže.










19.února 2009 v 08:07
Mám Fedora 7 nainstalován na mém system.I snažím spustit program C s grafikou SDL, který načte obrázek a zobrazí it.I chcete zobrazit obrázek na vzdálených machine.I přihlášení přes rsh.i jsem schopen vykonat xeyes, ale Když jsem spustit tento program, že mi dává chybu SDL rčení video režim nemohl být initialised.please pomoci ...
Díky předem
Odpovědět na tento komentář
Kushal Odpověď:
24.února 2009 v 01:07
Ahoj Shankar,
Děkujeme Vám za Váš komentář!
Vypadá to, že vaše systémy jsou nastavení pro zobrazení vzdálených aplikací. Můžete vložit přesnou chybovou zprávu, že jste získali? Nejsem expert v C / grafiku SDL věci, ale může být vidět přesnou chybovou zprávu může dát nějaké další stopy.
Odpovědět na tento komentář
24.února 2009 v 3:29 pm
Díky za odpověď Kushal.
Jsem přišel na to, v čem je problém. Můj program byl schopen nastavit zobrazovací zařízení pro vzdálený stroj. Když jsem změnil proměnnou DISPLAY Byl jsem schopen dostat výstup ....
Díky za tvůj čas
Shankar
Odpovědět na tento komentář