web-dev-qa-db-fra.com

Configurez le serveur TigerVNC pour qu'il démarre avec le système sous Ubuntu GNOME 16.04

J'essaie de configurer le serveur TigerVNC pour qu'il s'exécute sur buntu GNOME 16.04. . J'ai installé la dernière version ( 1.8 ) de TigerVNC en utilisant ce post . Si je démarre un serveur en utilisant:

vncserver :4 -geometry 1920x1080 -depth 24 -nolisten tcp -localhost

cela fonctionne parfaitement. Je peux me connecter à écran 4 via SSH et avoir un accès complet à mon ordinateur, sans déverrouiller les écrans réels (physiques) de mon laboratoire. De plus, je peux adapter la géométrie à l'écran de mon ordinateur portable, pour que tout soit parfait.

Ensuite, j'ai essayé de faire démarrer le serveur au démarrage, en utilisant systemd, et j'ai trouvé ce post pour m'aider. Cependant, j'utilise le bureau GNOME et les paramètres du blog s'appliquent à Unity. Unity n'est pas installé sur ma machine et je préférerais l'éviter.

Comment modifier les étapes 7 et 8 de cette publication pour utiliser le bureau GNOME au lieu de Unity? Je sais que cela ne fonctionne pas s'ils sont ignorés, car je reçois juste un écran noir lorsque je me connecte à distance.


En fait, s'il existe un autre moyen de s'assurer que vncserver est démarré au démarrage, cela sera également accepté comme réponse. TigerVNC installe un script appelé vncserver dans /etc/init.d/, mais je ne parviens pas à le lancer à l'aide de update-rc.d.

1
Kartik

Ce fichier systemd Unit a fonctionné pour moi:

[Unit]
Description=Start TigerVNC Server at startup
After=syslog.target network.target

[Service]
Type=forking
User=user
PAMName=login
PIDFile=/home/user/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver :%i -depth 24 -geometry 1920x1080 -nolisten tcp -localhost
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target

Assurez-vous de remplacer user par votre nom d'utilisateur actuel sur les lignes correspondant à User et PIDFile sous [Service].

Pour l'adapter à vos besoins, veuillez utiliser votre numéro d'affichage préféré au lieu de 4 (comme je l'ai fait) lors de l'activation. Assurez-vous également que vous avez initialisé le serveur vncserver en dehors du fichier de cette unité de service avant de démarrer le service. Cela garantirait le mot de passe et les fichiers nécessaires (xstartup, etc.) sont créés. Le moyen le plus simple consiste à exécuter la commande contre ExecStart sous [Service] dans le fichier Unit. Pour mon cas, cela se traduit par:

vncserver :4 -depth 24 -geometry 1920x1080 -nolisten tcp -localhost

Source: J'ai adapté le fichier Unit de ce guide .

1
Kartik