Ubuntu Remote Desktop (interfejs graficzny) | INTROSERV
EUR
european

EUR

usa

USD

Poland Pl
Ex. VAT Ex. VAT 0%

Ubuntu Remote Desktop (interfejs graficzny)

Ubuntu Server domyślnie nie zawiera interfejsu graficznego. Można jednak zainstalować taki interfejs i połączyć się z nim zdalnie za pomocą VNC lub RDP. Niniejszy przewodnik omawia obie metody.

Warning

Nie należy bezpośrednio udostępniać portów 5901 (VNC) ani 3389 (RDP) w Internecie. Aby zabezpieczyć połączenie, należy skorzystać z tunelu SSH, WireGuard lub innego rozwiązania VPN. Jeśli konieczne jest zezwolenie na ruch przez te porty w zaporze sieciowej, należy ograniczyć dostęp wyłącznie do zaufanych zakresów adresów IP.

Info

W przypadku większości serwerów Ubuntu w środowisku produkcyjnym zalecaną kombinacją jest: środowisko graficzne Xfce, xrdp do zdalnego dostępu oraz WireGuard lub tunel SSH zapewniający bezpieczną łączność.

Co jest potrzebne

  • Serwer Ubuntu (20.04 / 22.04 / 24.04)
  • Dostęp jako root lub z uprawnieniami sudo
  • Komputer kliencki (Windows lub macOS), z którego ma nastąpić połączenie

Zainstaluj środowisko graficzne

Zaktualizuj listę pakietów:

apt update && apt upgrade -y

Zainstaluj minimalne środowisko graficzne GNOME:

apt install ubuntu-desktop-minimal -y

Info

W przypadku serwerów produkcyjnych zazwyczaj zaleca się użycie Xfce — zużywa ono mniej zasobów i działa bardziej niezawodnie przez VNC i xrdp:

apt install xfce4 xfce4-goodies -y

Po zakończeniu instalacji ustaw domyślny tryb rozruchu na tryb graficzny i uruchom ponownie komputer:

systemctl set-default graphical.target reboot

Info

Polecenie ` systemctl set-default graphical.target ` trwale zmienia domyślny tryb rozruchu, dzięki czemu środowisko graficzne uruchamia się automatycznie po każdym ponownym uruchomieniu. Na serwerze bez monitora, gdzie potrzebny jest tylko zdalny dostęp do pulpitu, można pominąć ten krok i po prostu ponownie uruchomić system.

Opcja 1. Połączenie przez VNC

VNC (Virtual Network Computing) pozwala na zdalne wyświetlanie i sterowanie pulpitem. W tej sekcji wykorzystujemy program TigerVNC.

Zainstaluj serwer TigerVNC

apt install tigervnc-standalone-server tigervnc-common -y

Utwórz użytkownika VNC

Uruchom VNC jako użytkownik niebędący rootem. Jeśli jeszcze nie masz takiego konta, utwórz je:

adduser vncuser

Warning

Nie dodawaj użytkownika VNC do grupy sudo. Jeśli osoba atakująca uzyska dostęp do sesji VNC, dostęp do sudo zapewni jej pełną kontrolę nad serwerem.

Przełącz się na tego użytkownika:

su - vncuser

Ustaw hasło VNC

vncpasswd

Wprowadź i potwierdź hasło. Gdy pojawi się pytanie „Czy chcesz wprowadzić hasło tylko do przeglądania?”, wpisz n.

Info

VNC wymaga backendu Xorg. W systemie Ubuntu 24.04 środowisko GNOME domyślnie działa na Waylandzie. Jeśli planujesz używać VNC z GNOME, najpierw wyłącz Wayland zgodnie z opisem w sekcji dotyczącej xrdp poniżej (WaylandEnable=false w pliku /etc/gdm3/custom.conf). Bez tego może pojawić się czarny ekran.

Info

W systemie Ubuntu 24.04 pakiet dbus-launch może nie być zainstalowany domyślnie. Jeśli podczas uruchamiania sesji VNC pojawi się błąd „command not found”, zainstaluj go najpierw: apt install dbus-x11 -y

Skonfiguruj sesję VNC

Utwórz katalog konfiguracyjny i plik startowy:

mkdir -p ~/.vnc nano ~/.vnc/xstartup

Wklej poniższy tekst:

#!/bin/bash export XDG_SESSION_TYPE=x11 export GNOME_SHELL_SESSION_MODE=ubuntu unset DBUS_SESSION_BUS_ADDRESS unset XDG_RUNTIME_DIR exec dbus-launch --exit-with-session gnome-session --session=ubuntu

Info

Jeśli zainstalowano Xfce zamiast GNOME, ostatni wiersz należy zastąpić następującym: exec startxfce4

Nadaj plikowi uprawnienia do wykonywania:

chmod +x ~/.vnc/xstartup

Uruchom serwer VNC

vncserver :1 -geometry 1920x1080 -depth 24

Spowoduje to uruchomienie sesji VNC na wyświetlaczu :1 (port 5901). Wyświetlacz :2 będzie korzystał z portu 5902 i tak dalej.

Aby zatrzymać serwer:

vncserver -kill :1

Otwórz port w zaporze sieciowej

ufw allow 5901/tcp

Info

Jeśli to możliwe, ogranicz dostęp do określonego zakresu adresów IP zamiast zezwalać na wszystkie źródła: ufw allow from 192.168.1.0/24 to any port 5901 proto tcp

Połącz się z systemu Windows

Pobierz i zainstaluj program TightVNC lub RealVNC Viewer.

Otwórz klienta i wpisz: adres_IP_serwera:5901

