Skip to content

Archives

  • styczeń 2022
  • grudzień 2021
  • listopad 2021
  • październik 2021
  • wrzesień 2021

Categories

  • Brak kategorii
Trend RepositoryArticles and guides
Articles

Zdalny dostęp GUI do komputera z Linuksem przy użyciu Tightvnc z systemd

On 13 stycznia, 2022 by admin

To jest przewodnik do instalacji TightVNC na Raspberry Pi. Najnowsza wersja Raspbian teraz zawiera RealVNC, który jest alternatywnym narzędziem pulpitu zdalnego. Jeśli wolisz używać RealVNC to można go łatwo włączyć poprzez narzędzie raspi-config, ten przewodnik będzie przydatny dla tych, którzy chcą zrozumieć o tworzeniu innych aplikacji do uruchamiania na starcie poprzez systemd.

Linia poleceń jest świetnym sposobem na zarządzanie zdalnym komputerem z Linuksem jeśli nie masz nic przeciwko wpisywaniu komend, ale czasami musisz być w stanie zobaczyć GUI. Krótko po bardzo długim kablu jednym z najlepszych sposobów na zrobienie tego jest użycie protokołu VNC (Virtual Network Computing).

  • TightVNC vs Real VNC
  • Instalacja skryptu startowego przy użyciu Systemd
  • Wybierając TightVNC
  • Model klient-serwer
  • Instalacja oprogramowania serwera TightVNC
  • Uruchom serwer i skonfiguruj hasło
  • Dodanie Tightvnc do startu systemd
  • Instalacja przeglądarki Tightvnc (klient VNC) na komputerze z Linuxem
  • Instalacja widoku Tightvnc na komputerze z Windows
  • Zabezpieczanie TightVNC
  • Uruchamianie menedżera okien

TightVNC vs Real VNC

Serwer TightVNC tworzy inne wirtualne okno, które jest replikowane na innej maszynie przy użyciu klienta TightVNC. Różni się to od RealVNC, który zwykle zwykle echo domyślnego ekranu.

Gdy większość ludzi myśli o narzędziu zdalnego pulpitu wtedy zwykle myślą o sposobie, że RealVNC działa. W tym przypadku, gdy poruszasz myszką lub uruchamiasz aplikację, wyświetla ona to samo wyjście na fizycznie podłączonym ekranie (zwykle HDMI) i na zdalnym kliencie przez sieć.

TightVNC jest przydatne, jeśli chcesz uruchomić coś innego niż to, co jest na głównym ekranie. Na przykład można go używać tak, że można mieć wyświetlanie stanu na głównym ekranie (przez HDMI) z innym wyświetlaczem używanym do konfiguracji, która jest wyświetlana na laptopie.

Inną zaletą TightVNC jest to, że jest to DARMOWE oprogramowanie open source. Jako takie nie ma żadnych ograniczeń w użyciu i można przeglądać i modyfikować kod źródłowy. Real VNC jest komercyjną wersją VNC i musi być licencjonowany. Real VNC jest wolny do użytku osobistego na Raspberry Pi, ale ma ograniczenia, jeśli chcesz zrobić inne rzeczy z nim, które mogą wymagać licencji komercyjnej. Obejmuje to uruchomienie obrazu Raspbian Desktop na komputerze, ponieważ nie zawiera komercyjnego oprogramowania.

Instalacja skryptu startowego przy użyciu Systemd

Poniżej znajdują się instrukcje, jak to skonfigurować na Raspberry Pi (dystrybucja oparta na Debianie). Powinno być podobnie dla każdej innej dystrybucji opartej na Debianie (np. Ubuntu), która używa plików startowych Systemd. Niektóre inne dystrybucje używają różnych narzędzi do instalacji oprogramowania i ewentualnie różnych narzędzi init setup.

Jeśli jest to używane w połączeniu z przewodnikiem do uruchomienia Raspberry Pi bez głowy z Debian Linux następnie może być używany do skonfigurowania Raspberry Pi do zdalnego dostępu bez konieczności podłączania go do monitora.

Wybierając TightVNC

Istnieje kilka projektów oprogramowania, które obsługują VNC. Wybrałem TightVNC, ponieważ jest to darmowe oprogramowanie open source (GPL2), zapewnia kompresję pozwalającą na pracę w wolnej sieci (Internet) i jest łatwo dostępne w repozytoriach oprogramowania.

Model klient-serwer

