Jaki jest najprostszy sposób na zdalny dostęp GUI do „serwera” Ubuntu 16.04 z „pulpitu” Ubuntu 16.04?

27

Próbuję dowiedzieć się, jaki jest „lekki” sposób konfiguracji mojego serwera LTS Ubuntu 16.04, aby miał dostęp przez GUI (opcjonalnie przez SSH). Chciałbym do niego dotrzeć z mojej stacji roboczej Ubuntu 16.04. Mam naprawdę słabą wiedzę na temat działania tych technik. Czytam o X11 i wydaje się, że można po prostu zainstalować serwer Xorg i włączyć przekazywanie X11 i to wszystko.

Ale w innych artykułach czytam, że wystarczy zainstalować wspólne pakiety pulpitu i nie trzeba instalować wszystkich rzeczy związanych z GUI. Więc jestem naprawdę zdezorientowany. Widzę też, że istnieje kilka metod, takich jak VNC, „zwykłe” przekazywanie X11, xRDP. Można je łączyć. Czytam różne zasoby i jak sobie uświadomiłem, że najbardziej preferowanym sposobem jest użycie xRDP? Może się mylę?

Ten artykuł (jeden z przeczytanych przeze mnie) http://c-nergy.be/blog/?p=8952 opisuje instalację xRDP i nie uwzględnia SSH. Oto przekazywanie ssh Jak przesłać X przez SSH z maszyny Ubuntu?

Pytania są następujące:

  1. Czy xRDP jest najkorzystniejszym sposobem osiągnięcia celu?
  2. Jakie kroki należy zrobić, aby xRDP zapewnił mi zdalny interfejs GUI (Jakie pakiety powinienem zainstalować na serwerze i komputerze stacjonarnym)? Chciałbym mieć komputer stacjonarny. Czy powinienem zainstalować go na stacji roboczej, serwerze, czy na obu? *
  3. Jak włączyć xRDP przez tunel SSH? *

* - Jeśli xRDP nie jest opcją, dwa ostatnie pytania dotyczą tego (VNC lub czegoś innego), co sugerujesz, proszę.

4xy
źródło
Uruchamianie GUI na serwerze nie ma większego sensu, wystarczy zalogować się zdalnie z komputera. Pulpit ma GUI, co jest z tym nie tak? Ale ponieważ chcesz Mate, musisz zainstalować Mate na serwerze, nie ma znaczenia, jaki GUI jest na pulpicie.
mikewhthing
Mam dostęp ssh do serwera i to wystarczy. Ale muszę wyrenderować stronę internetową na lokalnym komputerze z lokalnego serwisu, którego nie chciałbym i wydaje się, że nie mogę udostępnić go w Internecie.
4xy
@ 4xy możesz zajrzeć do tuneli ssh. Możesz przekazać „port serwera 80” do hosta lokalnego na komputerze klienta.
pzkpfw
@pzkpfw Zdaję sobie sprawę, że istnieje tunelowanie ssh. Co mogę z tym zrobić? Mogę przesłać RDP przez ssh. Czy możesz podać więcej szczegółów na ten temat? Mam usługi http i https uruchomione na serwerze znajdującym się w zasięgu sieci prywatnej. Mogę uzyskać do nich dostęp za pośrednictwem 192.168.1.10:5555 lub 192.168.1.10 z tej samej sieci. Można zrobić tunel ssh do tych, jak sądzę ... Ale nie wiem, jak dokładnie to zrobić i jak używać go po stronie klienta? Dzięki
4xy

Odpowiedzi:

27

ssh -X

Na serwerze potrzebujesz na przykład serwera ssh openssh-serveri przynajmniej kilku podstawowych narzędzi X, na przykład xiniti fluxbox(oraz potrzebnych programów i bibliotek). Musisz także zainstalować aplikacje, które chcesz uruchomić, sugeruję xtermi graficzne aplikacje, które chcesz uruchomić.

Na komputerze klienckim musisz sshsię zalogować i sftpprzesłać pliki lub inne narzędzie, które może wykonywać te same zadania, na przykład filezilla.

Następnie możesz zalogować się zdalnie za pomocą grafiki,

ssh -X user@ip-address
# for example
ssh -X [email protected]

a następnie można na przykład uruchomić graficzne aplikacje

xterm
libreoffice file.odt
evince file.pdf
eog file.png
virtualbox

Zobacz ten link: help.ubuntu.com/14.04/serverguide/openssh-server.html

Używanie ssh bezpośrednio w ten sposób jest proste, ale może nie tak eleganckie jak RDP lub VNC. Ale powinieneś również rozważyć nauczenie się niezbędnych narzędzi wiersza poleceń i zarządzać serwerem w ten sposób lub przez interfejs sieciowy.

sudodus
źródło
To naprawdę fajne, wygląda na to, że rozwiąże mój problem. Po prostu proste i działa!
4xy
Myślę, że będzie dla ciebie dobrze. Powodzenia :-)
sudodus
Działa jak marzenie. Dzięki. Prosty test z libreoffice: $ libreoffice --writerotwiera Writer, możesz zapisać nowy dokument, a następnie będzie można go zobaczyć w katalogu.
Homero Esmeraldo
3

1.

To zależy, ale powiedziałbym tak. Ja sam spotkałem ten sam problem i doszedłem do xrdp. Ja też mam serwer Ubuntu z zainstalowanym xrdp i powiedziałbym, że działa bardzo dobrze.

2)

Podczas gdy szukałem rozwiązania siebie, natknąłem się na ten artykuł tutaj , co uważam za bardzo pomocny. Ponadto, jak zauważył @mikewh, cokolwiek również wskazano, nie potrzebujesz tego samego środowiska pulpitu na podłączanym komputerze. Jedynym powodem, dla którego potrzebujesz innego środowiska pulpitu na serwerze, jest to, że XRDP nie obsługuje środowiska domyślnego.

3)

Jest to automatyczne *, wystarczy włączyć opcję tunelu ssh w kliencie zdalnego pulpitu.

* Nie musiałem robić nic fantazyjnego, po prostu wykonałem czynności opisane w linkowanym artykule.

Mam nadzieję, że to ci pomoże!

Erik
źródło
1
xRDP też działa jak urok!
4xy
2

zainstalowałem xrdp

sudo apt-get install xrdp

Jeśli łączysz się z Ubuntu, to ssh -X username@server

Jeśli łączysz się z systemu Windows, możesz użyć Remote desktop connection

wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj

Vishrant
źródło