Ciągle używam GNU Screen. Ale próbowałem dowiedzieć się, czy jest jakiś sposób, aby aplikacje X11 przesuwały się po ekranie, gdy przesyłam ssh (czy to słowo?). Obecnie, jeśli spróbuję uruchomić „gedit” na ekranie, otwiera się on na moim komputerze „serwerowym”, a nie na moim kliencie. Jeśli zrobię to samo poza ekranem, wszystko będzie w porządku. Ale chcę, aby wszystko było w porządku, gdy używam ekranu!
Dzięki!
PS: Przejrzałem problem i widzę wzmiankę o xmove, ale nie mogę znaleźć pakietu zawierającego xmove na moim Ubuntu. (ubuntu 10.10)
command-line
ssh
gnu-screen
Sandro
źródło
źródło
Odpowiedzi:
Aby to zrobić ręcznie, po włączeniu SSHed, ale przed ponownym podłączeniem do ekranu, sprawdź zmienną środowiskową DISPLAY:
Po ponownym podłączeniu do ekranu wyraźnie ustaw zmienną środowiskową:
gdzie : N.0 jest tym, co
echo
pokazano przed załączeniem. Nie będzie to idealne, ponieważ niektóre aplikacje mogą oczekiwać rozmowy z S-Bus D-Bus, która jest nieco bardziej skomplikowana do wysłania przez połączenie SSH.źródło
echo $DISPLAY > $HOME/.display.txt; screen -x -d
a potem kolejny na ekranie, który działaexport DISPLAY=$(cat $HOME/.display.txt)
. /path/to/script
gdziescript
jestexport DISPLAY=$(cat $HOME/.display.txt)
w repozytoriach jest program o nazwie xpra, to jest jak ekran GNU dla X11. nie jest zbyt ciężko pracować z:
X Trwałe aplikacje zdalne
Xpra zapewnia funkcjonalność GNU Screen dla aplikacji X.
Pozwala użytkownikowi przeglądać zdalne aplikacje X na swoim komputerze lokalnym oraz rozłączać i ponownie łączyć się z komputerem zdalnym bez utraty stanu uruchomionych aplikacji.
źródło
Byobu automatycznie ponownie łączy agentów ssh i gpg. Mógłbym sprawić, by ponownie przymocował zmienną display, jeśli jest to pomocne ...
źródło
Tak to działało, kiedy uruchomiłem byobu
Dodaj ten wiersz w .bash_login przed wierszem „_byobu_source ..”:
A następnie dodaj ten wiersz do .bashrc :
źródło
Wygląda na to, że problem polega na tym, że zmienna środowiskowa XAUTHORITY nie jest zachowywana w sesji ekranowej. Rozwiązałem ten problem, dodając następujące elementy do mojego .bashrc. Nie sądziłem, że powinno to być konieczne, ale myślę, że robisz to, co musisz:
Nie oczekuję, że będzie to najlepsze lub najbardziej zwięzłe rozwiązanie, ale działa.
źródło
FreeNX to wspaniała aplikacja do pracy ze zdalnymi wyświetlaczami.
źródło
Na podstawie sugestii @harre uznałem, że jest to najlepsze działające rozwiązanie, przynajmniej dla RHEL za pośrednictwem Putty. Wiem, że istnieje lepszy sposób niż utworzenie pliku zawierającego var, ale działa to poza bramą, aby uzyskać
X11
dostęp do plikuDISPLAY
po załadowaniu przezgnu screen
.Zautomatyzowane rozwiązanie
Dodaj do
.bashrc
(lub.bash_profile
, w zależności od przypadku użycia)Następnie dodaj następujący plik (lub swój wybór ścieżki)
źródło