Azioni

Differenze tra le versioni di "Thin client RDP con GNU/Linux e Remmina"

Da MontelLUG WIKI.

m
(Aggiornata la guida - provvisoria)
Riga 1: Riga 1:
Appunti sulla preparazione di un ''thin client'' RDP. Utente Odeeno, ultimo aggiornamento 03/2021. Fasi della configurazione:
+
Appunti sulla preparazione di un ''thin client'' RDP. Utente Odeeno, ultimo aggiornamento 03/2021 - ''in aggiornamento''. Fasi della configurazione:
  
 
== Installare Debian base ==
 
== Installare Debian base ==
Riga 10: Riga 10:
 
Terminata l'installazione e riavviato il sistema ho creato un nuovo utente, non amministratore, che poi sarà utilizzato per l'avvio del ''thin-client'':
 
Terminata l'installazione e riavviato il sistema ho creato un nuovo utente, non amministratore, che poi sarà utilizzato per l'avvio del ''thin-client'':
  
sudo adduser thiny
+
<code> sudo adduser thiny </code>
  
  
Riga 16: Riga 16:
 
Naturalmente è necessario avere un server grafico: quelli installabili nella fase di installazione non ci interessano. La scelta è ricaduta su un Window Manager minimale, senza alcun programma specifico installato: Openbox
 
Naturalmente è necessario avere un server grafico: quelli installabili nella fase di installazione non ci interessano. La scelta è ricaduta su un Window Manager minimale, senza alcun programma specifico installato: Openbox
  
sudo apt install openbox xserver-xorg x11-xserver-utils xinit xdg-utils
+
<code> sudo apt install openbox xserver-xorg x11-xserver-utils xinit xdg-utils </code>
  
 
Non ci serve un gestore grafico di login. Anche in questo caso si può ottimizzare, per ridurre all'essenziale i programmi installati: in questa fase ho optato per installare tutte le dipendenze, anche raccomandate. Al termine è stato fatto un test per accertarmi che Openbox partisse:
 
Non ci serve un gestore grafico di login. Anche in questo caso si può ottimizzare, per ridurre all'essenziale i programmi installati: in questa fase ho optato per installare tutte le dipendenze, anche raccomandate. Al termine è stato fatto un test per accertarmi che Openbox partisse:
  
startx
+
<code> startx </code>
  
 
== Installare Remmina ==
 
== Installare Remmina ==
 
Successivamente è necessario installare un software che consenta di collegarsi con il desktop remoto, nel caso specifico mi interessa RDP. La scelta ricade sull'ottimo Remmina
 
Successivamente è necessario installare un software che consenta di collegarsi con il desktop remoto, nel caso specifico mi interessa RDP. La scelta ricade sull'ottimo Remmina
  
sudo apt install remmina
+
<code> sudo apt install remmina </code>
  
 
Anche in questo caso: è possibile scegliere software ottimizzati, minimali come xrdp o l'ottimo freerdp, ma per una questione di facilità di configurazione (dopo riportata) ho scelto Remmina. Anche in questo caso potevano esser installati solo i moduli essenziali per RDP di Remmina, ma sono stati installate tutte le dipendenze raccomandate. L'ottimizzazione in caso verrà fatta in seguito.
 
Anche in questo caso: è possibile scegliere software ottimizzati, minimali come xrdp o l'ottimo freerdp, ma per una questione di facilità di configurazione (dopo riportata) ho scelto Remmina. Anche in questo caso potevano esser installati solo i moduli essenziali per RDP di Remmina, ma sono stati installate tutte le dipendenze raccomandate. L'ottimizzazione in caso verrà fatta in seguito.
Riga 38: Riga 38:
 
Facciamo partire automaticamente Openbox al login dell'utente thiny, senza necessità di digitare startx:  
 
Facciamo partire automaticamente Openbox al login dell'utente thiny, senza necessità di digitare startx:  
  
sudo nano /home/thiny/.profile
+
<code> sudo nano /home/thiny/.profile </code>
  
 
Inserire alla fine del file questo testo:
 
Inserire alla fine del file questo testo:
  
