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:

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:
|
1 2 |
sudo apt update sudo apt upgrade |
Funkcja VNC w CloudSigma
CloudSigma zapewnia łatwy sposób dostępu do maszyn za pośrednictwem VNC.

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

Jeśli dołączyłeś klucz SSH, musisz uzyskać dostęp do serwera i zmienić hasło za pomocą następującego polecenia:
|
1 2 3 |
ssh -i key.pem cloudsigma@IP sudo passwd cloudsigma |
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.

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:
|
1 |
sudo apt install tightvncserver |
Aby dokończyć konfigurację, uruchom następujące polecenie i ustaw hasło dla połączenia VNC:
|
1 |
vncserver |
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:
|
1 |
vncserver -kill :1 |
Przed zmodyfikowaniem pliku startowego utwórz kopię zapasową oryginalnego pliku:
|
1 |
mv ~/.vnc/xstartup ~/.vnc/xstartup.bak |
Teraz możesz edytować oryginalny plik za pomocą edytora vim i zastąpić jego zawartość następującą:
|
1 2 3 4 5 6 7 |
vim ~/.vnc/xstartup Zawartość: #!/bin/bash xrdb $HOME/.Xresources startxfce4 & |
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:
|
1 |
sudo chmod +x ~/.vnc/xstartup |
Po zmianie uprawnień możesz teraz uruchomić serwer VNC:
|
1 |
vncserver |

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):
|
1 |
ssh -L 5901:127.0.0.1:5901 -C -N -l <UserName> <ServerIP> -i <pemKey> |
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

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.

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.
|
1 |
touch /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:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
[Unit] Description=Uruchom TightVNC serwer przy starcie After=syslog.target network.target [Service] Type=forking User=<User> Group=<UserGroup> WorkingDirectory=/home/<User> PIDFile=/home/<User>/.vnc/%H:%i.pid ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 :%i ExecStop=/usr/bin/vncserver -kill :%i [Install] WantedBy=multi-user.target |
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:
|
1 |
sudo systemctl daemon-reload |
Teraz, gdy systemctl rozpoznaje nową jednostkę, możesz ją włączyć za pomocą polecenia:
|
1 |
sudo systemctl enable vncserver@1.service |
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:
|
1 |
vncserver -kill :1 |

Teraz możesz uruchomić serwer VNC tak, jak każdą inną usługę.
|
1 |
sudo systemctl start vncserver@1 |
Aby sprawdzić, czy usługa działa, uruchom polecenie:
|
1 |
sudo systemctl status vncserver@1 |
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.
Komentarze
Brak komentarzy. Bądź pierwszy.