VNC podąża za tradycyjnym modelem klient-serwer. Oprogramowanie serwera działa na hoście, który ma być udostępniony, a oprogramowanie klienta działa na komputerze lokalnym, który chce kontrolować hosta. Serwer i klient nie muszą być takie same (np. klient może być RealVNC, gdy serwer jest TightVNC), ale niektóre funkcje mogą działać tylko wtedy, gdy ten sam klient i serwer są używane.

Instalacja oprogramowania serwera TightVNC

Najpierw odśwież informacje o repozytorium oprogramowania za pomocą
sudo apt update
Jest to szczególnie ważne, jeśli dopiero co zainstalowałeś system operacyjny, ponieważ informacje o repozytorium mogą być niekompletne.

Zainstaluj oprogramowanie serwera z repozytoriów:
sudo apt install tightvncserver

Uruchom serwer i skonfiguruj hasło

Przy pierwszym uruchomieniu serwera zostanie wyświetlony monit o ustawienie hasła. Jest to hasło, którego używasz podczas zdalnego łączenia się.

/usr/bin/tightvncserver

Nie ma potrzeby tworzenia hasła tylko do widoku, chyba że masz konkretną potrzebę.

Po uruchomieniu serwera zostanie wyświetlona informacja, który wirtualny pulpit został skonfigurowany. W tym przypadku:
New 'X' desktop is raspberrypi:1
mówi, że jest to wirtualny pulpit 1. Połączysz się z nim, używając :1 na końcu adresu IP w kliencie, jest to ten, który ustawimy, aby uruchamiał się automatycznie później.

Możesz uruchomić wiele instancji. Przy każdym uruchomieniu tightvncserver użyje następnego dostępnego pulpitu, ale w większości przypadków wystarczy jedna instancja.

Dodanie Tightvnc do startu systemd

Aby Tightvnc uruchamiał się automatycznie, musimy stworzyć nowy plik startowy, który musi być przechowywany w katalogu /etc/systemd/system/ i kończyć się końcówką „.service”. Ja nazwałem go tightvncserver.service. Musi to być utworzone jako użytkownik root, więc używając sudo
sudo nano /etc/systemd/system/tightvncserver.service

  1. Description=TightVNC remote desktop server
  2. After=sshd.service
  3.  
  4. .

  5. Type=dbus
  6. ExecStart=/usr/bin/tightvncserver :1
  7. User=pi
  8. Type=forking
  9.  
  10. WantedBy=multi-user.target

Może być konieczna zmiana nazwy użytkownika w linii 8. Obecnie jest ona ustawiona na pi, która jest domyślną nazwą użytkownika na obrazie Raspberry Pi Raspbian. Ustaw to na dowolną nazwę użytkownika, który chcesz zalogować się do TightVNC jako. Nie umieszczaj roota jako użytkownika.

Zmień plik tak, aby był własnością roota
sudo chown root:root /etc/systemd/system/tightvncserver.service

Uczyń plik wykonywalnym przez uruchomienie
sudo chmod 755 /etc/systemd/system/tightvncserver.service

Dobrym pomysłem jest przetestowanie skryptu w tym momencie, zamiast czekać do czasu po restarcie. Można to zrobić za pomocą:
sudo systemctl start tightvncserver.service
Nie przejmuj się, jeśli otrzymasz następujący komunikat o błędzie, ponieważ już uruchomiłeś tightvnc
A VNC server is already running as :1

Włącz uruchamianie przy starcie za pomocą
sudo systemctl enable tightvncserver.service

TightVNC będzie teraz uruchamiany przy starcie. Zalecam restart w tym momencie, aby upewnić się, że to działa, ale można po prostu zatrzymać i uruchomić usługę za pomocą polecenia systemctl zamiast.

Zauważ, że jest to przeznaczone do uruchomienia tylko jednej instancji TightVNC na komputerze. Jeśli chcesz być w stanie uruchomić i zatrzymać konkretne instancje TightVNC to będziesz musiał odpowiednio dostosować skrypt startowy.

Instalacja przeglądarki Tightvnc (klient VNC) na komputerze z Linuxem

Na komputerze z Linuxem możesz zainstalować przeglądarkę za pomocą
sudo apt install xtightvncviewer
lub jeśli nie ma tego w repozytoriach spróbuj:
sudo apt-get install ssvnc
To będzie działać tylko z dystrybucjami opartymi na Debianie / Ubuntu, dla innych dystrybucji użyj normalnego menedżera pakietów.

