Korzystam z przekazywania X11, sshaby uruchamiać aplikacje Linuksa na moim komputerze z systemem Windows, a gdy sieć spada, traci wszystko, co działało. Czy jest coś podobnego do screenX11?
Wyjaśniać. Dlaczego nie po prostu użyć screen? Czy XVNC? Uruchamiasz ekran na maszynie z Linuksem, a kiedy twoja sieć spada, połącz się ponownie i użyj, screen -DRaby ponownie dołączyć sesję.
nix
@nix Czy to zadziała dla aplikacji X?
Michał Mrożek
2
@nix Nie sądzę, że screendziała z aplikacjami GUI.
Istnieje również WinSwitch , który na pierwszy rzut oka wygląda, jakby integrował xpra i inne powiązane oprogramowanie.
Gilles 'SO - przestań być zły'
6
Szukasz VNC . Zasada jest nieco podobna do ekranu: uruchamiasz serwer VNC ( SCREENproces backgound ) i klienta VNC ( screenproces pierwszego planu ). Serwer VNC jest serwerem X, więc możesz na nim uruchamiać aplikacje X.
Uruchom serwer VNC na komputerze z systemem Linux i klient na komputerze z systemem Windows. Masz do wyboru kilka implementacji; jedną z możliwości jest TightVNC . TightVNC jest w wielu dystrybucjach Linuksa (jeśli nie jest w twoim, zainstaluj go lub wybierz inną implementację), i jest klient Windows.
Jeśli twoje dwie maszyny nie są bardzo blisko w sieci - jeśli między nimi jest zapora ogniowa lub ryzyko podsłuchu - musisz tunelować ruch VNC przez ssh. Poproś ssh o przekazanie lokalnego portu 5900 do zdalnego portu 5900 (5900 odpowiada wyświetlaczowi :0, użyj 5901 dla :1itp.).
W rzeczywistości możesz przesłać X do screen. Jedyną rzeczą do zrobienia jest, aby skonfigurować $DISPLAYw screenoknie tak, że jest to ta sama strona z niego.
Procedura
po ssh -Xw zdalnym komputerze wpisz
$ echo $DISPLAY
i zwykle kopiuj wynik localhost:N.0. Następnie wprowadź screenw screenoknie lokalnym
$ export DISPLAY=localhost:N.0
Następnie uruchom dowolny Xwymagany program w oknie ekranowym.
UWAGA: dla każdego screenokna zmienne środowiskowe są niezależne. Dlatego dla każdego okna może być konieczne skonfigurowanie go osobno.
Cześć Chong, witamy na unix.SE. Ponieważ szczegóły rozwiązania, które łączysz, są proste, lepiej jest je tutaj ponownie napisać. W ten sposób odpowiedź zostaje zachowana, jeśli coś się stanie z postem na askubuntu.com. Oczywiście dobrym pomysłem jest również utrzymywanie linku, ponieważ pomaga on w pozyskiwaniu materiału.
drs
2
Wypróbowałem to rozwiązanie, ale nie mogę zamknąć sesji ssh bez zabicia działającej aplikacji X. To w jakiś sposób podważa cel tego ... Jak powinienem odłączyć się od zdalnego hosta, pozostawiając działającą aplikację zdalną?
screen
? CzyXVNC
? Uruchamiasz ekran na maszynie z Linuksem, a kiedy twoja sieć spada, połącz się ponownie i użyj,screen -DR
aby ponownie dołączyć sesję.screen
działa z aplikacjami GUI.Odpowiedzi:
Widelec Xpra lub Xpra twierdzi, że jest dokładnie taki:
Od jakiegoś czasu go nie używałem, ale działało całkiem dobrze, gdy go wypróbowałem. Uruchom serwer na zdalnym komputerze:
Następnie podłączasz się do serwera z lokalnego komputera:
A teraz wszystko wyświetlane na X wyświetlaczu 13 na zdalnym komputerze pojawi się lokalnie:
źródło
Szukasz VNC . Zasada jest nieco podobna do ekranu: uruchamiasz serwer VNC (
SCREEN
proces backgound ) i klienta VNC (screen
proces pierwszego planu ). Serwer VNC jest serwerem X, więc możesz na nim uruchamiać aplikacje X.Uruchom serwer VNC na komputerze z systemem Linux i klient na komputerze z systemem Windows. Masz do wyboru kilka implementacji; jedną z możliwości jest TightVNC . TightVNC jest w wielu dystrybucjach Linuksa (jeśli nie jest w twoim, zainstaluj go lub wybierz inną implementację), i jest klient Windows.
Jeśli twoje dwie maszyny nie są bardzo blisko w sieci - jeśli między nimi jest zapora ogniowa lub ryzyko podsłuchu - musisz tunelować ruch VNC przez ssh. Poproś ssh o przekazanie lokalnego portu 5900 do zdalnego portu 5900 (5900 odpowiada wyświetlaczowi
:0
, użyj 5901 dla:1
itp.).źródło
W rzeczywistości możesz przesłać X do
screen
. Jedyną rzeczą do zrobienia jest, aby skonfigurować$DISPLAY
wscreen
oknie tak, że jest to ta sama strona z niego.Procedura
po
ssh -X
w zdalnym komputerze wpiszi zwykle kopiuj wynik
localhost:N.0
. Następnie wprowadźscreen
wscreen
oknie lokalnymNastępnie uruchom dowolny
X
wymagany program w oknie ekranowym.UWAGA: dla każdego
screen
okna zmienne środowiskowe są niezależne. Dlatego dla każdego okna może być konieczne skonfigurowanie go osobno.Referencje
źródło