Suivant: , Précédent: , Monter: Services   [Table des matières][Index]


11.10.23 Services VNC

le module (gnu services vnc) fournit les services liés à l’informatique virtuelle en réseau (VNC), qui rend possible l’utilisation locale d’applications Xorg graphiques qui tournent sur une machine distante. Avec un gestionnaire graphique qui prend en charge le protocole de contrôle de gestion de l’affichage X, comme GDM (voir gdm) ou LightDM (voir lightdm), il est possible de rendre un bureau à distance complet pour un environnement multi-utilisateur.

Xvnc

Xvnc est un serveur VNC qui démarre son propre serveur X. Cela signifie qu’il peut lancer des serveurs sans affichage. Les implémentations de Xvnc fournies par tigervnc-server et turbovnc se veulent rapides et efficaces.

Variable :xvnc-service-type

The xvnc-service-type service can be configured via the xvnc-configuration record, documented below. A second virtual display could be made available on a remote machine via the following configuration:

(service xvnc-service-type
         (xvnc-configuration (display-number 10)))

Pour l’exemple, la commande xclock peut ensuite être démarrée sur la machine à distance sur l’affichage numéro 10, et elle peut être affichée localement via la commande vncviewer :

# Démarre xclock sur la machine distante.
ssh -L5910:localhost:5910 votre-hôte -- guix shell xclock -- env DISPLAY=:10 xclock \
    --env DISPLAY=:10 xclock
# On y accède via VNC.
guix shell tigervnc-client -- vncviewer localhost:5910

La configuration suivante combine XDMCP et Inetd pour permettre à plusieurs utilisateurs ou utilisatrices d’utiliser le système à distance et de se connecter via le gestionnaire d’affichage GDM en même temps :

(operating-system
  [...]
  (services (cons*
             [...]
             (service xvnc-service-type (xvnc-configuration
                                         (display-number 5)
                                         (localhost? #f)
                                         (xdmcp? #t)
                                         (inetd? #t)))
             (modify-services %desktop-services
               (gdm-service-type config => (gdm-configuration
                                            (inherit config)
                                            (auto-suspend? #f)
                                            (xdmcp? #t)))))))

Vous pouvez ensuite vous connecter à distance en utilisant la commande vncviewer ou un client VNC compatible et démarrer une session de bureau de votre choix :

vncviewer hôte-distant:5905

Attention : À moins que votre machine ne se trouve dans un environnement contrôlé, pour des raisons de sécurité, la configuration localhost? de l’enregistrement xvnc-configuration devrait garder sa valeur par défaut #t et être exposé par un moyen sécurisé comme la redirection de port SSH. Le port XDMCP, UDP 177 devrait aussi être bloqué de l’extérieur par un pare-feu, car ce n’est pas un protocole sécurisé et peut exposer les identifiants en clair.

Type de données :xvnc-configuration

Les champs de xvnc-configuration disponibles sont :

xvnc (par défaut : tigervnc-server) (type : simili-fichier)

Le paquet qui fournit le binaire Xvnc.

display-number (par défaut : 0) (type : nombre)

Le numéro d’affichage utilisé par Xvnc. Vous devriez le paramétrer à un numéro non utilisé par un serveur Xorg.

geometry (par défaut : "1024x768") (type : chaine)

La taille du bureau à créer.

depth (par défaut : 24) (type : color-depth)

La profondeur de pixel en bits du bureau à créer . Les valeurs possibles sont 16, 24 et 32.

port (type : peut-être-port)

Le port sur lequel écouter les connexions entrantes des visualiseurs. Si la valeur n’est pas spécifiée, écoute sur le port 5900 plus le numéro d’affichage par défaut.

ipv4? (par défaut : #t) (type : booléen)

Utiliser IPv4 pour les connexions entrantes et sortantes.

ipv6? (par défaut : #t) (type : booléen)

Utiliser IPv6 pour les connexions entrantes et sortantes.

password-file (type : peut-être-chaine)

Le mot de passe à utiliser, si vous en voulez un. Consultez vncpasswd(1) pour apprendre à générer un tel fichier.

xdmcp? (par défaut : #f) (type : booléen)

Demande une session au serveur XDMCP. Cela permet aux utilisateurs et aux utilisatrices de se connecter à une session de bureau depuis l’écran du gestionnaire de connexion. Pour un scénario à plusieurs utilisateurs et utilisatrices, vous devrez également activer l’option inetd? pour que chaque connexion au serveur VNC soit gérée séparément, plutôt qu’elles soient partagées.

inetd? (par défaut : #f) (type : booléen)

Utiliser un service de type Inetd, qui lance le serveur Xvnc à la demande.

frame-rate (par défaut : 60) (type : entier)

Le nombre maximum de mise à jour par seconde envoyées à chaque client.

security-types (par défaut : '("None")) (type : types-de-sécurité)

Les schémas de sécurité autorisés à utiliser pour les connexions entrantes. La valeur par défaut est "None", ce qui est sûr étant donné que Xvnc est configuré pour authentifier les personnes via le gestionnaire d’affichage et seulement pour les connexions locales. Les valeurs acceptées sont les suivantes : ("None" "VncAuth" "Plain" "TLSNone" "TLSVnc" "TLSPlain" "X509None" "X509Vnc")

localhost? (par défaut : #t) (type : booléen)

Ne permettre que les connexions de la même machine. La valeur est #true par défaut par sécurité, ce qui signifie que SSH ou d’autres manières sécurisées doivent être utilisés pour exposer le port distant.

log-level (par défaut : 30) (type : niveau-de-journalisation)

Le niveau de journalisation, un nombre entre 0 et 100, 100 étant la sortie la plus verbeuse. Les messages de journalisation sont envoyés au syslog.

extra-options (par défaut : '()) (type : chaines)

On peut utiliser cette option pour fournir des options Xvnc supplémentaires qui ne sont pas proposées par cet enregistrement <xvnc-configuration>.


Suivant: Services VPN, Précédent: Services DNS, Monter: Services   [Table des matières][Index]