[Linux] Jak podłączyć się zdalnie do RPI wykorzystując VNC ?

Systemy operacyjne
[Linux] Jak podłączyć się zdalnie do RPI wykorzystując VNC ?

Rola Raspberry Pi często jest sprowadzona do wyświetlania jakichś informacji na telewizorach czy też monitorach LCD. Ciężko się temu dziwić, gdyż prostota uruchomienia przeglądarki Chrome (Chromium) w trybie „kiosk” nawet dla początkujących nie powinna stanowić problemów.

Jednak powstaje pewien problem, jest nim dostęp do urządzenia które zostało zainstalowane w docelowej lokalizacji. Konieczny staje się dostęp zdalny do urządzenia i najlepiej w postaci pulpitu zdalnego który widzi użytkownik końcowy.

Na RPI mamy linuksa opartego na Debianie (Raspbian). Zatem możemy doinstalować potrzebne oprogramowanie, w tym przypadku będzie to x11vnc.

Instalacja

Instalacja jest banalna i sprowadza się do dwóch poleceń. Pierwsze instaluje aplikację:

sudo apt-get install x11vnc

Kolejne ustawia hasło dzięki któremu będziecie mieli dostęp do RPI:

x11vnc -storepasswd

Zostaniecie poproszeni o podanie hasła oraz jego powtórzenie, aby upewnić się że nie popełniliście błędu 😉 Dodatkowo aplikacja spyta czy zapisać wprowadzone hasło w określonej lokalizacji. Co potwierdzamy i właśnie zakończyliśmy instalację.

Uruchomienie

Zanim uruchomicie aplikację pamiętajcie, że musi być uruchomione środowisko graficzne 😉

W zależności od potrzeb aplikację uruchamiamy z różnymi flagami, teraz uruchomimy ją w najprostszej postaci:

x11vnc -display :0

Aplikacja się uruchomi na pulpicie „:0” i nie będzie wymagała podania hasła. Właściwie było by to wystarczające gdyby nie fakt że po zakończeniu połączenia zostanie zamknięta.

Zamknięcia aplikacji po rozłączeniu klienta unikniemy dodając flagę -forever, inne przydatne flagi to:

  • -viewonly, tylko podgląd,
  • -q, ograniczenie ilości komunikatów zwracanych przez aplikację,
  • -usepw, pytanie o hasło,
  • -shared, umożliwia wiele równoczesnych połączeń

Więcej na temat dostępnych parametrów możecie przeczytać na stronie http://www.karlrunge.com/x11vnc/x11vnc_opts.html.

Podstawowe polecenie którego możecie używać wyglądało będzie następująco:

x11vnc -forever -display :0

Autostart

Jeśli chcielibyście, aby aplikacja uruchamiała się wraz ze startem systemu co pozwoli wam na dostęp do urządzenia w każdej chwili to wystarczy utworzyć odpowiedni plik.

W katalogu /home/pi/.config/autostart/ (jeśli nie macie takiego katalogu należy go założyć) tworzymy plik o nazwie x11vnc.desktop. Pamiętajcie także o tym, aby właścicielem pliku był użytkownik „pi” lub inny w zależności od tego w jakim katalogu tworzycie plik.

nano /home/pi/.config/autostart/x11vnc.desktop

Zawartość pliku powinna wyglądać następująco:

[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=X11VNC
Comment=
Exec=x11vnc -forever -display :0 -ultrafilexfer
StartupNotify=false
Terminal=false
Hidden=false

Przy czym linia x11vnc -forever -display :0 -ultrafilexfer jest uzależniona od waszych potrzeb i może wyglądać inaczej.

Klient VNC

Mając skonfigurowany serwer wypadało by się do niego podłączyć. W sieci znajdziecie mnóstwo aplikacji klienckich i właściwie nie ma jednego idealnego. Tak więc musicie wybrać sami, która wam się najbardziej spodoba. Testowałem kilka rozwiązań i zostałem przy VCN Viewer, poniżej lista kilku aplikacji które miałem przyjemność używać na różnych systemach.

Windows

MacOS

Linux