Jak uzyskać dostęp do mojego zdalnego serwera Ubuntu za pośrednictwem X-Windows z mojego komputera Mac?

35

Mam serwer Ubuntu (12.04 LTS) działający zdalnie w usłudze hostingowej w chmurze. Zainstalowałem ubuntu-desktopprzez apt-get:

$ sudo apt-get install ubuntu-desktop

Wygląda na to, że nie zainstalował żadnego problemu.

Potwierdziłem, że /etc/ssh/ssh_configna serwerze zawiera linie

ForwardAgent yes
ForwardX11 yes
ForwardX11Trusted yes

i że /etc/ssh/sshd_configna serwerze zawiera wiersz:

X11Forwarding yes

Następnie ponownie uruchomiłem serwer. Wrócił bez problemu.

Teraz, uruchamiając X11.app na moim Macu, otrzymuję Xterm.

Łączę się z moim serwerem z tego terminala za pomocą:

$ ssh -X <myhost>

i łączę się z serwerem, nie ma problemu.

W tym momencie nie wiem co robić. próbowałem

$ sudo startx

ale pojawia się błąd „nie znaleziono ekranów”.

Nie mam ekranów, ponieważ jest to bezgłowy serwer w chmurze, ale chcę tylko uzyskać do niego dostęp z komputera Mac za pośrednictwem X.

Co teraz?

Magooda
źródło
2
Spróbuj zainstalować xvfb. Nie mam z tym doświadczenia, ale działa jak ekran bez sprzętu.
ζ--

Odpowiedzi:

21

Można to osiągnąć na kilka sposobów, w zależności od tego, co naprawdę musisz zrobić.

Aby przekazać zdalne aplikacje do lokalnego środowiska X, musisz zainstalować X11 na komputerze Mac (można go znaleźć w witrynie pomocy technicznej Apple): http://support.apple.com/kb/DL1605?viewlocale=en_US&locale=en_US

W aplikacji X11 otwórz terminal, a następnie uzyskaj dostęp do zdalnego hosta za pomocą:

    ssh -XC user@host

Następnie po zalogowaniu uruchom polecenie żądanej aplikacji, np .: firefox, nautilus, thunderbird, cokolwiek ...

Możesz nawet uruchomić tylko system (Ubuntu, Xubuntu, Mint itp.) Menu główne i stamtąd wchodzić w interakcje z systemem zdalnym, bez potrzeby pełnego graficznego interfejsu użytkownika. Na zdalnym env Linux Mint po prostu uruchamiam:

    mintmenu&

Jeśli naprawdę tego potrzebujesz, możesz nawet uruchomić zdalne środowisko graficzne lokalnie na komputerze Mac X11, po prostu uruchamiając:

    ubuntu-session
    xubuntu-session
    etc... (depends of your remote environment)

Lepszy niż jakikolwiek VNC, nawet lepszy niż połączenie X11VNC! Bezpieczne i skompresowane połączenie FTW.

undertuga
źródło
7

Na komputerze Mac musisz zainstalować XQuartz, jeśli jeszcze tego nie zrobiłeś (zobacz http://xquartz.macosforge.org ). Po zainstalowaniu uruchom ponownie i otwórz okno terminala XQuartz i SSH do systemu Ubuntu Server:

ssh -X yourubuntuserver

Jeśli lightdm jest uruchomiony (zobacz https://askubuntu.com/a/153423/66799, aby dowiedzieć się, jak włączać i wyłączać w razie potrzeby), uruchom to polecenie, aby uzyskać dostrojenie systemu Ubuntu Unity do komputera Mac przez X11:

gnome-session --session=ubuntu-2d

Działa to dla mnie z Ubuntu Server 12.04 LTS i Mac OS X Mountain Lion 10.8.2, ale czasami dostaję błędy Composiz. To powiedziawszy, zawsze mam błędy Composiz podczas lokalnego uruchamiania Ubuntu Desktop. (-:

Możesz wylogować się z Unity, aby zamknąć okna pulpitu Ubuntu.

Steve HHH
źródło
To działa, XQuartx jest konieczny.
SmallChess
Działa świetnie na Windows 10 w WSL z Xming do wyświetlania.
Ostry
-1

Masz dobry pomysł, ale złą składnię :)

startxnie zacznie się sshtak od nowa , ponieważ potrzebuje ekranu (zwanego także Xserwerem, z którym można rozmawiać)

wypróbuj to polecenie, aby uruchomić GUI na pulpicie

sudo service gdm start

to uruchomi środowisko pulpitu.

rozłączyć się.

i próbuj

ssh -X nautilus username@host 

notatka nie testowała się powyżej linii

Jeśli wszystko działa poprawnie, powinieneś zobaczyć wyskakujące okienko menedżera plików ubuntu. Jeśli nie, możesz brakować niektórych bibliotek lub składnia polecenia jest nieprawidłowa (z góry mojej głowy nie próbowałem).

Matt Mootz
źródło
4
Nie ma potrzeby (ani powodu) do uruchomienia sudo service gdm start. Serwer X działa na kliencie SSH - maszyna jest używana jako stacja robocza. Do działania nie musi być uruchomiony na zdalnym komputerze ssh -X.
Eliah Kagan
Ach, nie byłem tego świadomy, dziękuję za informację.
Matt Mootz