Il più delle volte come amministratore di sistema Linux stai gestendo i server sulla rete. È molto raro che dovrai avere un accesso fisico a uno qualsiasi dei tuoi server gestiti. Nella maggior parte dei casi tutto ciò di cui hai bisogno è SSH in remoto svolgere le attività di amministrazione. In questo articolo configureremo un'alternativa GUI a un accesso remoto al server RHEL, che è VNC. VNC consente di aprire una sessione di GUI remota al tuo server e quindi fornendo un'interfaccia grafica completa accessibile da qualsiasi posizione remota.
In questo tutorial imparerai:
- Come installare i pacchetti VNC richiesti
- Come configurare e avviare il server VNC su RHEL
- Come connettersi a una sessione grafica in remoto
- Come eseguire programmi grafici nella sessione XTERM
Categoria | Requisiti, convenzioni o versione software utilizzata |
---|---|
Sistema | Red Hat Enterprise Linux |
Software | Tigvnc |
Altro | Accesso privilegiato al tuo sistema Linux come root o tramite il sudo comando. |
Convegni | # - richiede che i comandi Linux vengano eseguiti con privilegi di root direttamente come utente di root o utilizzando sudo comando$ - richiede che i comandi Linux vengano eseguiti come utente normale non privilegiato |
Installazione e configurazione del server VNC
Ci sono molti gestori di finestre che possiamo usare con il server VNC, ma ai fini di questo tutorial imposteremo una semplice sessione XTERM, come xterm
. Mostreremo tuttavia che questo semplice punto di partenza dà la piena funzionalità con un semplice trucco. Si noti inoltre che ci sono gestori di finestre molto più sofisticati, come xfce
, .
- Innanzitutto, dobbiamo installare i pacchetti richiesti per l'applicazione del server:
# DNF Installa tigvnc-server xterm
- Successivamente dobbiamo aprire il firewall per il servizio. Per verificare quali servizi sono attualmente consentiti, elenchiamo i servizi abilitati:
# firewall-cmd-list-services cockpit dhcpv6-client ssh
Apri il
VNC-Server
servizio:# firewall-cmd -permanent --zone = public-sier-server-server successo
Applicare la modifica della configurazione:
# Firewall-CMD--REAL
E elenca nuovamente i servizi per verificare:
# firewall-cmd-list-services cockpit dhcpv6-client ssh VNC-Server
AVVERTIMENTO
Non aprire il servizio VNC del tuo computer al pubblico! La regola del firewall sopra viene eseguita in un ambiente limitato ed è solo a scopo dimostrativo. Assicurati di comprendere i rischi prima di aprire qualcosa su un server rivolto a Internet o persino sul desktop. - Dobbiamo configurare l'ambiente in cui il server sarà in esecuzione. In questo esempio il nostro obiettivo è quello di eseguire il server con un utente specificato
Testuser
Chi non haradice
privilegi. Si noti che questo passaggio viene eseguito con l'utente che eseguirà il server, nonradice
. Abbiamo impostato una password che consentirà la connessione (che non ha nulla a che fare con la password dell'utente utilizzata conssh
)$ vnccpasswd password: verifica: desideri inserire una password di sola vista (y/n)? N
Non abbiamo bisogno di avere accesso solo alla vista in questo esempio. Successivamente modifichiamo il
/home/testuser/.Vnc/Xstartup
File di testo con un editor di testo comenano
. Il file dovrebbe essere vuoto dopo l'installazione e aggiungeremo solo un contenuto minimo per l'avvioxterm
sessione sulla connessione. Aggiungiamo la seguente riga al file vuoto:Xterm -Geometry 1044x810+10+10 &
Regola i parametri della geometria per adattarsi allo schermo. Ora possiamo avviare il server:
$ vncserver new 'rhel8beta.Lab: 1 (Testuser) 'Desktop è Rhel8beta.casa.HU: 1 applicazioni iniziali specificate in/home/testuser/.VNC/XSTARTUP File di registro IS/Home/Testuser/.VNC/RHEL8Beta.Lab: 1.tronco d'albero
Come suggerisce l'output, possiamo seguire i registri forniti dal server nei file di registro sotto
/casa//.vnc/: 1.tronco d'albero
, Questo nome file cambierà se sono in esecuzione più di un server VNC (così come la porta necessaria per connettersi). Logfile dice anche su quale porta sta ascoltando il server:
VNCEXT: ascolto per le connessioni VNC su tutte le interfacce, porta 5901
Che è la porta VNC predefinita.
- Possiamo utilizzare molti client VNC per connetterci al server ora avviato.
Remmina
è un client spedito con i recenti desktop gnome per impostazione predefinita e può gestire le sessioni SSH, RDP e VNC. Dobbiamo fornire il nome host o l'indirizzo IP dell'host che esegue il server VNC, nonché la porta. L'esempio seguente usa192.168.1.14
come indirizzo e porta predefinita5901
Abbiamo trovato nel file di registro del server nel passaggio precedente. Dobbiamo selezionare "VNC" come protocollo accanto al campo dell'indirizzo e digitare la password con cui abbiamo specificatovncpasswd
prima. Collegamento a Tigvnc con remmina
Se tutto funziona come previsto, siamo connessi al server VNC e in esecuzione
Esegui il top ininterrotto in remotoxterm
, Accettare e fornire contenuti degli appunti, protetti dal guasto della rete. ILsuperiore
Esempio di seguito verrà eseguito ininterrotto se disconnettiamo dalla sessione e riconnettiamo in seguito. - Mentre questi passaggi praticamente mostrano come impostare il server VNC e connettersi ad esso, non ha molto senso eseguire
superiore
su un telecomandoxterm
sessione, come potremmo farlo con molto meno sforzo con SSH e un server di sessione comeschermo
. Per vedere la potenza di una configurazione XTERM così semplice, digita semplicementegedit
Sulla console XTERM remota (supponendo che sia installato un desktop GNOME).
Un documento vuoto viene visualizzato in Gedit, proprio come qualsiasi programma grafico quando è iniziato dalla riga di comando. Si noti che il documento che viene modificato in remoto e il programma che lo sta trattenendo è anche protetto dalla sessione VNC. Un'interruzione di rete non lo influirà, possiamo semplicemente riconnetterci e continuare a lavorare sul testo, anche se la nostra macchina client sperimenta un errore irregolare e abbiamo dimenticato di salvare il nostro lavoro per le ultime ore. Naturalmente il server VNC non proteggerà dal fallimento della macchina su cui è in esecuzione.
Risoluzione dei problemi
Se si ottiene un errore di "connessione rifiutata", è molto probabilmente un problema con le impostazioni del firewall. Assicurati di avere l'accesso configurato per VNC con i seguenti comandi:
# firewall-cmd --permanent --zone = public-siervice vnc-server # firewall-cmd--reload
Altrimenti, potrebbe essere un dispositivo tra i due sistemi che blocca la connessione o solo un problema di routing con la rete.
Se si tenta di connetterti al server VNC e finire con solo uno schermo nero, è probabile perché non esiste un gestore di finestre per VNC. Nelle istruzioni sopra, mostriamo come configurare xterm
per questo scopo. Puoi anche usare un gestore di finestre a pieno titolo come Gnome o XFCE, ma devi impostare qualcosa. Assicurati che XTerm sia configurato come Gestore della finestra VNC per le istruzioni sopra.