Powrót do bloga

Jak zainstalować i skonfigurować VNC na Ubuntu 18.04

Jak zainstalować i skonfigurować VNC na Ubuntu 18.04

VNC (Virtual Network Computing) pozwala na korzystanie z serwera tak samo, jak z komputera – z graficznym interfejsem użytkownika (GUI),  pulpitem oraz myszą i klawiaturą. Ułatwia to korzystanie z komputera użytkownikom, którzy dopiero zaczynają pracę z serwerem.

CloudSigma pozwala na dostęp do VNC bezpośrednio po utworzeniu serwera. Oprócz tego, w tym poradniku skonfigurujesz serwer VNC na Ubuntu 18.04 i połączysz się z nim za pomocą bezpiecznego tunelu. W tym poradniku użyjesz TigerVNC, lekkiego i szybkiego pakietu serwera VNC. Zapewni on płynne działanie nawet na wolnych łączach.

Wymagania wstępne

Najpierw musisz utworzyć maszynę. Możesz to łatwo zrobić w sekcji obliczeniowej (compute) aplikacji internetowej CloudSigma:
Create a Linux Server setup java VNC

Na potrzeby tego poradnika możesz użyć następujących zasobów:
CPU: 8 GHz
RAM: 8 GB
SSD: 50 GB

Możesz zamontować dysk z Ubuntu 18.04 obrazem LTS dostępnym w bibliotece CloudSigma:
Ubuntu 18.04: Preinstalowany system 64-bitowy ze sterownikami VirtIO, superużytkownikiem, Pythonem 2.7.17, Pipem 20.0.2, OpenSSL 1.1.1d, Cloud-init i najnowszymi aktualizacjami do 2019-03-03.

Po uruchomieniu maszyny możesz zaktualizować wszystkie istniejące repozytoria i pakiety na maszynie, uruchamiając następujące polecenia:

Funkcja VNC w CloudSigma

CloudSigma zapewnia łatwy sposób dostępu do maszyn za pośrednictwem VNC.

vnc tunnel

Możesz kliknąć przełącznik VNC Tunnel’a, aby go włączyć. Gdy to zrobisz, zobaczysz ten ekran.

vnc link

Jeśli dołączyłeś klucz SSH, musisz uzyskać dostęp do serwera i zmienić hasło za pomocą następującego polecenia:

Jeśli nie dołączyłeś klucza SSH, możesz pominąć powyższy krok. Hasło znajdziesz w sekcji Install Notes.

 

Możesz kliknąć ‘Display VNC’, aby otworzyć okno VNC w przeglądarce, lub ‘Display VNC URL’, aby zobaczyć szczegóły wymagane do połączenia z klientem VNC. Po kliknięciu ‘Display VNC’ otworzy się nowa karta z prośbą o podanie danych logowania. Możesz z niej korzystać w taki sam sposób, w jaki korzystałbyś z maszyny wirtualnej za pomocą klienta VNC.

open vnc in browser

Teraz przyjrzymy się drugiemu sposobowi instalacji VNC na serwerze.

Instalacja serwera VNC

Obraz Ubuntu domyślnie nie zawiera pakietów GUI. Zainstalujemy pakiety dla najnowszego środowiska graficznego XFCE oraz pakiet TigerVNC dostępny w repozytorium Ubuntu.

Możesz zainstalować pakiet XFCE za pomocą następującego polecenia:

sudo apt install xfce4 xfce4-goodies

Po zainstalowaniu pakietów XFCE możesz zainstalować serwer TigerVNC za pomocą następującego polecenia:

Aby dokończyć konfigurację, uruchom następujące polecenie i ustaw hasło dla połączenia VNC:

Podczas uruchamiania powyższego polecenia pojawi się zapytanie, czy chcesz zalogować się przy użyciu hasła tylko do odczytu (view-only). Z hasłem tylko do odczytu możesz jedynie widzieć ekran, ale nie możesz korzystać z systemu. Ta opcja jest przydatna, jeśli chcesz, aby ktoś inny mógł widzieć Twój ekran, ale nie mógł z niego korzystać.

Następnie polecenie utworzy wszystkie wymagane konfiguracje. Na tym etapie możesz już korzystać z serwera VNC z poziomu zdalnego systemu lub swojego komputera. W ramach tego poradnika dodatkowo skonfigurujemy nasz serwer przed jego użyciem.

Konfiguracja serwera VNC

W tej sekcji pokażemy, jak skonfigurować preferowany pulpit do użycia. 

Musisz skonfigurować te polecenia w pliku o nazwie ‘xstartup’ w folderze .vnc w swoim katalogu domowym. Przy pierwszym uruchomieniu polecenia vncserver został utworzony skrypt startowy. Utworzysz kolejny, aby uruchomić pulpit XFCE.

