LINUX

Come installare e configurare TigerVNC su Arch Linux

TigerVNC è un’applicazione che consente agli utenti di interagire con applicazioni grafiche su macchine remote. TigerVNC è un’implementazione di Virtual Network Computing (VNC), che utilizza un modello client/server. Il livello di prestazioni offerto da TigerVNC è in grado di eseguire applicazioni 3D e giocare ai videogiochi. Per quanto riguarda la sicurezza, TigerVNC supporta la crittografia TLS e altri metodi di autenticazione avanzati. In questa guida, esamineremo l’installazione e la configurazione di tigervnc su Arch Linux 2018.01.01.

Componenti TigerVNC

Poiché TigerVNC è un’applicazione client-server, diamo un’occhiata alle applicazioni client e server installate sul tuo sistema operativo quando configuri TigerVNC.

Componenti lato server

Linux/Unix

Xvnc – Questo è il server VNC e X per TigerVNC.
vncserver – Questo è uno script wrapper utilizzato per gestire l’avvio del demone Xvnc
vncpasswd – Quando l’autenticazione VNC è abilitata, vncpasswd è responsabile della gestione delle password del server VNC.
vncconfig – Utilizzato per interagire con un’istanza che esegue Xvnc
x0vncserver – Questa è una demo di un semplice server VNC, interroga continuamente qualsiasi display X in modo che VNC possa controllarlo

Lato client TigerVNC

Qualsiasi versione delle applicazioni TigerVNC viene fornita con un visualizzatore TigerVNC multipiattaforma. Questo si connette al server VNC, consentendo di interagire con un desktop remoto visualizzato dal server VNC. vncviewer può essere utilizzato per connettersi a un server VNC in esecuzione su qualsiasi piattaforma (Linux, Unix o Windows)

Installazione di tigervnc su Arch (versione – 2018.01.01)

TigerVNC può essere installato su Arch scaricando il pacchetto binario dal repository della community e installandolo. Se cerchi tigervnc, otterrai risultati come:

$ sudo pacman -Ss tigervnc
community/tigervnc 1.8.0-3
Suite of VNC servers and clients. Based on the VNC 4 branch of TightVNC.

Per installare il pacchetto TigerVNC, eseguire:

$ sudo pacman -S tigervnc --noconfirm

L’installazione di questo pacchetto fornisce vncserver, x0vncserver e anche vncviewer.

Configurazione di TigerVNC

È bene notare che Vncserver offre due principali funzionalità di controllo remoto:

  1. Il server virtuale viene eseguito in modalità headless con console virtuale
  2. Controllo diretto delle sessioni X locali fisiche,

Esegui vncserver

Quando esegui vncserver per la prima volta, inizializzerà l’ambiente vncserver, genererà la configurazione di vncserver e aggiungerà le password per l’autenticazione dell’utente. Questo viene fatto eseguendo il comando:

$ vncserver

You will require a password to access your desktops.

Password:
Verify:
Would you like to enter a view-only password (y/n)? n
New 'dev.jmtai.com:1 (jmutai)' desktop is dev.jmtai.com:1
Creating default startup script /home/jmutai/.vnc/xstartup
Creating default config /home/jmutai/.vnc/config
Starting applications specified in /home/jmutai/.vnc/xstartup
Log file is /home/jmutai/.vnc/dev.jmtai.com:1.log

Questo ti chiederà di inserire la password utilizzata per accedere ai tuoi desktop, inserire e verificare. Se desideri impostare una password di sola visualizzazione, tocca si alla prossima richiesta.

Come visto dall’output, la configurazione generata verrà memorizzata sotto ~/.vnc/config e lo script di avvio viene generato e memorizzato nel file ~/.vnc/xstartup. Tutti i log di vncserver verranno archiviati in un file ~/.vnc/hostname:1.log.

Il :1 indica il numero di porta TCP su cui è in esecuzione il server virtuale virtuale. In questo caso :1 è effettivamente la porta TCP 5901 (5900+1). Se viene avviata un’altra istanza di vncserver, verrà eseguita sulla successiva più grande libera, ad es 5902 (5900+2) che terminerà in:2 come sopra. Non c’è limite al numero di server VNC che possono essere avviati su Linux, la memoria è l’unico fattore limitante.

Modifica del file di ambiente

~/.vnc/xstartup funzioni come .xinitrc e ha origine da vncserver quando viene avviato. Come minimo, gli utenti dovrebbero avviare un DE da questo file. Ad esempio, per avviare i3wm, devi modificare il file in:

$ cat ~/.vnc/xstartup

#!/bin/bash
exec i3 &>/dev/null

Il file dovrebbe essere eseguibile:

$ chmod +x ~/.vnc/xstartup

Arresto di vncserver

Per arrestare vncserver, utilizzare il comando:

$ vncserver -kill :1

Sostituire :1 con il relativo numero di istanza fornito al momento dell’avvio.

Aggiunta delle opzioni vncserver

Le opzioni del server supportate possono essere aggiunte modificando il file ~/.vnc/config. Le opzioni comuni sono:

$ cat ~/.vnc/config

securitytypes=vncauth,tlsvnc
desktop=sandbox
geometry=1200x700
dpi=96
localhost
alwaysshared

Modificali a tuo piacimento e salva.

Avvio e arresto di vncserver tramite systemd

Per controllare vncserver con systemd, creare prima il file unit systemd per l’utente,

$ cat /etc/systemd/system/vncserver@:1.service

[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=simple
User=jmutai
PAMName=login
PIDFile=/home/%u/.vnc/%H%i.pid
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver %i -geometry 1440x900 -alwaysshared -fg
ExecStop=/usr/bin/vncserver -kill %i

[Install]
WantedBy=multi-user.target

Dove:1 è la variabile di ambiente $DISPLAY. Sostituire jmutai con il nome utente desiderato e 1440×900 con la risoluzione che desideri impostare.

Per avviare il servizio, eseguire

$ sudo systemctl start vncserver@:1.service

Per consentirne l’esecuzione all’avvio, eseguire:

$ sudo systemctl enable vncserver@:1.service

Controllo del display locale con vncserver

A tal fine, viene fornito il binario x0vncserver che consente il controllo diretto su una sessione X fisica. Evocalo così:

$ x0vncserver -display :0 -passwordfile ~/.vnc/passwd

Wed Jan 10 01:07:17 2018
Geometry: Desktop geometry is set to 1920x1080+0+0
Main: XTest extension present - version 2.2
Main: Listening on port 5900

L’unità systemd per lo stesso sarà simile a questa:

$ cat /etc/systemd/system/x0vncserver.service

[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=forking
User=foo
ExecStart=/usr/bin/sh -c '/usr/bin/x0vncserver -display :0 -rfbport 5900 -passwordfile /home/jmutai/.vnc/passwd &'

[Install]
WantedBy=multi-user.target

Connessione al server vnc

Qualsiasi numero di client può connettersi a un server vnc:

$  ip ad show dev wlp1s0
2: wlp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
 link/ether e4:a7:a0:ef:27:d9 brd ff:ff:ff:ff:ff:ff
 inet 192.168.0.16/24 brd 192.168.0.255 scope global dynamic noprefixroute wlp1s0
 valid_lft 595575sec preferred_lft 595575sec
 inet6 fe80::557e:6563:6f86:f8b2/64 scope link noprefixroute 
 valid_lft forever preferred_lft forever

$ vncviewer

Immettere l’indirizzo IP e fare clic su Connetti, quindi verrà richiesta una password, utilizzare quella impostata in precedenza.

Installazione di client basati su GUI per tigervnc su Arch

Sono disponibili numerose applicazioni GUI per la connessione a vncserver, tra cui:

Krdc:

$ sudo pacman -S krdc

Quando avvii krdc, inserisci vcn server ip su url e connettiti:

tigervnc su Arch

Rdesktop:

$ sudo pacman -S rdesktop

Remini

$ sudo pacman -S remmina

Per utilizzare una di queste applicazioni basate su GUI, avviala e fornisci i dettagli richiesti.

Related Articles

Lascia un commento

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

Back to top button
Close