web-dev-qa-db-fra.com

Impossible de se connecter au serveur x11vnc avant la connexion

J'ai installé x11vnc sur Ubuntu 15.10. Basé sur:

Remmina ne peut pas exécuter de session de bureau à distance VNC avant que l'utilisateur ne se connecte

J'ai créé un nouveau fichier: /etc/init/x11vnc.conf le MYSERVER contenant:

start on login-session-start
script
x11vnc -display :0 -auth /var/run/lightdm/root/:0 -loop -forever -safer -shared -ultrafilexfer -bg -o /var/log/x11vnc.log -rfbauth /home/moore/.vnc/passwd -rfbport 5903 -http -users moore -nowireframe
end script

J'ai maintenant redémarré MYSERVER et j'essaie de le rendre RDP depuis une autre machine Ubuntu à l'aide de Remmina:

enter image description here

Mais je viens de recevoir:

enter image description here

J'ai aussi essayé de suivre ce guide:

http://seb.so/vnc-from-boot-without-logging-in-ubuntu-lubuntu-xubuntu-and-mint-lmde/

même résultat.

UPDATE:

Comme suggéré ci-dessous, j'ai maintenant essayé de lancer:

x11vnc -display :0 -auth /var/run/lightdm/root/:0 -loop -forever -safer -shared -ultrafilexfer -bg -o /var/log/x11vnc.log -rfbauth /home/moore/.vnc/passwd -rfbport 5903 -http -users moore -nowireframe

à partir d'un terminal où j'ai d'abord SSH'ed sur le serveur. Cela m'a donné cette erreur:

...disabling -bg in -loop mode error opening logfile: /var/log/x11vnc.log open: Permission denied

Mais si je le fais ensuite en tant que root depuis le même terminal, cela fonctionne maintenant! Mais pourquoi ne le fait-il pas automatiquement lorsque la machine est redémarrée?

Remarquez que lorsque j'ai fait le petit test manuel ci-dessus en tant que root, le fichier /var/log/x11vnc.log a été créé. Il existe donc maintenant avec les autorisations suivantes:

-rw-r--r--  1 root              root     12640 Feb 19 00:26 x11vnc.log

Mais il ne parvient toujours pas à démarrer automatiquement au démarrage. Il semble que l'utilisateur qui exécute le script au démarrage ne soit PAS root.

UPDATE2:

La réponse mise à jour ci-dessous a résolu le problème - cela résout le problème dans Ubuntu 15.10.

2
u123

Je ne peux penser qu'à trois choses qui pourraient vous empêcher de vous connecter:

  1. Avez-vous un pare-feu en place? Avez-vous débloqué l'accès au port 5903? Vous pouvez le faire en utilisant UFW, qui est une interface graphique pour votre pare-feu sous Ubuntu.
  2. Essayez-vous d'accéder au serveur de l'extérieur de votre réseau? Dans ce cas, vous devez également transférer le port 5903 de votre routeur pour accéder au serveur VNC (en plus du point 1). Si vous obtenez cette erreur lorsque vous vous connectez à partir du même réseau, ignorez cette option, mais gardez-la à l'esprit lors de la connexion depuis l'extérieur du réseau.
  3. Le dernier, qui est idiot mais je voulais couvrir mes bases. Essayez-vous de vous connecter à partir du même ordinateur? Je ne pense pas que x11vnc permette des connexions en boucle, essayez donc toujours d'utiliser un ordinateur différent lors des tests (ou votre téléphone).

J'utilise également le serveur x11vnc sur mon ordinateur, mais la différence est que seul l'hôte local peut y accéder. J'exécute également un serveur SSH, ce qui me permet d'avoir une connexion beaucoup plus sécurisée, et une fois que l'utilisateur ssh est connecté à votre ordinateur, il peut se connecter au serveur VNC en tant qu'hôte local.

J'espère que ça aide

EDIT

Après le dépannage, le problème est qu’Ubuntu 15.10 n’a pas de démarrage, donc x11vnc ne fonctionnera jamais au démarrage. Au lieu de cela, vous devez créer un service et le rendre disponible au démarrage. Voici ce qu'il faut faire:

Sudo nano /lib/systemd/system/x11vnc.service

Insérez ceci dans le fichier:

[Unit]
Description="x11vnc"
Requires=display-manager.service
After=display-manager.service

[Service]
ExecStart=/usr/bin/x11vnc -display :0 -auth guess -loop -forever -safer -shared -ultrafilexfer -bg -o /var/log/x11vnc.log -rfbauth /home/moore/.vnc/passwd -rfbport 5903 -http -users moore -nowireframe
ExecStop=/usr/bin/killall x11vnc

[Install]
WantedBy=multi-user.target

Ensuite, vous pouvez démarrer le service avec:

Sudo systemctl daemon-reload
Sudo systemctl start x11vnc

Et pour que le service démarre au démarrage:

Sudo systemctl enable x11vnc

Cette solution a été précédemment postée par babelmonk ici

3
Felipe