RealVNC Viewer z wprowadzonym adresem serwera

Po wyświetleniu monitu wprowadź hasło VNC. Po nawiązaniu połączenia zobaczysz pulpit zdalny:

Pulpit zdalny wyświetlany za pośrednictwem VNC

Połączenie z systemu macOS

System macOS posiada wbudowany klient VNC. Otwórz Findera, naciśnij Cmd+K i wpisz:

vnc://your-server-ip:5901

Wprowadź hasło po wyświetleniu monitu.

Warning

Ruch VNC nie jest domyślnie szyfrowany. Przekieruj połączenie przez SSH: ssh -L 5901:localhost:5901 user@adres-IP-serwera, a następnie połącz się z localhost:5901 za pomocą klienta VNC.

Opcja 2. Połączenie przez RDP

RDP (Remote Desktop Protocol) to standardowy protokół używany przez Pulpit zdalny systemu Windows. W systemie Ubuntu jest on obsługiwany przez pakiet xrdp.

Info

Sesje GNOME za pośrednictwem xrdp mogą być niestabilne w niektórych wersjach systemu Ubuntu, zwłaszcza gdy włączony jest Wayland. Środowisko Xfce zazwyczaj zapewnia bardziej niezawodne działanie pulpitu zdalnego.

Wyłącz Wayland

xrdp wymaga backendu Xorg. Otwórz plik konfiguracyjny GDM:

nano /etc/gdm3/custom.conf

Znajdź wiersz #WaylandEnable=false, usuń znak # przed nim i zapisz plik:

WaylandEnable=false

Zainstaluj xrdp

apt install xrdp -y

Włącz i uruchom usługę:

systemctl enable --now xrdp

Dodaj użytkownika xrdp do grupy ssl-cert

adduser xrdp ssl-cert

Skonfiguruj plik uruchamiania sesji

Otwórz plik /etc/xrdp/startwm.sh i dodaj następujące wiersze przed ostatnim wierszem exec:

export XDG_SESSION_TYPE=x11 export GNOME_SHELL_SESSION_MODE=ubuntu unset DBUS_SESSION_BUS_ADDRESS unset XDG_RUNTIME_DIR

Otwórz port w zaporze sieciowej

ufw allow 3389/tcp

Info

Jeśli to możliwe, ogranicz dostęp do określonego zakresu adresów IP: ufw allow from 192.168.1.0/24 to any port 3389 proto tcp

Uruchom ponownie usługę xrdp

systemctl restart xrdp

Połącz się z systemu Windows

Naciśnij klawisze Win+R, wpisz mstsc, a następnie naciśnij Enter. Wprowadź adres IP serwera i kliknij „Połącz”.

Połączenie pulpitu zdalnego z wprowadzonym adresem serwera

Na ekranie logowania do xrdp pozostaw sesję jako Xorg i wprowadź swoją nazwę użytkownika oraz hasło do systemu Ubuntu:

Ekran logowania xrdp

Po zalogowaniu się pojawi się pulpit zdalny:

Pulpit zdalny wyświetlany za pośrednictwem RDP

Połącz się z systemu macOS

Zainstaluj aplikację Microsoft Remote Desktop ze sklepu App Store.

Kliknij „Dodaj komputer”, a następnie wprowadź adres IP serwera.

Zaloguj się, używając nazwy użytkownika i hasła do systemu Ubuntu.

Porównanie: VNC a RDP

VNC RDP
Protokół Otwarty standard Microsoft (implementacja open source za pośrednictwem xrdp)
Klient Windows Wymagane oprogramowanie innych firm Wbudowany (mstsc)
Klient dla systemu macOS Wbudowany (Finder) Microsoft Remote Desktop (App Store)
Szyfrowanie Domyślnie brak (użyj tunelu SSH) TLS (obsługiwane przez xrdp)
Wydajność Umiarkowana Ogólnie płynniejsze
Obsługa wielu użytkowników Ograniczona Lepsze

Rozwiązywanie problemów

Czarny ekran po zalogowaniu się przez RDP — upewnij się, że wymagane zmienne środowiskowe zostały dodane do pliku /etc/xrdp/startwm.sh zgodnie z powyższym opisem oraz że Wayland jest wyłączony w pliku /etc/gdm3/custom.conf. Następnie uruchom ponownie xrdp: systemctl restart xrdp

Odmowa połączenia VNC — sprawdź, czy serwer VNC działa: vncserver -list. Upewnij się, że port 5901 jest otwarty w zaporze sieciowej.

Nie udaje się uruchomić sesji VNC — zamknij sesję i wyczyść pliki blokady, a następnie uruchom ponownie:

vncserver -kill :1 rm -f ~/.vnc/*.log ~/.vnc/*.pid vncserver :1

Rozłączenie lub szary ekran po wprowadzeniu hasła w xrdp — utwórz lub edytuj plik ~/.xsessionrc dla danego użytkownika i dodaj:

export XDG_SESSION_TYPE=x11

Upewnij się również, że użytkownik nie jest jednocześnie zalogowany do lokalnej sesji pulpitu — wyloguj się z sesji lokalnej przed połączeniem przez xrdp.

Błąd uwierzytelniania w xrdp — upewnij się, że logujesz się przy użyciu prawidłowego nazwy użytkownika i hasła systemu Ubuntu, a nie hasła VNC.

xrdp łączy się, ale natychmiast się rozłącza — sprawdź stan obu usług:

systemctl status xrdp systemctl status xrdp-sesman

Nie można uruchomić GNOME przez VNC — w systemie Ubuntu 24.04 może być konieczne oddzielne zainstalowanie pakietu xorg: apt install xorg -y

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA