L'utilisation de TigerVNC sur un serveur Ubuntu permet d'accéder à une interface graphique complète à distance, ce qui est essentiel pour les applications ne disposant pas de version en ligne de commande. Cette configuration repose sur la gestion des sessions VNC et la personnalisation du script de démarrage du gestionnaire de fenêtres.
Commandes fondamentales de TigerVNC
La gestion de l'instance VNC s'effectue via des commandes simples en terminal :
- Démarrage d'une instance :
vncserver :1crée une session sur le port 5901. Le numéro d'écran (display) définit le port (5900 + n). - Consultation des sessions :
vncserver -listpermet d'identifier les processus actifs et leurs ports respectifs. - Arrêt d'une instance :
vncserver -kill :1ferme la session asociée à l'écran :1.
Configuration du script xstartup
Le fichier le plus critique se trouve dans le répertoire caché de l'utilisateur : ~/.vnc/xstartup. Ce script Shell définit l'environnement de bureau qui sera chargé lors de la connexion. Une mauvaise configuration de ce fichier est souvent la cause d'écrans noirs ou de terminaux vides lors de la connexion via VNC Viewer.
Voici une structure optimisée pour un environnement GNOME classique sous Ubuntu :
#!/bin/bash
# Initialisation des variables d'environnement
export XKL_XMODMAP_DISABLE=1
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
# Lancement des composants du bureau GNOME
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
# Démarrage des services essentiels
gnome-panel &
gnome-settings-daemon &
metacity &
nautilus &
# Configuration de la console et du gestionnaire de fenêtres
x-terminal-emulator -geometry 1280x720+10+10 -ls -title "$VNCDESKTOP Desktop" &
exec gnome-session &
Personnalisation avancée de l'interface
Il est possible de varier les composants chargés pour améliorer les performances ou changer l'esthétique du bureau. Par exemple, pour une session plus légère utilisant le gestionnaire de fenêtres par défaut, le script peut être simplifié de la manière suivante :
#!/bin/sh
# Désactivation du gestionnaire de session pour éviter les conflits
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
# Définition d'une couleur de fond grise
xsetroot -solid grey
# Activation du support de copier-coller entre le client et le serveur
vncconfig -iconic &
# Lancement d'un terminal et du gestionnaire de fenêtres système
x-terminal-emulator -geometry 1024x768+5+5 -ls -title "Remote Console" &
exec x-window-manager &
Déploiement et connexion
Pour appliquer les modifications, il est nécessaire de tuer la session existante et d'en démarrer une nouvelle. Pour autoriser les connexions provenant de machines externes (et pas seulement du localhost), utilisez l'argument suivant :
vncserver :1 -localhost no
Une fois le service lancé, utilisez un client tel que VNC Viewer en saisissant l'adresse IP de votre serveur suivie du port correspondant (ex: 192.168.1.100:5901). Si la configuration du fichier xstartup est correcte, l'interface graphique s'affichera immédiatement, offrant un contrôle total sur l'environnement distant.