Salta al contenuto

Archivi

  • Gennaio 2022
  • Dicembre 2021
  • Novembre 2021
  • Ottobre 2021
  • Settembre 2021

Categorie

  • Nessuna categoria
Trend RepositoryArticles and guides
Articles

Accesso GUI remoto a un computer Linux usando Tightvnc con systemd

Il Gennaio 13, 2022 da admin

Questa è una guida per installare TightVNC su Raspberry Pi. L’ultima versione di Raspbian ora include RealVNC che è uno strumento alternativo di desktop remoto. Se si preferisce utilizzare RealVNC allora è facilmente abilitato attraverso lo strumento raspi-config, questa guida sarà utile per coloro che vogliono capire come creare altre applicazioni da eseguire all’avvio attraverso systemd.

La linea di comando è un ottimo modo per gestire un computer Linux remoto se non ti dispiace digitare i comandi, ma a volte è necessario essere in grado di visualizzare una GUI. A corto di un cavo molto lungo uno dei modi migliori per farlo è usare il protocollo VNC (Virtual Network Computing).

  • TightVNC vs Real VNC
  • Installazione di uno script di avvio usando Systemd
  • Scegliere TightVNC
  • Modello client server
  • Installare il software server TightVNC
  • Avvia il server e configura una password
  • Aggiungere Tightvnc all’avvio di systemd
  • Installazione del visualizzatore Tightvnc (client VNC) su un computer Linux
  • Installazione di Tightvnc view su un computer Windows
  • Securing TightVNC
  • Avviare il vostro window manager

TightVNC vs Real VNC

Il server TightVNC crea una diversa finestra virtuale che viene replicata su una macchina diversa utilizzando il client TightVNC. Questo differisce da RealVNC che normalmente riecheggia lo schermo di default.

Quando la maggior parte delle persone pensano ad uno strumento di desktop remoto allora di solito pensano al modo in cui opera RealVNC. In questo caso quando si muove il mouse, o si lancia un’applicazione, viene visualizzato lo stesso output su uno schermo fisicamente collegato (normalmente HDMI) e su un client remoto in rete.

TightVNC è utile se si vuole eseguire qualcosa di diverso da ciò che è sullo schermo principale. Per esempio potresti usarlo in modo da avere un display di stato sullo schermo principale (via HDMI) con un display diverso usato per la configurazione che viene visualizzata su un portatile.

Un altro vantaggio di TightVNC è che è un software open source gratuito. Come tale non ha restrizioni d’uso ed è possibile visualizzare e modificare il codice sorgente. Real VNC è una versione commerciale di VNC e ha bisogno di una licenza. Real VNC è libero da usare per uso personale su Raspberry Pi, ma ha delle restrizioni se si vogliono fare altre cose con esso che possono richiedere una licenza commerciale. Questo include l’esecuzione dell’immagine Raspbian Desktop su un PC che non include il software commerciale.

Installazione di uno script di avvio usando Systemd

Queste sono le istruzioni su come configurare questo su Raspberry Pi (distribuzione basata su Debian). Dovrebbe essere simile per qualsiasi altra distribuzione basata su Debian (es. Ubuntu) che usa i file di avvio di Systemd. Alcune altre distribuzioni usano diversi strumenti di installazione del software e possibilmente diversi strumenti di configurazione init.

Se questo viene usato in combinazione con la guida per far funzionare il Raspberry Pi senza testa con Debian Linux allora può essere usato per configurare un Raspberry Pi per l’accesso remoto senza mai aver bisogno di collegarlo a un monitor.

Scegliere TightVNC

Ci sono diversi progetti software che supportano VNC. Ho scelto di usare TightVNC perché è un software open source gratuito (GPL2), fornisce compressione per permettergli di lavorare su una rete lenta (Internet) ed è facilmente disponibile nei repository del software.

Modello client server

VNC segue il tradizionale modello client sever. Il software del server gira sull’host a cui si vuole accedere, e il software del client gira sulla macchina locale che vuole controllare l’host. Il server e il client non devono essere necessariamente gli stessi (ad esempio il client può essere RealVNC quando il server è TightVNC), ma alcune caratteristiche possono funzionare solo quando vengono utilizzati lo stesso client e server.

Installare il software server TightVNC

Prima aggiornare le informazioni del repository software utilizzando
sudo apt update
Questo è particolarmente importante se avete appena installato il sistema operativo come le informazioni del repository possono essere incomplete.

Installa il software del server dai repository:
sudo apt install tightvncserver

Avvia il server e configura una password

La prima volta che avvii il server ti chiederà di impostare una password. Questa è la password che usi quando ti connetti da remoto.

/usr/bin/tightvncserver

Non c’è bisogno di creare una password di sola visualizzazione, a meno che tu non abbia una necessità specifica.

Quando il server si avvia ti dirà quale desktop virtuale è stato impostato. In questo caso:
New 'X' desktop is raspberrypi:1
dice che è il desktop virtuale 1. Ti connetterai a questo usando :1 alla fine dell’indirizzo IP nel client, questo è quello che imposteremo per partire automaticamente più tardi.

Puoi eseguire più istanze. Ogni volta che avvii tightvncserver userà il prossimo desktop disponibile, ma nella maggior parte dei casi ne avrai bisogno solo uno.

Aggiungere Tightvnc all’avvio di systemd

