Table des matières
X2Go : LXDE distant sur écran 4K (HiDPI)
Dernière mise à jour : août 2026
Problème
Client X2Go sur poste 4K (CachyOS/GNOME) : le contenu de la session LXDE distante s'affiche minuscule (pas de scaling HiDPI).
Points constatés :
QT_SCALE_FACTOR=2côté client n'agrandit que l'interface du client x2goclient, pas la session.- Le réglage DPI du profil (
setdpi=true,dpi=192) est transmis (X2GODPI=192) mais LXDE (GTK2/3) l'ignore. ~/.xsessionrccôté serveur n'est pas sourcé par X2Go : les variablesGDK_SCALEetc. n'apparaissent pas dans l'environnement delxsession.- La géométrie et le DPI ne s'appliquent qu'à la création de session : une session suspendue/reprise garde ses anciens réglages.
Solution : script wrapper côté serveur
Sur le serveur (utilisateur de session, ex. maitre) :
mkdir -p ~/bin && cat > ~/bin/lxde-hidpi.sh << "EOF" #!/bin/bash export GDK_SCALE=2 export GDK_DPI_SCALE=0.5 export QT_SCALE_FACTOR=2 export XCURSOR_SIZE=48 echo "Xft.dpi: 192" | xrdb -merge exec startlxde EOF chmod +x ~/bin/lxde-hidpi.sh
Rôle des variables :
GDK_SCALE=2: widgets GTK3 à 2xGDK_DPI_SCALE=0.5: évite le double scaling des polices GTK3Xft.dpi: 192: polices GTK2 (panneau LXDE, pcmanfm)XCURSOR_SIZE=48: curseur agrandi
Panneau LXDE : hauteur HiDPI
Le profil par défaut (/etc/xdg/lxpanel/LXDE/panels/panel) fixe height=26 — quasi invisible en 4K, et le panneau peut s'effondrer à une géométrie 20×20 après un changement de résolution RANDR (redimensionnement de la fenêtre X2Go). Symptôme : « plus de menu ».
Correctif persistant — profil utilisateur avec hauteur adaptée :
mkdir -p ~/.config/lxpanel/LXDE/panels cp -n /etc/xdg/lxpanel/LXDE/panels/panel ~/.config/lxpanel/LXDE/panels/panel sed -i 's/^ height=.*/ height=52/' ~/.config/lxpanel/LXDE/panels/panel
S'applique au prochain démarrage du panneau (nouvelle session ou relance).
Diagnostic de l'effondrement (depuis SSH, display de x2golistsessions, 3ᵉ colonne) :
DISPLAY=:50 xwininfo -root -children | grep -i lxpanel # 20x20 = panneau effondré
Notes :
lxpanelctl restartpeut être sans effet (le processus lxpanel n'est pas relancé — vérifier avecpgrep -a lxpanelque le PID change).- Relance manuelle : tuer le PID puis relancer avec l'environnement HiDPI, sinon le panneau revient sans scaling :
kill <pid_lxpanel> DISPLAY=:50 GDK_SCALE=2 GDK_DPI_SCALE=0.5 XCURSOR_SIZE=48 setsid lxpanel --profile LXDE &
Configuration client
x2goclient → éditer le profil → onglet Session :
- Type de session : Bureau personnalisé (Custom desktop)
- Commande :
/home/maitre/bin/lxde-hidpi.sh
Attention au mode rootless : si le profil lance la commande comme application unique (rootless) au lieu de session de bureau, les fenêtres distantes — dont le panneau LXDE — apparaissent directement sur le bureau local, hors de la fenêtre x2goclient. Déroutant (le panneau distant semble être un panneau local). Vérifier que le type est bien un bureau ; en cas de doute, hostname dans un LXTerminal ouvert depuis ce panneau doit répondre le nom du serveur.
Application
Terminer toute session existante (les réglages ne s'appliquent qu'à la création) :
x2goterminate-session $(x2golistsessions | cut -d'|' -f2)
Puis se reconnecter : la nouvelle session est créée avec le scaling.
Dépannage
- Vérifier les sessions côté serveur :
x2golistsessions(étatS= suspendue,R= active ; sortie vide = aucune). - Session zombie (« Connection refused » au resume, crash client) :
x2goterminate-session <id>voirex2gocleansessions. - Vérifier que les variables sont bien dans la session :
pid=$(pgrep -u maitre lxsession | head -1) tr "\0" "\n" < /proc/$pid/environ | grep -E "GDK|QT_SCALE"
- Config client dans
~/.x2goclient/sessions(champswidth,height,fullscreen,dpi) — éditable à la main, client fermé. - Limite GTK2 : seules les polices scalent, pas les icônes → ajuster la hauteur du panneau LXDE manuellement (voir section dédiée ci-dessus).
