Jak połączyć się z istniejącą sesją X bez odblokowywania fizycznego wyświetlacza?

16

Zazwyczaj zostawiam wiele programów działających na mojej stacji roboczej i czasami muszę z nich korzystać zdalnie. Muszę więc połączyć się z istniejącą sesją X, jednocześnie cały czas trzymając fizyczny wyświetlacz (monitor stacji roboczej).

Próbowałem vino (vino-server & vinagre jako klient), ale otwierają nową, pustą sesję X, więc nie daje mi dostępu do uruchomionych aplikacji.

Próbowałem również x11vnc, ale wygląda na to, aby odblokować fizyczny ekran i pozostawić odblokowany (!) Po zakończeniu klienta, więc mamy problem z bezpieczeństwem ...

Na obu końcach działa Ubuntu 12.04 z domyślnym GUI, więc żadne rozwiązanie specyficzne dla GNOME nie będzie działać (aplety itp.).

Idealne rozwiązanie powinno dać mi dostęp do wszystkich programów działających na obu monitorach i kilku „wirtualnych pulpitach”. Które mogą wymagać przechwycenia specjalnych klawiszy, takich jak Crtl + [liczba] i Alt-TAB.

Alternatywnie ... jeśli można ssh -Xprzesłać przez okno istniejące okno (program już uruchomiony) , będzie to dobre obejście.

EDYCJA: x1vnc, nie „x11server” oczywiście ...

sfp
źródło
Częściowe rozwiązanie znalazłem tutaj: karlrunge.com/x11vnc/faq.html#faq-gone-lock
sfp
Częściowe rozwiązanie znalazłem na stronie autora x11vnc, ale nie jestem pewien, czy działa z wyświetlaczem LCD. Jak to działa? Program monitoruje ustawienia blokowania programu w trybie wyłączenia DPMS (standard dla monitorów CRT; wyłączony - oszczędzanie energii) i szuka kilka razy na sekundę, jeśli to się zmieniło. Jeśli tak - wykonuje polecenie takie jak „włącz wygaszacz ekranu”. Więc ekran powinien być czarny lub zablokowany (również dla zdalnego użytkownika vnc).
sfp
Pamiętaj, że możesz częściowo rozwiązać problem odblokowania ekranu, uruchamiając go po zakończeniu DISPLAY=:0 gnome-screensaver-command -l. Jednak ekran będzie nadal odblokowany na czas trwania sesji.
Michael Mior

Odpowiedzi:

10

O ile mi wiadomo, nie jest możliwe przekazywanie już istniejących okien przez SSH.

Proponuję pójść po x11vnc. Być może trzeba go najpierw zainstalować. To polecenie powinno umożliwić jednorazowy serwer VNC bez hasła, który udostępnia bieżący pulpit (kto pierwszy, ten lepszy):

x11vnc -noxdamage -display :0 -safer -nopw -once -xrandr

Konieczne może być dostosowanie wyświetlacza. Można go również uzyskać programowo, używając interfejsu dbus ConsoleKit, ale to zbyt duży problem i przez :0większość czasu jest w porządku. Jeśli to nie zadziała, po prostu użyj :1i tak.

Jest to przydatne, ponieważ można go uruchomić z sesji SSH z innego miejsca, tylko wtedy, gdy jest to potrzebne.

Jorge Suárez de Lis
źródło
Próbowałem x11vnc, tylko błędnie wpisałem podczas przygotowywania pytania. Poprawione W każdym razie ... Nie widzę, jak te opcje ratują mnie przed odblokowaniem ekranu.
sfp
2

Powinieneś rzucić okiem na x2go i po prostu połączyć się z „Connection to Local Desktop” zamiast określać menedżera okien lub środowisko pulpitu.

Używa SSH, więc po zainstalowaniu i uruchomieniu serwera na stacji roboczej powinieneś być w stanie połączyć się z nim za pomocą x2goclient, jeśli możesz już na nim SSH.

Rzeczywistość
źródło
Nie, odblokowuje to lokalny pulpit.
Robert Pollak
1

Powinieneś spojrzeć na X11RDP .

To naprawdę świetna aktualizacja Xrdp, a ponadto możesz dostosować zachowanie w razie potrzeby. Miałem takie same problemy jak twoje wcześniej i instaluję x11rdp i edytuję plik xrdp.conf, aby umożliwić logowanie do poprzedniej sesji ... W każdym razie sprawdź stronę i wypróbuj wersję 7. Facet tam "Kevin Cave" jest genialny, a teraz dokonał aktualizacji, abyś mógł zainstalować x11rdp jako pakiety Debiana.

Maythux
źródło