Un server Linux non ha uno schermo, e quasi sempre non gli serve. A volte sì: un browser che deve uscire dall'indirizzo del server stesso, uno strumento solo grafico, oppure un desktop da lasciare acceso e ritrovare da qualsiasi computer. Questa guida aggiunge a Ubuntu 24.04 il desktop leggero XFCE e xrdp, così puoi aprirlo con la stessa app di Desktop remoto che useresti per un server Windows.
Abbiamo testato ogni passo sulla nostra immagine Ubuntu 24.04. Due impostazioni predefinite hanno fatto fallire il primo tentativo, e qui sotto le correggiamo entrambe. Ti serve un utente normale con sudo; la guida alla configurazione di Ubuntu ne crea uno. Negli esempi si chiama deploy.
1. Installa XFCE e xrdp
sudo apt update
sudo apt install -y xfce4 xfce4-goodies xrdp
Sul nostro server da 2 GB ci sono voluti circa quattro minuti e mezzo e 1,7 GB di disco (2,7 GB usati prima, 4,4 GB dopo). Viene installato xrdp 0.9.24, che parte subito e ascolta sulla porta 3389.
2. Fai avviare a xrdp XFCE, non GNOME
Accedi con l'utente che userà il desktop ed esegui:
echo xfce4-session > ~/.xsession
Senza questo file il nostro primo accesso ha avviato GNOME invece di XFCE, e la sessione è morta subito con "Oh no! Something has gone wrong". I pacchetti del passo 1 installano anche il gestore di sessione di GNOME, e Ubuntu lo imposta come predefinito. Con ~/.xsession al suo posto, xrdp avvia XFCE.
3. Lascia che xrdp usi TLS
xrdp gira con un proprio utente xrdp, che non può leggere la chiave privata del server. La nostra prima connessione ha funzionato, ma /var/log/xrdp.log mostrava perché non c'era da fidarsi:
Cannot read private key file /etc/xrdp/key.pem: Permission denied
Non-TLS connection established from ::ffff:127.0.0.1
Senza la chiave, xrdp ripiega sulla vecchia cifratura RDP invece di TLS. Dagli l'accesso e riavvia:
sudo adduser xrdp ssl-cert
sudo systemctl restart xrdp
La connessione successiva nel nostro log risultava come TLS connection established ... TLSv1.3. Puoi controllare la tua nello stesso modo:
sudo grep -E "TLS connection|Non-TLS" /var/log/xrdp.log | tail -2
4. Tieni la porta 3389 fuori da internet
Una volta installato, xrdp ascolta su tutti gli indirizzi. A differenza di Windows, xrdp non ha la Network Level Authentication, quindi chiunque raggiunga la porta ottiene una schermata di accesso su cui provare password. Fallo ascoltare solo sul server stesso:
sudo sed -i 's|^port=3389$|port=tcp://127.0.0.1:3389|' /etc/xrdp/xrdp.ini
sudo systemctl restart xrdp
ss -ltn | grep 3389
L'ultima riga deve mostrare 127.0.0.1:3389. Nel nostro test una connessione diretta all'indirizzo del server sulla 3389 veniva poi rifiutata, e il tunnel del passo successivo funzionava ancora.
5. Collegati tramite SSH
Sul tuo computer apri un tunnel. Su Windows, PowerShell ha lo stesso comando ssh:
ssh -L 13389:localhost:3389 deploy@YOUR.SERVER.IP
Su un piano NAT aggiungi -p e la porta SSH personale del pannello. Lascia aperta quella finestra. Poi punta l'app di Desktop remoto su localhost:13389 e accedi come deploy con la password di quell'utente:
- Windows: Connessione Desktop remoto (
mstsc). - macOS: Windows App, dall'App Store.
- Linux: Remmina, oppure
xfreerdp /v:localhost:13389 /u:deploy.
La porta locale è 13389 e non 3389 perché la 3389 potrebbe essere già occupata sul tuo computer dal suo Desktop remoto. La prima volta l'app avvisa di un certificato che non riconosce. È il certificato autofirmato del server, e la connessione è comunque cifrata dentro SSH.
6. Cosa ottieni
Ottieni un desktop XFCE con pannello, file manager e terminale. Sul nostro server una sessione ha aggiunto circa 360 MB di RAM: 388 MB usati prima di collegarci, 747 MB durante la sessione.
Chiudere la finestra di Desktop remoto non ti disconnette dalla sessione. Nel nostro test un comando lungo è andato avanti dopo la disconnessione. Quando ci siamo ricollegati, xrdp ci ha rimesso nella stessa sessione (reconnected session ... display :10 nel suo log). Per chiudere davvero la sessione usa Log Out nel menu di XFCE.
Quale piano
Il desktop ha bisogno di RAM più che di CPU. Micro (2 vCPU, 2 GB, 25 GB, $5/mese) fa girare XFCE e strumenti leggeri senza fatica. Se pensi di tenere un browser aperto nella sessione, prendi Small con 4 vCPU e 4 GB a $8/mese. Sono entrambi piani NAT, e qui va benissimo: il Desktop remoto passa dalla tua porta SSH.
Se in realtà ti serve software Windows, un VPS Windows lo esegue direttamente, e Windows-Small parte da $11/mese. Ubuntu 24.04 è nella pagina Ubuntu VPS e su tutti i piani Linux in VPS. Il pagamento è in USDT, USDC o ETH su Base, Ethereum o Polygon.
Commenti
Ancora nessun commento. Sii il primo.