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 | ||
xvnc [Le 18/12/2017, 19:46] L'Africain Nettoyage |
xvnc [Le 19/05/2023, 11:52] (Version actuelle) 41.103.116.3 [Vino] |
||
---|---|---|---|
Ligne 7: | Ligne 7: | ||
- | Xvnc est le VNC (Virtual Network Computing) pour serveur X. Il est basé sur un serveur X standard, mais il a un écran "virtuel" plutôt que physique ( un écran déporté d'un serveur X). Les Applications X s'affichent comme s'il s'agissait d'un affichage X normal. | + | Xvnc est le VNC (Virtual Network Computing) pour serveur X. Il est basé sur un serveur X standard, mais il a un écran "virtuel" plutôt que physique (un écran déporté d'un serveur X). Les Applications X s'affichent comme s'il s'agissait d'un affichage X normal. |
- | Pour la comparaison : c'est une alternative à la connections Terminal Serveur - qui demande moins de ressource processeur et réseau. ( A vous de voir les avantages ). | + | Pour la comparaison : c'est une alternative à la connexion Terminal Serveur - qui demande moins de ressource processeur et réseau. (A vous de voir les avantages). |
- | Pour les applications, c'est un serveur X, et pour les utilisateurs à distance VNC c'est un serveur VNC. | + | Pour les applications, c'est un serveur X, et pour les utilisateurs à distance VNC c'est un serveur VNC. |
Par convention, les développeurs Xvnc ont convenu que le nombre de l'écran du serveur VNC sera le même que le numéro du serveur d'affichage X, ce qui signifie que vous pouvez utiliser par exemple : | Par convention, les développeurs Xvnc ont convenu que le nombre de l'écran du serveur VNC sera le même que le numéro du serveur d'affichage X, ce qui signifie que vous pouvez utiliser par exemple : | ||
Ligne 17: | Ligne 17: | ||
<note tip>En cour de traduction et de (re)test...</note> | <note tip>En cour de traduction et de (re)test...</note> | ||
+ | <note important>Même si VNC est un protocole globalement bon, il faut bien garder à l'esprit que les mots de passe sont limités à 8 caractères et qu'il n'y a pas de contrôle du nombre de tentatives. En conséquence, il est très vivement conseillé, après avoir démarré correctement le système, de le compléter par un système verrouillant les accès. Parmi ceux-ci : Blocage par adresse IP de connexion (ne convient pas pour une connexion nomade), utilisation d'un tunnel ssh (permet en outre de chiffrer la communication).</note> | ||
Ligne 23: | Ligne 24: | ||
- | Tout d'abord, vous devez décider quelle version de VNC vous souhaitez utiliser. | + | Tout d'abord, vous devez décider quelle version de VNC vous souhaitez utiliser. |
* **TightVNC est plus sûr et plus efficace. Il dispose d'un client java pour se connecter, même avec un simple navigateur. C'est utile quand un blocage firewall/port vous empêche de vous connecter autrement qu'en faisant des modifications pas toujours possibles, ex. : en entreprise, à l'école)** | * **TightVNC est plus sûr et plus efficace. Il dispose d'un client java pour se connecter, même avec un simple navigateur. C'est utile quand un blocage firewall/port vous empêche de vous connecter autrement qu'en faisant des modifications pas toujours possibles, ex. : en entreprise, à l'école)** | ||
Ligne 30: | Ligne 31: | ||
* RealVNC n'est pas vraiment recommandé - Voir XF4VNC plus bas. | * RealVNC n'est pas vraiment recommandé - Voir XF4VNC plus bas. | ||
* [[X11VNC]] | * [[X11VNC]] | ||
- | * XF4VNC devrait se montrer plus efficace et plus sûr que RealVNC. Il supporte également les extensions GLX, ce que TightVNC ne fait pas (à vérifier dans les dernières version). | + | * XF4VNC devrait se montrer plus efficace et plus sûr que RealVNC. Il supporte également les extensions GLX, ce que TightVNC ne fait pas (à vérifier dans les dernières versions). |
Le fonctionnement de Xvnc peut nécessiter l'établissement d'un lien vers le répertoire des polices (C'est également le cas pour RealVNC) : <code>sudo ln -s /usr/share/fonts /usr/lib/X11/fonts</code> | Le fonctionnement de Xvnc peut nécessiter l'établissement d'un lien vers le répertoire des polices (C'est également le cas pour RealVNC) : <code>sudo ln -s /usr/share/fonts /usr/lib/X11/fonts</code> | ||
Ligne 36: | Ligne 37: | ||
et aussi : <code>sudo ln -s /usr/share/X11/rgb.txt /usr/lib/X11/rgb.txt</code> | et aussi : <code>sudo ln -s /usr/share/X11/rgb.txt /usr/lib/X11/rgb.txt</code> | ||
- | La partie serveur VNC est contrôlée par le drapeau "Use flag", qu'on peut donc activer pour le packet approprié. | + | La partie serveur VNC est contrôlée par le drapeau "Use flag", qu'on peut donc activer pour le packet approprié. |
===== Installation ===== | ===== Installation ===== | ||
Ligne 52: | Ligne 53: | ||
[[apt>x11vnc|Cliquer pour installer X11Vnc.]] | [[apt>x11vnc|Cliquer pour installer X11Vnc.]] | ||
- | ====Vino ==== | + | <note>xn |
+ | </note><note>note</note>====Vino ==== | ||
Voir la page [[:Vino]] pour plus de détails. | Voir la page [[:Vino]] pour plus de détails. | ||
Ligne 64: | Ligne 66: | ||
<note important>Pas de vncconnect, vncserver vncpasswd et vncviewer après installation de x11vnc...</note> | <note important>Pas de vncconnect, vncserver vncpasswd et vncviewer après installation de x11vnc...</note> | ||
- | Nous ne sommes déjà loin de la fin, mais vous pouvez facilement tester votre nouvelle installation de VNC en démarrant votre serveur VNC. | + | Nous ne sommes déjà loin de la fin, mais vous pouvez facilement tester votre nouvelle installation de VNC en démarrant votre serveur VNC. |
<code>vncserver</code> | <code>vncserver</code> | ||
Ligne 108: | Ligne 110: | ||
N'oubliez pas ensuite de router les ports dont vous aurez besoin : | N'oubliez pas ensuite de router les ports dont vous aurez besoin : | ||
- | * Dans le cas ou vous voulez router directement de l'extérieur vers votre machine -> les ports VNC : (5950-5954, 5960-5964, 5970-5974, 5980-5984) pour l'accès externe. | + | * Dans le cas ou vous voulez router directement de l'extérieur vers votre machine -> les ports VNC : (5950-5954, 5960-5964, 5970-5974, 5980-5984) pour l'accès externe. |
* Ou dans le cas du [[vpn]] ou [[ssh]], voir par la suite. | * Ou dans le cas du [[vpn]] ou [[ssh]], voir par la suite. | ||
Ligne 116: | Ligne 118: | ||
Si vous vous connectez depuis une machine Windows, il suffit d'ouvrir la boîte de dialogue avec un client vnc (ex: TightVNC viewer) et assurez-vous d'ajouter le: 1 à la fin de l'adresse. | Si vous vous connectez depuis une machine Windows, il suffit d'ouvrir la boîte de dialogue avec un client vnc (ex: TightVNC viewer) et assurez-vous d'ajouter le: 1 à la fin de l'adresse. | ||
- | Si vous avez installé tightvnc (java) vous pouvez vous connecter par navigateur à http://localhost:5950 | + | Si vous avez installé tightvnc (java) vous pouvez vous connecter par navigateur à http://localhost:5950 |
===== Connexion automatique du Serveur Vnc ===== | ===== Connexion automatique du Serveur Vnc ===== | ||
==== Xinetd ==== | ==== Xinetd ==== | ||
- | Xinetd est utilisé pour lancer automatiquement un serveur VNC sur l'appel d'un client externe. | + | Xinetd est utilisé pour lancer automatiquement un serveur VNC sur l'appel d'un client externe. |
* Installer [[apt>xinetd]]. | * Installer [[apt>xinetd]]. | ||
- | Il y a plusieurs façons de permettre à xinetd d'écouter les appels externes, voici quelques exemples: | + | Il y a plusieurs façons de permettre à xinetd d'écouter les appels externes, voici quelques exemples : |
* Modifier /etc/xinetd.conf :<code>sudo xdg-open /etc/xinetd.conf</code> | * Modifier /etc/xinetd.conf :<code>sudo xdg-open /etc/xinetd.conf</code> | ||
Ligne 131: | Ligne 133: | ||
Pour ouvrir les connexions à tous (peut poser des problèmes de sécurité) mettre un # devant la ligne : <code>#only_from = localhost </code> | Pour ouvrir les connexions à tous (peut poser des problèmes de sécurité) mettre un # devant la ligne : <code>#only_from = localhost </code> | ||
- | * Si vous voulez seulement l'accès aux clients internes, vous pouvez dresser la liste: | + | * Si vous voulez seulement l'accès aux clients internes, vous pouvez dresser la liste : |
<code>only_from = 192.168.0.1 192.168.0.2</code> | <code>only_from = 192.168.0.1 192.168.0.2</code> | ||
- | * Pour une interface donné, vous pouvez spécifier l'IP de cette interface: | + | * Pour une interface donné, vous pouvez spécifier l'IP de cette interface : |
<code>bind = 192.168.0.1 </code> | <code>bind = 192.168.0.1 </code> | ||
- | Exemple de fichier ( pour découvrir d'autres options ) : | + | Exemple de fichier (pour découvrir d'autres options) : |
<file> | <file> | ||
{ | { | ||
Ligne 189: | Ligne 191: | ||
Et ajouter : | Et ajouter : | ||
* Si vous avez choisi **Tightvnc** : | * Si vous avez choisi **Tightvnc** : | ||
- | <file> | + | <file> |
service vnc-640x480x8 | service vnc-640x480x8 | ||
{ | { | ||
Ligne 356: | Ligne 358: | ||
* Si vous avez choisi un autre serveur **vnc** : | * Si vous avez choisi un autre serveur **vnc** : | ||
- | <file> | + | <file> |
service vnc-640x480x8 | service vnc-640x480x8 | ||
{ | { | ||
Ligne 559: | Ligne 561: | ||
Pour KDE ajouter : <code>XSESSION="kde-3.5" | Pour KDE ajouter : <code>XSESSION="kde-3.5" | ||
- | </code> utilisent xdm | gnome en conséquence. | + | </code> utilisent xdm | gnome en conséquence. |
</note> | </note> | ||
Ligne 567: | Ligne 569: | ||
Pour éviter un problème où vous pouvez vous connecter, mais par la suite vous n'avez qu'un écran noir, éditer le fichier /etc/security/pam_env.conf <code>gksudo gedit /etc/security/pam_env.conf </code> | Pour éviter un problème où vous pouvez vous connecter, mais par la suite vous n'avez qu'un écran noir, éditer le fichier /etc/security/pam_env.conf <code>gksudo gedit /etc/security/pam_env.conf </code> | ||
- | et vérifiez que les lignes suivantes sont commentées (ont # devant): | + | et vérifiez que les lignes suivantes sont commentées (ont # devant): |
<code> | <code> | ||
#REMOTEHOST DEFAULT= OVERRIDE=@{PAM_RHOST} | #REMOTEHOST DEFAULT= OVERRIDE=@{PAM_RHOST} | ||
Ligne 590: | Ligne 592: | ||
- En partant du principe le serveur vncserver sur l'hôte (serveur) est lancé, fonctionnel, bien configuré, **et testé** ! | - En partant du principe le serveur vncserver sur l'hôte (serveur) est lancé, fonctionnel, bien configuré, **et testé** ! | ||
- | - Sur le client vous pouvez lancer cette commande : ssh-f-N-L portLocal: vncserver: Pseudo vncServerPort @ vncServerPort | + | - Sur le client vous pouvez lancer cette commande : ''ssh-f-N-L portLocal: vncserver: Pseudo vncServerPort @ vncServerPort'' |
<code> | <code> | ||
ssh -f -N -L localPort:vncServer:vncServerPort username@vncServer | ssh -f -N -L localPort:vncServer:vncServerPort username@vncServer | ||
</code> | </code> | ||
- | * -f Requests ssh to go to background just before command execution. This is useful if ssh is going to ask for passwords or passphrases, | + | * ''-f'' Demande au programme ssh de passer en arrière-plan juste avant l'exécution de la commande. C'est utile lorsque ssh s’apprête à demander un mot de passe ou une phrase-clé, mais que l'utilisateur souhaite que cela soit en arrière-plan. Cela sous-entend l'utilisation de l'argument ''-n''. La méthode recommandée pour lancer un programme X11 sur un site distant est du type ''ssh -f host xterm''. |
- | but the user wants it in the background. This implies -n. The recommended way to start X11 programs at a remote site is with something | + | * ''-N'' Ne pas exécuter de commande à distance. Ceci est utile pour uniquement transférer les ports (uniquement protocole version 2). |
- | like ssh -f host xterm. | + | * ''-L [bind_address:]port:host:hostport'' Crée un lien entre le port (d'entrée sur la machine distante) et le port (hostport) sur la machine host (éventuellement localhost). Ceci permet soit de renommer un port port dont le numéro est trop connu, soit de router un appel sur une machine qui ne peut être atteinte que depuis la machine sur laquelle on se connecte (je suis A, je veux atteindre C dont les accès sous seulement autorisé pour B = Je me connecte sur B en demandant de router l'appel sur C). |
- | * -N Do not execute a remote command. This is useful for just forwarding ports (protocol version 2 only). | + | |
- | * -L [bind_address:]port:host:hostport | + | |
Plutôt que de répéter l'information (et au crédit de l'auteur original), je vais mettre lien vers cette page: | Plutôt que de répéter l'information (et au crédit de l'auteur original), je vais mettre lien vers cette page: | ||
- | http://pigtail.net/LRP/vnc/ (cette page est destiné à Windows). | + | http://pigtail.net/LRP/vnc/ (cette page est destiné à Windows). |
===== Liens ===== | ===== Liens ===== | ||
- | * [[http://forums.gentoo.org/viewtopic.php?t=72893|Transformer votre station Linux en serveur de terminal X]] (basé sur Gentoo Linux) | + | * [[https://forums.gentoo.org/viewtopic.php?t=72893|Transformer votre station Linux en serveur de terminal X]] (basé sur Gentoo Linux) |
* [[http://www.gentoo-wiki.info/HOWTO_Xvnc_terminal_server|Tutorial XVNX (gentoo anglais )]] | * [[http://www.gentoo-wiki.info/HOWTO_Xvnc_terminal_server|Tutorial XVNX (gentoo anglais )]] | ||
* [[:tutoriel/comment_creer_un_terminal_x_ou_recycler_une_vieille_machine|Comment créer un terminal x ou recycler une vieille machine]] | * [[:tutoriel/comment_creer_un_terminal_x_ou_recycler_une_vieille_machine|Comment créer un terminal x ou recycler une vieille machine]] |