Per far avviare automaticamente Tightvnc dobbiamo creare un nuovo file di avvio, che deve essere memorizzato nella directory /etc/systemd/system/ e finire con il suffisso “.service”. L’ho chiamato tightvncserver.service. Questo deve essere creato come utente root quindi usando sudo
sudo nano /etc/systemd/system/tightvncserver.service

  1. Description=TightVNC remote desktop server
  2. After=sshd.service
  3.  
  4. Type=dbus
  5. ExecStart=/usr/bin/tightvncserver :1
  6. User=pi
  7. Type=forking
  8.  
  9. WantedBy=multi-user.target

Potresti dover cambiare il nome utente sulla linea 8. Attualmente è impostato su pi che è il nome utente predefinito sull’immagine Raspbian di Raspberry Pi. Impostare questo a qualsiasi nome utente che si desidera accedere a TightVNC come. Non mettere root come utente.

Cambia il file in modo che sia di proprietà di root
sudo chown root:root /etc/systemd/system/tightvncserver.service

Rendi il file eseguibile eseguendo
sudo chmod 755 /etc/systemd/system/tightvncserver.service

È una buona idea provare lo script a questo punto piuttosto che aspettare fino a dopo un riavvio. Questo viene fatto usando:
sudo systemctl start tightvncserver.service
Non preoccuparti se ottieni il seguente messaggio di errore, che è perché hai già avviato tightvnc
A VNC server is already running as :1

Abilita l’avvio al boot usando
sudo systemctl enable tightvncserver.service

TightVNC ora partirà all’avvio. Ti consiglierei di riavviare a questo punto per assicurarti che stia funzionando, ma puoi semplicemente fermare e avviare il servizio usando il comando systemctl invece.

Nota che questo è progettato per eseguire solo un’istanza di TightVNC sul computer. Se si vuole essere in grado di avviare e fermare istanze specifiche di TightVNC, allora sarà necessario modificare lo script di avvio in modo appropriato.

Installazione del visualizzatore Tightvnc (client VNC) su un computer Linux

Su un computer Linux puoi installare il visualizzatore con
sudo apt install xtightvncviewer
o se questo non è nei repository prova:
sudo apt-get install ssvnc
Questo funziona solo con distribuzioni basate su Debian / Ubuntu, per altre distribuzioni usa il normale gestore di pacchetti.

Nota che ssvnc – che è la versione che ho installato sul mio computer Kubuntu è basata su tightvnc, ma ha anche la possibilità di configurare il tunnelling ssh (vedi dopo) attraverso la GUI.

Login utilizzando
xtightvncviewer 192.168.1.6:1
(sostituire con il proprio indirizzo IP come appropriato)

Installazione di Tightvnc view su un computer Windows

Per accedere da Windows o utilizzando il Java Client scaricare da TightVNC.com

Securing TightVNC

TightVNC permette a chiunque conosca la password di accedere come l’utente sotto cui è in esecuzione. Lo fa anche senza crittografia, quindi chiunque può curiosare nella sessione. Fortunatamente c’è una soluzione sicura, che è quella di tunnelare la connessione su un login ssh (secure shell).

Il primo passo è limitare Tightvnc al solo computer locale. Questo viene fatto aggiungendo l’opzione -localhost quando si avvia tightvncserver. Per fare questo modifica la linea 7 nel file /etc/systemd/system/tightvncserver.service per leggere:>

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

Poi riavvia il server.

Per accedere usando ssh – prima accedi al computer host usando ssh
ssh [email protected] -L 5901:localhost:5901

L’opzione -L crea il tunnel, dal computer corrente (default) porta 5901 al computer host (come localhost) porta 5901. La porta 5901 è la porta predefinita per il display 1, 5902 per il display 2 ecc.

Per connetterti usando tightvnc ora usa il comando
xtightvncviewer 127.0.0.1:1
Nota che il tuo precedente terminale sarà ora connesso al Raspberry Pi quindi dovrai avviare un nuovo terminale o scheda per eseguire il viewer.

Se si usa Windows allora il tunnel ssh può essere creato dall’interno di PuTTY

Poi ci si connette usando il client vnc usando 127.0.0.1:1.

Si può ora usare la GUI per eseguire applicazioni sul Raspberry Pi senza bisogno di un monitor o una tastiera. Se avete impostato il port forwarding sul vostro router, potete farlo su Internet.

Avviare il vostro window manager

Le istruzioni precedenti sono sufficienti per il Raspberry Pi con Raspbian (Debian). Su altri sistemi potrebbe essere necessario fare un ulteriore cambiamento di configurazione per avviare il normale gestore di finestre/lanciatore di applicazioni. Se ottieni uno schermo vuoto quando ti connetti, modifica il file ~/.vnc/xstartup e sostituisci la linea /etc/X11/Xsession con una delle seguenti come appropriato.

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

Per esempio con Ubuntu dovresti usare la voce per gnome, per xubuntu dovresti usare xfce e per kubuntu usare kde. Il Raspberry Pi usa lxde, ma questo viene avviato automaticamente sul Raspberry Pi non c’è bisogno di aggiungerlo al file xstartup.

Lascia un commento Annulla risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Archivi

  • Gennaio 2022
  • Dicembre 2021
  • Novembre 2021
  • Ottobre 2021
  • Settembre 2021

Meta

  • Accedi
  • Feed dei contenuti
  • Feed dei commenti
  • 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 | Tema da ThemeinProgress | Offerto orgogliosamente da WordPress