[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && startx
+
<code> [[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && startx </code>
  
 
Modificare xinitrc affinché faccia partire Openbox:
 
Modificare xinitrc affinché faccia partire Openbox:
  
sudo nano /etc/X11/xinit/xinitrc
+
<code> sudo nano /etc/X11/xinit/xinitrc </code>
  
 
Commentare alla fine:
 
Commentare alla fine:
  
# . /etc/X11/xsession
+
<code> # . /etc/X11/xsession </code>
  
 
aggiungere:
 
aggiungere:
  
exec openbox-session
+
<code> exec openbox-session </code>
  
 
Provare a fare il login con l'utente thiny e dovrebbe partire immediatamente Openbox (schermata nera con il puntatore del mouse). E' poi possibile aggiungere alcune righe al file di configurazione di Openbox per evitare screensaver, spegnimento dello schermo, risparmio energetico: vogliamo inoltre che parta automaticamente Remmina, utilizzando il nostro file di configurazione:
 
Provare a fare il login con l'utente thiny e dovrebbe partire immediatamente Openbox (schermata nera con il puntatore del mouse). E' poi possibile aggiungere alcune righe al file di configurazione di Openbox per evitare screensaver, spegnimento dello schermo, risparmio energetico: vogliamo inoltre che parta automaticamente Remmina, utilizzando il nostro file di configurazione:
  
sudo nano /etc/xdg/openbox/autostart
+
<code> sudo nano /etc/xdg/openbox/autostart </code>
  
 
aggiungere:
 
aggiungere:
  
 +
<code>
 
  xset s off
 
  xset s off
 
  xset s noblank
 
  xset s noblank
 
  xset -dpms
 
  xset -dpms
  remmina -c /home/thiny/configurazione-di-esempio.remmina &
+
  remmina -k -c /home/thiny/configurazione-di-esempio.remmina &
 +
</code>
  
 
Test di login per verificare se parte regolarmente.
 
Test di login per verificare se parte regolarmente.
  
Infine vogliamo che l'utente thiny faccia l'autologin all'avvio, senza password.  
+
Infine vogliamo che l'utente thiny faccia l'autologin all'avvio, senza password. In Debian è in uso Systemd, aggiungiamo un servizio:
 +
 
 +
<code> sudo nano /etc/systemd/system/xinit-login.service </code>
 +
 
 +
Con questo contenuto:
 +
 
 +
<code>
 +
[Unit]
 +
After=systemd-user-sessions.service
 +
 
 +
[Service]
 +
ExecStart=/bin/su thiny -l -c /usr/bin/startx -- VT08
 +
 
 +
[Install]
 +
WantedBy=multi-user.target
 +
</code>
 +
 
 +
Infine abilitiamo il servizio con:
 +
 
 +
<code> sudo systemctl enable xinit-login.service </code>
 +
 
  
 
== Altro ==
 
== Altro ==

Versione delle 22:31, 21 mar 2021

Appunti sulla preparazione di un thin client RDP. Utente Odeeno, ultimo aggiornamento 03/2021 - in aggiornamento. Fasi della configurazione:

Installare Debian base

Primo passo è stato installare un sistema operativo base (senza ambiente grafico). Per mia scelta e conoscenza ho scelto Debian, con un immagine net-install, nella versione stable per avere la massima stabilità e non dover tendenzialmente doverci rimettere le mani.

Non spiego come fare, perché non è oggetto di questa guida: l'unica opzione specifica che ho scelto è stata l'installazione automatico degli aggiornamenti di sicurezza. Come scritto, non serve installare alcun ambiente grafico in questa fase: nella fase di tasksel ho optato solo per l'installazione delle utilità di base ed il server ssh, che può tornar utile per il resto dell'installazione o per necessità di manutenzione.

Il sistema è ridotto al minimo, ma non sono state fatte particolari scelte di ottimizzazione o semplificazione: es. moduli installati, kernel, driver specifici, ecc... Il primo test vien fatto allo scopo che funzioni, poi verranno fatte le ottimizzazioni (che tra l'altro potrebbero dipendere dalla distribuzione scelta).

Terminata l'installazione e riavviato il sistema ho creato un nuovo utente, non amministratore, che poi sarà utilizzato per l'avvio del thin-client:

sudo adduser thiny


Installare un windows manager basilare

Naturalmente è necessario avere un server grafico: quelli installabili nella fase di installazione non ci interessano. La scelta è ricaduta su un Window Manager minimale, senza alcun programma specifico installato: Openbox

sudo apt install openbox xserver-xorg x11-xserver-utils xinit xdg-utils

Non ci serve un gestore grafico di login. Anche in questo caso si può ottimizzare, per ridurre all'essenziale i programmi installati: in questa fase ho optato per installare tutte le dipendenze, anche raccomandate. Al termine è stato fatto un test per accertarmi che Openbox partisse:

startx

Installare Remmina

Successivamente è necessario installare un software che consenta di collegarsi con il desktop remoto, nel caso specifico mi interessa RDP. La scelta ricade sull'ottimo Remmina

sudo apt install remmina

Anche in questo caso: è possibile scegliere software ottimizzati, minimali come xrdp o l'ottimo freerdp, ma per una questione di facilità di configurazione (dopo riportata) ho scelto Remmina. Anche in questo caso potevano esser installati solo i moduli essenziali per RDP di Remmina, ma sono stati installate tutte le dipendenze raccomandate. L'ottimizzazione in caso verrà fatta in seguito.

Configurazione di Remmina

Come scritto Remmina, è stato scelto per una comodità nella configurazione. Su altro computer è installato il programma ed è presente una configurazione pronta, funzionante ed ottimizzata del programma che è stata copiata nella cartella /home/thiny/configurazione-di-esempio.remmina In caso di necessità di cambiamenti, configurazioni di dispositivi USB, reti, utente, webcam, smartcard ed altro, la configurazione verrà provata e testata su altro PC e copiata (anche via ssh) sulla cartella su indicata per il successivo riavvio.

Setup per l'avvio automatico

Vogliamo infine che il sistema faccia partire automaticamente Remmina all'avvio: non interessa far fare all'utente il login sul sistema Debian. Deve presentarsi direttamente la schermata per l'inserimento di utente e password di login sul desktop remoto.

Facciamo partire automaticamente Openbox al login dell'utente thiny, senza necessità di digitare startx:

sudo nano /home/thiny/.profile

Inserire alla fine del file questo testo:

-z $DISPLAY && $XDG_VTNR -eq 1 && startx

Modificare xinitrc affinché faccia partire Openbox:

sudo nano /etc/X11/xinit/xinitrc

Commentare alla fine:

# . /etc/X11/xsession

aggiungere:

exec openbox-session

Provare a fare il login con l'utente thiny e dovrebbe partire immediatamente Openbox (schermata nera con il puntatore del mouse). E' poi possibile aggiungere alcune righe al file di configurazione di Openbox per evitare screensaver, spegnimento dello schermo, risparmio energetico: vogliamo inoltre che parta automaticamente Remmina, utilizzando il nostro file di configurazione:

sudo nano /etc/xdg/openbox/autostart

aggiungere:

xset s off
xset s noblank
xset -dpms
remmina -k -c /home/thiny/configurazione-di-esempio.remmina &

Test di login per verificare se parte regolarmente.

Infine vogliamo che l'utente thiny faccia l'autologin all'avvio, senza password. In Debian è in uso Systemd, aggiungiamo un servizio:

sudo nano /etc/systemd/system/xinit-login.service

Con questo contenuto:

[Unit] After=systemd-user-sessions.service

[Service] ExecStart=/bin/su thiny -l -c /usr/bin/startx -- VT08

[Install] WantedBy=multi-user.target

Infine abilitiamo il servizio con:

sudo systemctl enable xinit-login.service


Altro

Per lo spegnimento non è stato impostato nulla di automatico. L'utente, una volta disconnesso, si troverà sulla schermata di Openbox: farà disconnetti e poi premerà il pulsante di spegnimento; il sistema riceve il segnale di arresto e procede in automatico.

Suggerimenti sono graditi nella mailing list del LUG.