Escriptori remot sempre disponible amb LXQt, TigerVNC i una Raspberry Pi 5

Servidor sense pantalla amb una Raspberry Pi 5 i un escriptori remot VNC

L'objectiu d'aquest article és mostrar com podem tenir un servidor remot sempre al nostre abast amb VNC i una Raspberry Pi sense teclat, ratolí ni monitor.

Instal·lem els següents programes per a tenir un escriptori LXQt remot amb VNC sempre disponible:

sudo apt update
sudo apt install tigervnc-standalone-server tigervnc-common tigervnc-tools lxqt-core lxqt-session lxqt-panel pcmanfm-qt openbox dbus-x11 xdg-user-dirs

És molt important la seguretat. Ens crearem una contrasenya per a totes les sessions de connexió remota:

vncpasswd

Anem a crear un script que inicie TigerVNC sempre que iniciem l'escriptori LXQt. Editarem el fitxer ~/.vnc/xstartup i afegirem el següent:

#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
#
export XDG_RUNTIME_DIR=/run/user/$(id -u)
if [ ! -d "$XDG_RUNTIME_DIR" ]; then
export XDG_RUNTIME_DIR="$HOME/.xdg-runtime"
mkdir -p "$XDG_RUNTIME_DIR"
chmod 700 "$XDG_RUNTIME_DIR"
fi
#
xrdb "$HOME/.Xresources" 2>/dev/null
exec dbus-launch --exit-with-session startlxqt

I farem que siga executable:

chmod +x ~/.vnc/xstartup

Prova manual

Anem a fer la primera prova. Anem a iniciar manualment el servidor VNC i ens hauria d'obrir un escriptori LXQt:

vncserver -localhost no -geometry 1920x1080 -depth 24 :1

Ens connectarem des de quaslevol ordinador de la nostra LAN:

vncviewer 192.168.1.10:1

escriptori LXQt remot

Funciona perfectament! aleshores, ja podem automatitzar tenir un escriptori sempre disponible.

Un servei que inicie l'escriptori quan encenem la Raspberry Pi
Ara farem que el servidor TigerVNC s’inicie automàticament cada vegada que la Raspberry arranque de manera autònoma. Ho farem amb un servei systemd d’usuari, que és la manera més neta i moderna (no cal tocar /etc ni executar com a root).

Crearem el fitxer vncserver.server:

joan@r5:~ $ mkdir -p ~/.config/systemd/user
joan@r5:~ $ vi .config/systemd/user/vncserver.service

Afegirem el següent codi:

[Unit]
Description=TigerVNC LXQt Server
After=graphical-session.target network.target
#
[Service]
Type=forking
ExecStart=/usr/bin/vncserver -localhost no -geometry 1920x1080 -depth 24 :1
ExecStop=/usr/bin/vncserver -kill :1
Restart=on-failure
#
# Directori HOME correcte
WorkingDirectory=%h
Environment=DISPLAY=:1
Environment=XDG_RUNTIME_DIR=/run/user/%U
#
[Install]
WantedBy=default.target

Habilitarem el “linger” perquè systemd d’usuari s’execute al boot, Això permet que els serveis “d’usuari” s’executin encara que no hi hagi sessió iniciada.. Ho farem de la següent manera:

sudo loginctl enable-linger $USER

Carreguem el servei i reiniciem la màquina:

systemctl --user daemon-reload
sudo reboot

Ja tenim un servidor sense monitor servint sempre un escriptori remot amb VNC.

Doncs bé això és tot, espere que trobes útil aquest article i que et motive a compartir els teus trucs, els teus coneixements i els teus experiments amb el Programari Lliure. Pensa-ho, va, que la Comunitat del Programari Lliure va creixent gràcies a la documentació, el disseny, la formació o la programació, sigues part de la Comunitat :-)

La cultura i la lliure circulació de les idees és l'arma més efectiva contra les dictadures del pensament i contra la ignorància.

Utilitats

NAVEGACIÓ SENSE RATOLÍ

- Tab següent enllaç.
- Shift+Tab anterior enllaç.
- Enter activa l'enllaç.
- Alt+esquerra anar arrere.

CONTRAST DE COLORS

Accessibilitat - Color Negre
Accessibilitat - Color Groc
Accessibilitat - Color Verd

Accessibilitat - Color Blau
Accessibilitat - Color Crema
Accessibilitat - Color Blanc

 

PORTADES ALTERNATIVES