Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
x11vnc [Le 16/10/2018, 18:55] percherie [Démarrer VNC comme un service systemd (à partir de Ubuntu 16.04)] |
x11vnc [Le 11/09/2022, 11:07] (Version actuelle) moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) |
||
---|---|---|---|
Ligne 17: | Ligne 17: | ||
===== Description des options ===== | ===== Description des options ===== | ||
- | Le contenu de cette rubrique est grandement issue de la traduction de l'aide fournie avec X11vnc. | + | Le contenu de cette rubrique est grandement issu de la traduction de l'aide fournie avec X11vnc. |
La boîte de dialogue Propriétés vous permet de définir certains paramètres de base d'un fichier exécutant le serveur x11vnc. Après les avoir modifiées, appuyez sur "OK" ou "Appliquer" pour appliquer les modifications, ou appuyez sur "Annuler" pour ignorer leur application. | La boîte de dialogue Propriétés vous permet de définir certains paramètres de base d'un fichier exécutant le serveur x11vnc. Après les avoir modifiées, appuyez sur "OK" ou "Appliquer" pour appliquer les modifications, ou appuyez sur "Annuler" pour ignorer leur application. | ||
Ligne 41: | Ligne 41: | ||
Ou "Partagés" | Ou "Partagés" | ||
- | Permet de déterminer si plusieurs connexions simultanées sont autorisées. ou pas. Il correspond au "-R partagé" et au "-R partagé". les commandes à distance. | + | Permet de déterminer si plusieurs connexions simultanées sont autorisées. ou pas. Il correspond au "-R partagé" et au "-R partagé". les commandes à distance. |
==== Advertise Service (Zeroconf) ==== | ==== Advertise Service (Zeroconf) ==== | ||
Ou "Découverte de service (Zeroconf)". | Ou "Découverte de service (Zeroconf)". | ||
- | Permet de déterminer si ce serveur VNC doit se faire connaître sur le réseau via Zeroconf aussi appelé Bonjour, mDNS et avahi. Les utilisateurs de VNC peuvent alors trouver ce service sur le réseau local. Il correspond au "-R zeroconf". et "-R nozeroconf". | + | Permet de déterminer si ce serveur VNC doit se faire connaître sur le réseau via Zeroconf aussi appelé Bonjour, mDNS et avahi. Les utilisateurs de VNC peuvent alors trouver ce service sur le réseau local. Il correspond au "-R zeroconf". et "-R nozeroconf". |
==== Serve Java Viewer Applet ==== | ==== Serve Java Viewer Applet ==== | ||
Ou "Fournir l'applet de visionnage Java". | Ou "Fournir l'applet de visionnage Java". | ||
- | Permet de déterminer si ce serveur VNC doit fournir un visualiseur Java VNC Viewer. L'applet est accessible via HTTP sur http://hostname:5800/ (ou port 5800+n pour VNC 5900+n). Un navigateur Web compatible java peut alors se connecter à l'application par VNC. Si SSL est actif, l'URL HTTPS https://hostname:5900/ (etc.) fonctionneront également. Cela nécessite le fichier jar de la visionneuse java x11vnc (partagé/x11vnc/classes) à installer. Il correspond aux commandes "-R http" et "-R nohttp". | + | Permet de déterminer si ce serveur VNC doit fournir un visualiseur Java VNC Viewer. L'applet est accessible via HTTP sur http://hostname:5800/ (ou port 5800+n pour VNC 5900+n). Un navigateur Web compatible java peut alors se connecter à l'application par VNC. Si SSL est actif, l'URL HTTPS https://hostname:5900/ (etc.) fonctionneront également. Cela nécessite le fichier jar de la visionneuse java x11vnc (partagé/x11vnc/classes) à installer. Il correspond aux commandes "-R http" et "-R nohttp". |
==== Solid Background Color ==== | ==== Solid Background Color ==== | ||
Ligne 121: | Ligne 121: | ||
=== Création du service X11vnc === | === Création du service X11vnc === | ||
+ | |||
+ | Générez un fichier password pour X11vnc dans le dossier root comme expliqué ci-dessus. | ||
+ | <code bash> | ||
+ | x11vnc -storepasswd /root/.vnc_passwd | ||
+ | </code> | ||
[[:tutoriel:comment_modifier_un_fichier|Créez le fichier]] **/etc/systemd/system/x11vnc.service** [[:sudo|avec les droits d'administration]] et remplissez-le comme ceci : | [[:tutoriel:comment_modifier_un_fichier|Créez le fichier]] **/etc/systemd/system/x11vnc.service** [[:sudo|avec les droits d'administration]] et remplissez-le comme ceci : | ||
Ligne 130: | Ligne 135: | ||
[Service] | [Service] | ||
Type=simple | Type=simple | ||
- | ExecStart=/usr/bin/x11vnc -forever -ncache 10 -rfbauth /home/toto/.vnc_passwd | + | ExecStart=/usr/bin/x11vnc -forever -shared -bg -xkb -rfbauth /root/.vnc_passwd |
- | User=toto | + | |
Restart=on-failure | Restart=on-failure | ||
Ligne 137: | Ligne 141: | ||
[Install] | [Install] | ||
WantedBy=multi-user.target | WantedBy=multi-user.target | ||
- | </file> | + | </file> |
- | + | ||
- | <note tip>Remplacez bien évidement toto par votre nom d'utilisateur. Attention aussi à l'adresse de votre fichier contenant le mot de passe pour accéder a votre serveur VNC | + | |
- | </note> | + | |
Vous pouvez maintenant lancer le service et vérifier son bon fonctionnement : | Vous pouvez maintenant lancer le service et vérifier son bon fonctionnement : | ||
- | <code>sudo systemctl daemon-reload | + | <code> |
+ | sudo systemctl daemon-reload | ||
sudo systemctl start x11vnc | sudo systemctl start x11vnc | ||
- | sudo systemctl status x11vnc</code> | + | sudo systemctl status x11vnc |
+ | </code> | ||
- | Si tout va bien, il n'y plus qu'à dire à systemd de lancer x11vnc au démarrage : | + | Si tout va bien, il n'y plus qu'à dire à systemd de lancer x11vnc au démarrage. En cas d'erreur d'authentification auprès du serveur X, consultez la rubrique "Résolution de problèmes". |
<code>sudo systemctl enable x11vnc.service</code> | <code>sudo systemctl enable x11vnc.service</code> | ||
- | ==== Démarrer VNC comme service inetd ==== | + | ==== Démarrer VNC comme service inetd ==== |
- | <note warning>Méthode déconseillée ! Ne marche que depuis Ubuntu 11.10 et ne marche avec aucune variante pour l'instant. De plus le fonctionnement peut être un peu aléatoire étant donné que Lightdm est encore très jeune.</note> | + | <note warning>Méthode déconseillée ! Ne marche que depuis Ubuntu 11.10 jusqu'a 14.04</note> |
En démarrant x11vnc via inetd vous aurez la possibilité de voir l'écran de votre ordinateur distant quel que soit l'utilisateur connecté ! (Vous verrez même l'écran de login !)\\ | En démarrant x11vnc via inetd vous aurez la possibilité de voir l'écran de votre ordinateur distant quel que soit l'utilisateur connecté ! (Vous verrez même l'écran de login !)\\ | ||
Ligne 169: | Ligne 172: | ||
<note>Remplacez bien évidemment "password" par le mot de passe de votre choix</note> | <note>Remplacez bien évidemment "password" par le mot de passe de votre choix</note> | ||
- | [[:tutoriel:comment_modifier_un_fichier|Ouvrez ensuite le fichier de configuration d'inetd]] **/etc/inetd.conf** | + | [[:tutoriel:comment_modifier_un_fichier|Ouvrez ensuite le fichier de configuration d'inetd /etc/inetd.conf]] **** |
ajoutez une ligne pour VNC entre les lignes **#:INTERNAL: Internal services** et ** #:STANDARD: These are standard services**: | ajoutez une ligne pour VNC entre les lignes **#:INTERNAL: Internal services** et ** #:STANDARD: These are standard services**: | ||
- | 5900 stream tcp nowait root /usr/sbin/tcpd /usr/bin/x11vnc -inetd -q -rfbauth /root/.vnc_passwd -display :0 -auth /var/run/lightdm/root/:0 | + | sudo echo "5900 stream tcp nowait root /usr/sbin/tcpd /usr/bin/x11vnc -inetd -q -rfbauth /root/.vnc_passwd -display :0 -auth /var/run/lightdm/root/:0" >> /etc/inetd.conf |
| | ||
Enregistrez le fichier, puis redemarrez le service inetd via la commande: | Enregistrez le fichier, puis redemarrez le service inetd via la commande: | ||
Ligne 179: | Ligne 182: | ||
sudo service openbsd-inetd restart | sudo service openbsd-inetd restart | ||
| | ||
- | VNC devrait maintenant être en route dès le démarrage de votre PC | + | VNC devrait maintenant être en route dès le démarrage de votre PC |
=== Accéder à VNC via internet === | === Accéder à VNC via internet === | ||
Ligne 195: | Ligne 198: | ||
* Vous pouvez enlever l'obligation d'utiliser un mot de passe en supprimant **-rfbauth /root/.vnc_passwd** de la commande de lancement (**Hautement déconseillé si votre VNC est accessible via internet ! Tout le monde pourrait contrôler votre ordinateur**) | * Vous pouvez enlever l'obligation d'utiliser un mot de passe en supprimant **-rfbauth /root/.vnc_passwd** de la commande de lancement (**Hautement déconseillé si votre VNC est accessible via internet ! Tout le monde pourrait contrôler votre ordinateur**) | ||
- | ==== Quelques pistes en cas d'échec ==== | + | ===== Résolution de problèmes ===== |
+ | ==== Permission d'accès au serveur X ==== | ||
- | * ouvrez le parefeu, surtout le port 5900. | + | Si x11vnc est exécuté via SSH, comme service ou par le compte root, il faut définir des autorisations pour se connecter au serveur X (Xautority). |
- | * Vérifiez que l'option **--nolisten** n'est pas activée pour gdm, en console tapez : <code>ps wwaux|grep auth</code> | + | |
- | Pour enlever l'option **nolisten** il faut apparemment ajouter dans le fichier//[[:tutoriel:comment_modifier_un_fichier| /etc/gdm/custom.conf]]//: | + | Être root n'est généralement pas suffisant parce que le MIT-MAGIC-COOKIE accessible est incorrect. Le fichier cookie contient la clé secrète qui permet à x11vnc de se connecter à l'affichage X souhaité. Dans ce cas il est possible d'indiquer explicitement le fichier MIT-MAGIC-COOKIE en vous inspirant des exemples suivant : |
+ | |||
+ | <code bash> | ||
+ | x11vnc -auth /home/VOTRE_COMPTE_UTILISATEUR/.Xauthority -display :0 | ||
+ | x11vnc -auth /tmp/.gdmzndVlR -display :0 | ||
+ | </code> | ||
+ | |||
+ | Si aucune session n'est démarré, il est possible d'utiliser le fichier MIT-MAGIC-COOKIE du gestionnaire de connexion. Parfois la commande "ps wwwwaux | grep auth" peut révéler l'emplacement du fichier. | ||
+ | <code bash> | ||
+ | ps wwwwaux | grep auth | ||
+ | #root 1204 2.3 1.0 425028 83284 tty7 Ssl+ 15:06 1:18 /usr/lib/xorg/Xorg -core :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch | ||
+ | ps wwwwaux | grep -o '[-]auth [^ ]*' | ||
+ | #-auth /var/run/lightdm/root/:0 | ||
+ | pgrep -a Xorg | grep -o '[-]auth [^ ]*' #pour être certains de sélectionner le process Xorg | ||
+ | #-auth /var/run/lightdm/root/:0 | ||
+ | </code> | ||
+ | |||
+ | Quelques exemples valable pour différent gestionnaire de connexion : | ||
+ | <file> | ||
+ | gdm: -auth /var/gdm/:0.Xauth | ||
+ | -auth /var/lib/gdm/:0.Xauth | ||
+ | kdm: -auth /var/lib/kdm/A:0-crWk72 | ||
+ | -auth /var/run/xauth/A:0-crWk72 | ||
+ | xdm: -auth /var/lib/xdm/authdir/authfiles/A:0-XQvaJk | ||
+ | lightdm: -auth /var/run/lightdm/root/:0 | ||
+ | dtlogin: -auth /var/dt/A:0-UgaaXa | ||
+ | </file> | ||
+ | |||
+ | ==== Autres pistes de recherche ==== | ||
+ | |||
+ | Assurez vous que le port 5900 est ouvert sur le pare-feu. | ||
+ | |||
+ | Vérifiez que l'option **%%--%%nolisten** n'est pas activée pour gdm, en console tapez : <code>ps wwwwaux|grep auth</code> Pour enlever l'option **nolisten** il faut ajouter dans le fichier//[[:tutoriel:comment_modifier_un_fichier| /etc/gdm/custom.conf]]// : | ||
<code>[security] | <code>[security] | ||
DisallowTCP=false</code> | DisallowTCP=false</code> | ||
- | <note>Avec **Lubuntu** | + | Avec **Lubuntu** ou avec le gestionnaire de connexion LightDM, modifiez le fichier// [[:tutoriel:comment_modifier_un_fichier|/etc/lightdm/lightdm.conf]]// et ajoutez la directive **xserver-allow-tcp=true** dans la section **SeatDefaults** |
- | modifier le fichier// [[:tutoriel:comment_modifier_un_fichier|/etc/lightdm/lightdm.conf]]// et ajouter la directive **xserver-allow-tcp=true** dans la section **SeatDefaults** | + | |
<code> | <code> | ||
[SeatDefaults] | [SeatDefaults] | ||
Ligne 212: | Ligne 247: | ||
</code> | </code> | ||
- | Pour redemarrer Lightdm : | + | Redémarrez Lightdm : |
<code>sudo service lightdm restart</code> | <code>sudo service lightdm restart</code> | ||
- | </note> | ||
Au prochain démarrage l'option aura disparu. | Au prochain démarrage l'option aura disparu. | ||
Ligne 224: | Ligne 258: | ||
===== Liens utiles ===== | ===== Liens utiles ===== | ||
- | * [[http://forum.ubuntu-fr.org/viewtopic.php?id=197925]] | + | * [[https://forum.ubuntu-fr.org/viewtopic.php?id=197925]] |
* [[http://www.karlrunge.com/x11vnc/#faq-inetd]] | * [[http://www.karlrunge.com/x11vnc/#faq-inetd]] | ||
- | * [[http://ubuntuforums.org/showthread.php?t=122402]] | + | * [[https://ubuntuforums.org/showthread.php?t=122402]] |
* [[http://www.libre-astux.info/?p=79]] | * [[http://www.libre-astux.info/?p=79]] | ||
* [[https://enunclic-cappel.fr/documents/aide-a-distance-avec-vnc/|Faire de l'aide à distance avec x11vnc et ssvnc de manière sécurisée]] | * [[https://enunclic-cappel.fr/documents/aide-a-distance-avec-vnc/|Faire de l'aide à distance avec x11vnc et ssvnc de manière sécurisée]] |