Zauważ, że ssvnc – która jest wersją zainstalowaną na moim komputerze Kubuntu jest oparta na tightvnc, ale ma również możliwość konfiguracji tunelowania ssh (zobacz później) poprzez GUI.

Login using
xtightvncviewer 192.168.1.6:1
(replace with your own IP address as appropriate)

Instalacja widoku Tightvnc na komputerze z Windows

Aby uzyskać dostęp z Windows lub używając klienta Java pobierz z TightVNC.com

Zabezpieczanie TightVNC

TightVNC pozwala każdemu, kto zna hasło zalogować się jako użytkownik, pod którym działa. Robi to również bez szyfrowania, więc każdy może podsłuchać sesję. Na szczęście istnieje bezpieczne rozwiązanie, którym jest tunelowanie połączenia przez login ssh (secure shell).

Pierwszym krokiem jest ograniczenie Tightvnc tylko do lokalnego komputera. Robi się to poprzez dodanie opcji -localhost podczas uruchamiania tightvncserver. Aby to zrobić, edytuj linię 7 w pliku /etc/systemd/system/tightvncserver.service, aby otrzymać następujące brzmienie:>

ExecStart=/usr/bin/tightvncserver -localhost :1

Następnie uruchom ponownie serwer.

Aby zalogować się za pomocą ssh – najpierw zaloguj się do komputera głównego za pomocą ssh
ssh [email protected] -L 5901:localhost:5901

Opcja -L tworzy tunel, z bieżącego komputera (domyślnie) port 5901 do komputera głównego (jako localhost) port 5901. Port 5901 jest domyślnym portem dla wyświetlacza 1, 5902 dla wyświetlacza 2 itd.

Aby połączyć się za pomocą tightvnc teraz użyj polecenia
xtightvncviewer 127.0.0.1:1
Uwaga, że poprzedni terminal będzie teraz zalogowany do Raspberry Pi, więc trzeba będzie uruchomić nowy terminal lub kartę, aby uruchomić przeglądarkę.

Jeśli używasz Windows to tunel ssh może być utworzony z wewnątrz PuTTY

Potem połącz się za pomocą klienta vnc używając 127.0.0.1:1.

Możesz teraz używać GUI do uruchamiania aplikacji na Raspberry Pi bez potrzeby monitora lub klawiatury. Jeśli masz ustawione przekierowanie portów na routerze, możesz to zrobić przez Internet.

Uruchamianie menedżera okien

Powyższe instrukcje są wystarczające dla Raspberry Pi z systemem Raspbian (Debian). W innych systemach może być konieczne dokonanie dalszej zmiany konfiguracji, aby uruchomić normalny menedżer okien / launcher aplikacji. Jeśli masz pusty ekran podczas łączenia edytuj plik ~/.vnc/xstartup i zastąp linię /etc/X11/Xsession jedną z następujących odpowiednio.

exec ck-launch-session startlxde#for an lxde sessionexec ck-launch-session gnome-session#for a gnome-sessionexec ck-launch-session openbox-session#for an openbox desktopexec ck-launch-session startxfce4#for an xfce desktopexec ck-launch-session icewm#for an icewm desktopexec ck-launch-session startkde#for a kde desktop

Na przykład z Ubuntu użyjesz wpisu dla gnome, dla xubuntu użyjesz xfce, a dla kubuntu użyjesz kde. Raspberry Pi używa lxde, ale to jest uruchamiane automatycznie na Raspberry Pi nie ma potrzeby, aby dodać go do pliku xstartup.

Dodaj komentarz Anuluj pisanie odpowiedzi

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Archiwa

  • styczeń 2022
  • grudzień 2021
  • listopad 2021
  • październik 2021
  • wrzesień 2021

Meta

  • Zaloguj się
  • Kanał wpisów
  • Kanał komentarzy
  • WordPress.org
  • DeutschDeutsch
  • NederlandsNederlands
  • SvenskaSvenska
  • DanskDansk
  • EspañolEspañol
  • FrançaisFrançais
  • PortuguêsPortuguês
  • ItalianoItaliano
  • RomânăRomână
  • PolskiPolski
  • ČeštinaČeština
  • MagyarMagyar
  • SuomiSuomi
  • 日本語日本語

Copyright Trend Repository 2022 | Theme by ThemeinProgress | Proudly powered by WordPress