Ponadto, gdy uruchomiłeś polecenie vncserver po raz pierwszy, uruchomiło ono domyślną instancję serwera na porcie 5901. Port ten jest nazywany portem wyświetlacza (display port) i jest oznaczany przez VNC jako “:1”. Jeśli uruchomisz to polecenie ponownie, VNC utworzy kolejną instancję “:2” na innych portach i tak dalej.

Ponieważ zamierzasz skonfigurować serwer VNC, zatrzymaj już uruchomione instancje: 

Przed zmodyfikowaniem pliku startowego utwórz kopię zapasową oryginalnego pliku:

Teraz możesz edytować oryginalny plik za pomocą edytora vim i zastąpić jego zawartość następującą:

Za każdym razem, gdy uruchamiasz lub restartujesz vncserver, proces wykonuje polecenia z tego pliku. Polecenia te uruchamiają środowisko graficzne, jeśli nie zostało jeszcze uruchomione. 

Pierwsze polecenie, “xrdb $HOME/.Xresources” informuje środowisko graficzne (GUI), aby odczytało konfigurację z tej lokalizacji. Możesz skonfigurować różne ustawienia pulpitu, takie jak kolory terminala, motywy kursora itp. Drugie polecenie uruchamia XFCE.

Aby upewnić się, że serwer VNC może wykonać ten plik, musisz zmienić jego uprawnienia:

Po zmianie uprawnień możesz teraz uruchomić serwer VNC:

Start VNC Server

Teraz, gdy serwer jest gotowy, możemy się z nim połączyć z naszego komputera.

Tworzenie bezpiecznego tunelu dla połączenia VNC

Ponieważ VNC nie używa bezpiecznych protokołów podczas łączenia, użyjemy SSH, aby stworzyć bezpieczne połączenie. Możemy użyć bezpiecznego tunelu SSH, aby połączyć się z naszym wirtualnym pulpitem.

Aby utworzyć tunel SSH, który bezpiecznie przekierowuje połączenie do localhost, możesz użyć następującego polecenia w terminalu lub PowerShell (dla systemu Windows):

W powyższym poleceniu,

-L: Służy do określenia powiązań portów. W tym przypadku przekierowujemy port 5901 serwera na port 5901 naszego systemu

-C: Służy do włączenia kompresji

-N: Służy do określenia, że zdalne wykonanie polecenia nie jest wymagane

-l: Określa nazwę zdalnego logowania

-i: Określa lokalizację klucza 

Creating SSH Tunnel

Gdy tunel jest uruchomiony, użyj klienta VNC, aby połączyć się z localhost:5901. Poprosi Cię o podanie hasła ustawionego wcześniej.

Po połączeniu zobaczysz ekran podobny do tego.

Connecting to Remote Desktop

Możesz zatrzymać tunel SSH, naciskając Ctrl + C.

Uruchamianie VNC jako usługi systemowej

Możesz teraz skonfigurować VNC jako usługę systemową, aby uruchamiać, restartować lub sprawdzać jej stan za pomocą poleceń systemd. Zapewni to również, że serwer VNC uruchomi się automatycznie po ponownym uruchomieniu serwera.

Aby to zrobić, utwórz nowy plik jednostki – /etc/systemd/system/vncserver@.service.

Zauważysz, że w powyższej nazwie pliku znajduje się symbol ‘@’. Pozwala on na przekazanie argumentu, którego można użyć w konfiguracji serwera. 

Dodaj następującą zawartość do pliku:

Polecenie ‘ExecStartPre’ zatrzymuje VNC, jeśli jest już uruchomione, podczas gdy polecenie ExecStart uruchamia VNC z głębią kolorów 24-bitowych i rozdzielczością 1280×800. Możesz zmodyfikować ten plik, aby dostosować go do swoich potrzeb.

Teraz możesz przeładować jednostki dla systemd za pomocą następującego polecenia:

Teraz, gdy systemctl rozpoznaje nową jednostkę, możesz ją włączyć za pomocą polecenia:

Cyfra 1 po @ oznacza numer ekranu, na którym usługa powinna się pojawić. Przykład: :1, :2, itd.

Aby zatrzymać bieżącą instancję, uruchom polecenie:

Enabling Service

Teraz możesz uruchomić serwer VNC tak, jak każdą inną usługę.

Aby sprawdzić, czy usługa działa, uruchom polecenie:

Serwer VNC będzie teraz dostępny po ponownym uruchomieniu serwera.

Teraz, gdy wiesz, jak skonfigurować serwer VNC, możesz łatwo zarządzać swoim serwerem, tak jak zarządzasz swoim komputerem.

author

Akshay Nagpal

Autor · CloudSigma

Preslav Dobrev jest projektantem kreatywnym w CloudSigma, skupiającym się na spójnej tożsamości biznesowej przy wykorzystaniu tradycyjnych i innowacyjnych kanałów marketingowych. Biegle łączy wizję artystyczną ze strategicznym marketingiem, tworząc wywierające wpływ narracje marki.

Komentarze

Brak komentarzy. Bądź pierwszy.