Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
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 Prochaine révision Les deux révisions suivantes | ||
doc:reseau:x11vnc [27/03/2019 18:39] Debian Alain [utilisation de ssh] |
doc:reseau:x11vnc [23/02/2020 21:19] Spirale21 [Configuration] |
||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
* Objet : Prise de controle d'un Bureau graphique à distance | * Objet : Prise de controle d'un Bureau graphique à distance | ||
- | * Niveau requis : {{tag>débutant avisé}} | + | * Niveau requis : {{tag>avisé}} |
* Commentaires : // x11vnc est un serveur utilisant le protocole vnc // | * Commentaires : // x11vnc est un serveur utilisant le protocole vnc // | ||
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) , [[doc:reseau:ssh|ssh: shell distant sécurisé]] | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) , [[doc:reseau:ssh|ssh: shell distant sécurisé]] | ||
- | * Suivi : {{tag>en-chantier à-tester à-placer}} - FIXME Pour choisir, voir les autres Tags possibles dans [[:atelier:#tags|l'Atelier]]. | + | * Suivi : {{tag>à-tester}} |
* Création par [[user>Switch]] 23/03/2019 | * Création par [[user>Switch]] 23/03/2019 | ||
* Co-créé par [[utilisateurs:debian-alain|Debian_Alain]] 24/03/2019 | * Co-créé par [[utilisateurs:debian-alain|Debian_Alain]] 24/03/2019 | ||
- | * Testé par Debian_Alain le 24/03/2019 FIXME | + | * Testé par Debian_Alain le 24/03/2019 |
* Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?id=23958]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | * Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?id=23958]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | ||
===== Introduction ===== | ===== Introduction ===== | ||
Ligne 15: | Ligne 15: | ||
les commandes ci-dessous ont été testés sur | les commandes ci-dessous ont été testés sur | ||
- | un serveur debian stretch 9.8(amd64) bureau mate(1.20.4) en V.irtual M.achine (192.168.1.32) Virtual Box(6.0.4) . kernel : Linux debian 4.19.0-0.bpo.2-amd64 #1 SMP Debian 4.19.16-1~bpo9+1 (2019-02-07) x86_64 GNU/Linux | + | un serveur [[https://wiki.debian.org/fr/DebianStretch | debian stretch]] 9.8(amd64) [[ https://mate-desktop.org/fr/ | bureau mate]](1.16.2) en [[https://www.oracle.com/fr/virtualization/virtualbox/ | V.irtual M.achine Virtual Box]](6.0.4) . |
+ | |||
+ | [[https://fr.wikipedia.org/wiki/Noyau_Linux | kernel]] : Linux Host-004 4.19.0-0.bpo.4-amd64 #1 SMP Debian 4.19.28-2~bpo9+1 (2019-03-27) x86_64 GNU/Linux | ||
- | ou un [[https://www.amazon.fr/HP-Compaq-240Go-Graveur-Windows/dp/B01IX3R6B6/ref=sr_1_3?ie=UTF8&qid=1553593639&sr=8-3&keywords=HP+6005+Pro | pc hp 6005]] pour le script systemd . stretch (à jour) également . | ||
+ | ou un [[https://www.amazon.fr/HP-Compaq-240Go-Graveur-Windows/dp/B01IX3R6B6/ref=sr_1_3?ie=UTF8&qid=1553593639&sr=8-3&keywords=HP+6005+Pro | pc hp 6005]] pour le script systemd . stretch 9.8 mate 1.16.2 | ||
+ | |||
+ | [[https://fr.wikipedia.org/wiki/Noyau_Linux | kernel]]: Linux Host-001 4.19.0-0.bpo.2-amd64 #1 SMP Debian 4.19.16-1~bpo9+1 (2019-02-07) x86_64 GNU/Linux | ||
+ | |||
+ | |||
+ | et un client debian [[ https://www.debian.org/releases/buster/ | buster testing]] amd64 [[https://fr.wikipedia.org/wiki/GNOME | bureau gnome]](3.30.2) [[https://fr.wikipedia.org/wiki/Wayland | wayland]] . | ||
- | et un client debian buster testing amd64 bureau gnome(3.30.2) wayland . | + | [[https://fr.wikipedia.org/wiki/Noyau_Linux | kernel]] : Linux Alain-PC 4.19.0-4-amd64 #1 SMP Debian 4.19.28-2 (2019-03-15) x86_64 GNU/Linux |
- | kernel : Linux Alain-PC 4.19.0-2-amd64 #1 SMP Debian 4.19.16-1 (2019-01-17) x86_64 GNU/Linux | + | |
Ligne 41: | Ligne 47: | ||
Sur le serveur distant à contrôler ayant une session graphique démarrée : lancez le serveur x11vnc | Sur le serveur distant à contrôler ayant une session graphique démarrée : lancez le serveur x11vnc | ||
<code user>x11vnc</code> | <code user>x11vnc</code> | ||
- | Le serveur x11vnc se lance, affiche ses informations dans votre console, et vous indique qu'il est prêt et attend une demande de connection d'un client sur le port par défaut 5900 : | + | Le serveur [[https://fr.wikipedia.org/wiki/X11vnc | x11vnc]] se lance, affiche ses informations dans votre [[ https://en.wikipedia.org/wiki/Linux_console| console]], et vous indique qu'il est prêt et attend une demande de connection d'un [[https://www.poftut.com/best-vnc-viewer-clients-linux/ | client]] sur le port par défaut 5900 : |
<code config retour de la commande>... | <code config retour de la commande>... | ||
The VNC desktop is: vnd:0 | The VNC desktop is: vnd:0 | ||
Ligne 55: | Ligne 61: | ||
===== Configuration ===== | ===== Configuration ===== | ||
- | x11vnc permet beaucoup de configurations : des méthodes pour sécuriser par mots de passe, simplement montrer l'écran ou donner le controle complet ( avec souris clavier ), multi utilisateurs ... Lisez le manuel <code user>man x11vnc</code> . | + | [[https://doc.ubuntu-fr.org/x11vnc | x11vnc]] permet beaucoup de configurations : des méthodes pour sécuriser par mots de passe, simplement montrer l'écran ou donner le controle complet ( avec souris clavier ), multi utilisateurs ... Lisez le manuel <code user>man x11vnc</code> . |
- | Quelques options essentielles : | + | Quelques options essentielles [[http://www.karlrunge.com/x11vnc/x11vnc_opts.html|parmi toute celle disponibles]: |
^Option ^Explication ^Exemple ^ | ^Option ^Explication ^Exemple ^ | ||
|**-display** disp| Précise l'affichage X11 à utiliser. Généralement :0 si vous n'avez qu'un écran.| -disp :O | | |**-display** disp| Précise l'affichage X11 à utiliser. Généralement :0 si vous n'avez qu'un écran.| -disp :O | | ||
Ligne 66: | Ligne 72: | ||
| -xkb | FIXME Aide a configurer le clavier si différent entre serveur et client. | | | | -xkb | FIXME Aide a configurer le clavier si différent entre serveur et client. | | | ||
| -bg | (background) Va en arrière plan ( apres le message de lancement ). Utile pour les scripts ( ex: au demarrage du systeme ). Si besoin, activez les "logs" en fichiers, pour retrouver les messages de x11vnc. | | | -bg | (background) Va en arrière plan ( apres le message de lancement ). Utile pour les scripts ( ex: au demarrage du systeme ). Si besoin, activez les "logs" en fichiers, pour retrouver les messages de x11vnc. | | ||
- | | logs FIXME | | | | + | | -o fichier | Définit un fichier de log de VNC | ''x11vnc [OPTION] -o /var/log/x11vnc.log'' | |
Ligne 91: | Ligne 97: | ||
===== utilisation de ssh ===== | ===== utilisation de ssh ===== | ||
- | ssh est un protocole de communication en console . | + | [[https://debian-facile.org/doc:reseau:ssh:client | ssh]] est un protocole de communication en console . |
il permet , sur une console locale , de se connecter sur un ordinateur distant . | il permet , sur une console locale , de se connecter sur un ordinateur distant . | ||
exactement comme si on y ouvrait une console .(sur le pc distant) | exactement comme si on y ouvrait une console .(sur le pc distant) | ||
+ | |||
+ | particularité : | ||
+ | |||
+ | comme toute architecture client / serveur , ssh nécessite un serveur sur la machine distante | ||
+ | |||
+ | et un client sur la machine locale ([[https://debian-facile.org/doc:reseau:ssh | l'interface ssh]]) | ||
aussi : | aussi : | ||
Ligne 105: | Ligne 117: | ||
où l'on voit la commande (ssh) le user distant(alain) et l'ip distant (192.168.1.32 : adresse réseau local) | où l'on voit la commande (ssh) le user distant(alain) et l'ip distant (192.168.1.32 : adresse réseau local) | ||
- | I.P. vient de l'anglais I.nternet P.rotocol , soit : Protocole Internet . | + | [[https://fr.wikipedia.org/wiki/Adresse_IP | I.P.]] vient de l'anglais I.nternet P.rotocol , soit : Protocole Internet . |
il s'agit d'un procédé d'adressage à l'origine sur une séquence de 4 chiffres (IPV4) séparés par un point . | il s'agit d'un procédé d'adressage à l'origine sur une séquence de 4 chiffres (IPV4) séparés par un point . | ||
Ligne 115: | Ligne 127: | ||
pour plus ample information , voire les liens en bas du document . | pour plus ample information , voire les liens en bas du document . | ||
- | n.b.: ssh demande souvent une authentification par mot de passe , voire clé R.S.A. . | + | n.b.: ssh demande souvent une [[https://openclassrooms.com/fr/courses/43538-reprenez-le-controle-a-laide-de-linux/41773-la-connexion-securisee-a-distance-avec-ssh | authentification]] par mot de passe , voire clé R.S.A. . |
en réseau local , ssh est très bien . sur internet , c'est de suite plus difficile ... | en réseau local , ssh est très bien . sur internet , c'est de suite plus difficile ... | ||
Ligne 145: | Ligne 157: | ||
</code> | </code> | ||
- | ==== connections ssh ==== | + | ==== connexion à distance ==== |
- | ssh est un terminal , donc en mode texte . | + | il n'y a pas beaucoup de solutions pour l'accès à distance sur un pc . |
+ | |||
+ | la seule , (presque) disponible par défaut , c'est ssh . en mode texte , donc pas facilement abordable . | ||
+ | |||
+ | pour prendre la main en graphique sur le pc distant , il faut passer par là pour installer et configurer x11vnc , par exemple . | ||
+ | |||
+ | c'est aussi le seul moyen , en premier , pour configurer le chargeur de session . | ||
+ | |||
+ | une fois cette étape franchie , on peut accéder en graphique au pc distant (serveur) . | ||
il permet l'accès à un serveur distant mais ne permet pas de lancer "bêtement" le bureau . | il permet l'accès à un serveur distant mais ne permet pas de lancer "bêtement" le bureau . | ||
- | pour lancer le bureau , il faut modifier son lanceur (gdm / gdm3 / lightdm) pour activer l'autologin . | + | pour lancer le bureau , il faut modifier son lanceur (gdm / gdm3) pour activer l'autologin . |
- | par la même occasion , profitez en pour installer et paramétrer x11 puis , ensuite , redémarrage . | + | donc , par la même occasion , profitez en pour installer et paramétrer x11vnc puis , ensuite , redémarrage . |
au reboot du serveur qui loggue donc automatiquement et sous x , vous pourrez lancer tigervnc et , | au reboot du serveur qui loggue donc automatiquement et sous x , vous pourrez lancer tigervnc et , | ||
Ligne 167: | Ligne 187: | ||
conséquence directe : pas de bureau distant . | conséquence directe : pas de bureau distant . | ||
- | dans lightdm , modifier le chapitre [vnc] permet d'accéder à l'écran de login à distance et , donc , de lancer le bureau en graphique . | + | il y a une autre solution : toujours en ssh , installer x11vnc en systemd . |
- | <code>[VNCServer] | + | sous lightdm , vous aurez alors accès au login en graphique . |
- | enabled = true | + | |
- | commande = Xvnc -rfbauth / etc / vncpasswd | + | |
- | port = 5900 | + | |
- | listen-address = localhost | + | |
- | largeur = 1024 | + | |
- | hauteur = 768 | + | |
- | profondeur = 24</code> | + | |
- | <code>La connexion à l'écran de connexion avec VNC lors de l'utilisation de GDM3 n'est actuellement pas possible. | + | vous pouvez , dans lightdm , modifier le chapitre [vnc] (optionnel et pas obligatoire) qui devrait vous permettre |
+ | |||
+ | en théorie d'accéder à l'écran de login à distance et , donc , de lancer le login en graphique . | ||
+ | |||
+ | mais il faut , en préalable , installer x11vnc dans systemd ("/etc/systemd/system") . voir le chapitre "systemd" plus bas . | ||
+ | |||
+ | qui lui , réellement , donne accès au login à distance , uniquement , pour l'instant , dans lightdm . | ||
+ | |||
+ | <code>/etc/lightdm/lightdm.conf | ||
+ | |||
+ | [VNCServer] | ||
+ | enabled=true | ||
+ | command=Xvnc -rfbauth /home/<user>/.vnc/passwd | ||
+ | port=5900 | ||
+ | listen-address=localhost | ||
+ | width=1024 | ||
+ | height=768 | ||
+ | depth=24</code> | ||
+ | |||
+ | <code>La connexion au login avec VNC lors de l'utilisation de GDM3 n'est actuellement pas possible. | ||
Le moyen le plus simple de récupérer cette fonctionnalité VNC est simplement de revenir de GDM3 à LightDM. | Le moyen le plus simple de récupérer cette fonctionnalité VNC est simplement de revenir de GDM3 à LightDM. | ||
LightDM est toujours activement développé et utilisé par de nombreuses distributions Linux</code> | LightDM est toujours activement développé et utilisé par de nombreuses distributions Linux</code> | ||
+ | |||
+ | <code>Pour réveiller un ordinateur à distance , on peut utiliser le W.O.L. (wake on lan) . | ||
+ | réveil de la machine par le réseau . | ||
+ | on a besoin de l'adresse mac (sorte de no de série de l'interface) et de l'adresse ip (adresse internet) | ||
+ | (voire bibliographies)</code> | ||
+ | |||
+ | note : | ||
+ | |||
+ | curieusement , le lancement de x11vnc par lightdm , ne se fait pas . | ||
+ | ce dernier en effet lance tigervnc(server) grâce à un lien codé en dur dans le programme (lightdm) . | ||
+ | pour lancer x11vnc , il faut , soit le lancer indéfiniment par systemd , soit modifier le lien du chargeur de démarrage , soit reprogrammer ce dernier pour , enfin , lancer x11vnc au démarrage . | ||
+ | |||
+ | pour ma part , je suis partisan de la première solution (systemd) , switch , lui semble plutôt partisan de la deuxième solution (travailler sur les liens). | ||
+ | elle aurai un gros avantage . en ce sens qu'elle permettrai d'utiliser moins de mémoire . | ||
+ | mais que se passe t il en cas de crash ? dans ce dernier cas ? . | ||
+ | je crois que la première solution est plus "sécure" mais aussi plus gourmande en mémoire vu que le processus est lancé constamment et non pas à l'appel uniquement . | ||
+ | |||
+ | | ||
+ | |||
+ | |||
Ligne 539: | Ligne 591: | ||
===== création d'un alias ===== | ===== création d'un alias ===== | ||
pour simplifier l'usage des commandes de x11vnc : | pour simplifier l'usage des commandes de x11vnc : | ||
+ | |||
+ | en cas de démarrage manuel : | ||
pour créer un alias , c'est simple : | pour créer un alias , c'est simple : | ||
Ligne 680: | Ligne 734: | ||
[[https://doc.ubuntu-fr.org/x11vnc#demarrer_vnc_comme_service_inetd | démarrer vnc comme service inetd ]] | [[https://doc.ubuntu-fr.org/x11vnc#demarrer_vnc_comme_service_inetd | démarrer vnc comme service inetd ]] | ||
- | lightdm et vnc : | + | Lightdm et VNC : |
[[https://wiki.archlinux.org/index.php/LightDM | lightdm archwiki]] | [[https://wiki.archlinux.org/index.php/LightDM | lightdm archwiki]] | ||
Ligne 686: | Ligne 740: | ||
[[https://wiki.archlinux.org/index.php/LightDM#VNC_Server | lightdm et vnc archwiki ]] | [[https://wiki.archlinux.org/index.php/LightDM#VNC_Server | lightdm et vnc archwiki ]] | ||
+ | GDM et VNC : | ||
+ | |||
+ | [[https://askubuntu.com/questions/1033274/ubuntu-18-04-connect-to-login-screen-over-vnc | GDM3 et VNC ]] | ||
+ | |||
+ | W.O.L. : | ||
+ | |||
+ | [[https://fr.wikipedia.org/wiki/Wake-on-LAN | W.ake O.n L.an WIKIPEDIA ]] | ||
+ | |||
+ | [[https://fr.wikipedia.org/wiki/Adresse_MAC | adresse MAC WIKIPEDIA ]] | ||
+ | |||
+ | [[https://la-vache-libre.org/gwakeonlan-reveillez-votre-pc-depuis-un-reseau-local-ou-distant/ | G wake on lan ]] | ||