| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| x11vnc [Le 20/12/2021, 19:12] – passage de http à https sur les liens externes (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) wiki-corrector-bot | x11vnc [Le 17/09/2026, 17:05] (Version actuelle) – Mise en forme (https://forum.ubuntu-fr.org/viewtopic.php?pid=22907707#p22907707) avec l’italique et pas seulement le gras nany |
|---|
| |
| {{tag>bureau_à_distance sécurité}} | {{tag>bureau_à_distance sécurité}} |
| ---- | |
| |
| ====== X11vnc : contrôler un ordinateur à distance ====== | ====== X11vnc : contrôler un ordinateur à distance ====== |
| 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 ==== |
| Exec=x11vnc -many -rfbauth /root/.vnc_passwd | Exec=x11vnc -many -rfbauth /root/.vnc_passwd |
| </code> | </code> |
| |
| |
| ==== Au démarrage du système ==== | ==== Au démarrage du système ==== |
| A partir de [[:Xenial|Ubuntu 16.04]], on utilise **systemd** en remplacement de [[:Init_d|Init.d]] ou [[:upstart]] pour la gestion des services au demarrage. | |
| | On utilise **systemd** pour la gestion des services au demarrage. |
| |
| === Création du service X11vnc === | === Création du service X11vnc === |
| <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 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 !)\\ |
| Pour cela, il faut tout d'abord installer inetd. Installez inetd en [[:tutoriel:comment_installer_un_paquet|installant le paquet]] **openbsd-inetd** (je vous déconseille le traditionnel inetd qui n'est plus supporté ni xinetd qui n'est pas bien intégré dans Ubuntu) | Pour cela, il faut tout d'abord installer inetd. Installez inetd en [[:tutoriel:comment_installer_un_paquet|installant le paquet]] **openbsd-inetd** (je vous déconseille le traditionnel inetd qui n'est plus supporté ni xinetd qui n'est pas bien intégré dans Ubuntu) |
| |
| Créez un mot de passe pour votre serveur VNC en tapant dans un **[[terminal]]**: | Créez un mot de passe pour votre serveur VNC en tapant dans un **[[terminal]]** : |
| |
| sudo x11vnc -storepasswd "password" /root/.vnc_passwd | sudo x11vnc -storepasswd "password" /root/.vnc_passwd |
| <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** : |
| |
| 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 | 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 |
| 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 === |
| <note important>Si vous décidez d'ouvrir l'accès VNC vers internet ne désactivez surtout pas l'authentification par mot de passe ! Et ne choisissez pas un mot de passe trop simple.</note> | <note important>Si vous décidez d'ouvrir l'accès VNC vers internet ne désactivez surtout pas l'authentification par mot de passe ! Et ne choisissez pas un mot de passe trop simple.</note> |
| <note important>L'accès à la machine par SSH forwarding est préféré car SSH apporte plus de sécurité. | <note important>L'accès à la machine par SSH forwarding est préféré car SSH apporte plus de sécurité. |
| Cette méthode (accessible après installation sur le serveur de [[apt://openssh-server]]) est un peu plus complexe, mais elle peut être simplifiée en utilisant le [[remmina|Visionneur de bureaux distants Remmina]] depuis le PC client</note> | Cette méthode (accessible après installation sur le serveur de [[apt>openssh-server]]) est un peu plus complexe, mais elle peut être simplifiée en utilisant le [[remmina|Visionneur de bureaux distants Remmina]] depuis le PC client</note> |
| |
| |
| Assurez vous que le port 5900 est ouvert sur le pare-feu. | 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]]// : | 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> |
| |
| 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** | Avec **Lubuntu** ou avec le gestionnaire de connexion LightDM, [[:tutoriel:comment_modifier_un_fichier|modifiez]] le fichier///etc/lightdm/lightdm.conf// et ajoutez la directive **xserver-allow-tcp=true** dans la section **SeatDefaults** |
| |
| <code> | <code> |
| </code> | </code> |
| |
| Redémarrez Lightdm : | Redémarrez Lightdm : |
| <code>sudo service lightdm restart</code> | <code>sudo service lightdm restart</code> |
| |
| * [[http://ubuntuforums.org/showpost.php?p=2377920&postcount=19]] x11vnc et :0 | * [[http://ubuntuforums.org/showpost.php?p=2377920&postcount=19]] x11vnc et :0 |
| |
| ---- | |
| //Contributeur principal : FIXME.// | |