Outils pour utilisateurs

Outils du site


technique:linux:x-window

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
technique:linux:x-window [2024/10/24 16:30] – [2 - Client unix ou windows -> serveur unix via SSH : NX] bernardtechnique:linux:x-window [2024/11/20 18:02] (Version actuelle) – [Le système X-window] bernard
Ligne 4: Ligne 4:
   * [[http://casteyde.christian.free.fr/online/install_linux/x9482.html|Configuration de X.org]]   * [[http://casteyde.christian.free.fr/online/install_linux/x9482.html|Configuration de X.org]]
   * [[http://www.lea-linux.org/cached/index/R%C3%A8gler_les_probl%C3%A8mes_d'X_Window.html|Régler les problèmes d'X-Window]]   * [[http://www.lea-linux.org/cached/index/R%C3%A8gler_les_probl%C3%A8mes_d'X_Window.html|Régler les problèmes d'X-Window]]
-  * [[www.blaess.fr/christophe/publications/ articles/article_LMF_21b.pdf|Configuration d?une station X-Window avec xdm]]+  * [[https://www.blaess.fr/christophe/files/configuration-xwindow-xdm.pdf|Configuration d?une station X-Window avec xdm]]
  
 ===== Login graphique (login manager) ===== ===== Login graphique (login manager) =====
Ligne 85: Ligne 85:
 ==== Sessions X multiples ==== ==== Sessions X multiples ====
  
 +Depuis la session X de départ (display 0) : <Alt Ctrl Fn> (Fn est une des touches de fonction F1 à F6 pour accéder à la console texte à utiliser)
  
-Pour obtenir plusieurs sessions X :+  * login de l'utilisateur désiré 
 +  * mot de passe 
 +  * ''startx -- :n'' (où n est un n° de console graphique virtuelle (0 est déjà pris ;-) Attention, espace indispensable entre -- et :n)
  
-Sous la session X de départ (display 0) 
-<Alt Ctrl Fn> 
-Fn est une des touches de fonction F1 à F6 pour accéder à la console texte à utiliser 
- 
-Taper le login de l'utilisateur désiré 
-Taper le mot de passe 
-Taper : 
-startx -- :n 
-n étant le n° de console graphique virtuelle (0 est le n° de la première console graphhique crée par le système) 
-(NB : attention, espace indispensable entre -- et :n) 
 Pour passer d'une console à une autre : Pour passer d'une console à une autre :
-<Ctrl Alt F7> pour la première console graphique +  * <Ctrl Alt F7> pour la première console graphique 
-<Ctrl Alt F8> pour la 2°, etc. (F7 àF11 utilisables) +  <Ctrl Alt F8> pour la 2°, etc. (F7 à F11 utilisables) 
-<Ctrl Alt F12> messages système+  <Ctrl Alt F12> messages système
  
 cf. http://www.mandrakeuser.org/docs/xwin/xnet.html cf. http://www.mandrakeuser.org/docs/xwin/xnet.html
  
 Démarrer une interface graphique particulière : Démarrer une interface graphique particulière :
 +<code>
 startx /etc/X11/xdm/Xsession KDE -- :n startx /etc/X11/xdm/Xsession KDE -- :n
 startx /etc/X11/xdm/Xsession Gnome -- :n startx /etc/X11/xdm/Xsession Gnome -- :n
Ligne 114: Ligne 108:
 startx /etc/X11/xdm/Xsession Sawfish -- :n startx /etc/X11/xdm/Xsession Sawfish -- :n
 startx /etc/X11/xdm/Xsession XFce -- :n startx /etc/X11/xdm/Xsession XFce -- :n
 +</code>
 ==== Mode texte/mode graphique ==== ==== Mode texte/mode graphique ====
  
Ligne 165: Ligne 159:
       * Nécessite un PC assez puissant (CPU 200 Mhz, 64 Mo RAM insuffisant ; 700 Mz, 96 Mo RAM parfait), avec un système d'exploitation installé sur le client (unix, windows ou même Mac OS X)       * Nécessite un PC assez puissant (CPU 200 Mhz, 64 Mo RAM insuffisant ; 700 Mz, 96 Mo RAM parfait), avec un système d'exploitation installé sur le client (unix, windows ou même Mac OS X)
  
-==== 3 - Client (léger) unix -> serveur unix : LTSP (Linux Terminal Server Project) ==== +  - Client (léger) unix -> serveur unix : LTSP (Linux Terminal Server Project) 
- +    Idéal pour transformer de vieux PCs (P200 ou moins), sans disque dur, en terminaux X performants 
-Idéal pour transformer de vieux PCs (P200 ou moins), sans disque dur, en terminaux X performants +    http://bulma.net/body.phtml?nIdNoticia=1776 
-http://bulma.net/body.phtml?nIdNoticia=1776 +    http://www.ltsp.org/
-http://www.ltsp.org/+
  
 ==== X -query ... ==== ==== X -query ... ====
- 
  
 Soit S le serveur (machine sur laquelle on veut se connecter) et T le terminal : Soit S le serveur (machine sur laquelle on veut se connecter) et T le terminal :
  
-Sur S +=== Sur S ===
------ +
-- Firewall : ouvrir le port 177 en UDP +
-Relancer le firewall +
-- Vérifier quel est le xdm actif : +
-# ps aux | grep dm +
- Si c'est gdm : +
- gdmsetup (ou gdmconfig, c'est un alias) : autoriser XDMCP +
- On peut également modifier directement /etc/X11/gdm/gdm.conf (nouvellement /etc/X11/gdm/custom.conf) à la main : chercher [xdmcp] et changer "Enable=false" en "Enable=true" +
- Si c'est kdm : +
-  éditer /etc/kde/kdm/kdmrc, chercher[Xdmcp] et remplacer Enable=false par Enable=true +
- Pour un autre "display manager", voir la doc  +
- http://www.tldp.org/HOWTO/XDMCP-HOWTO/ +
-Relancer le display manager pour que la modification soit prise en compte : +
-# service dm restart+
  
-Sur T +  - Firewall : 
------ +    * ouvrir le port 177 en UDP 
-- Firewall : ouvrir 1 ou plusieurs ports tcp pour X : 6000, 6001, etc. (cf.  +    * Relancer le firewall 
-www.iana.org/assignments/port-numbers) +  Vérifier quel est le xdm actif (# ps aux | grep dm) 
-Faire afficher le "Login manager" par la commande : +    * Si c'est gdm : 
-X -query nom_ou_IP_du_serveur_S :1 +      * gdmsetup (ou gdmconfig, c'est un alias) : autoriser XDMCP 
-NB : :1 correspond au port 6001, :2 au port 6002 etc. +      * On peut également modifier directement /etc/X11/gdm/gdm.conf (nouvellement /etc/X11/gdm/custom.conf) à la main : chercher [xdmcp] et changer "Enable=false" en "Enable=true" 
-- Pour que la connexion se fasse automatiquement, mettre cette même commande  +    * Si c'est kdm : 
-dans /etc/inittab : +      * éditer /etc/kde/kdm/kdmrc, chercher[Xdmcp] et remplacer Enable=false par Enable=true 
-x:5:respawn:/usr/X11R6/bin/X -query nom_ou_IP_du_serveur_S+    * Pour un autre "display manager", voir la doc http://www.tldp.org/HOWTO/XDMCP-HOWTO/ 
 +  Relancer le display manager pour que la modification soit prise en compte : (# service dm restart) 
 + 
 +=== Sur T === 
 + 
 +  * Firewall : ouvrir 1 ou plusieurs ports tcp pour X : 6000, 6001, etc. (cf. www.iana.org/assignments/port-numbers) 
 +    Faire afficher le "Login manager" par la commande : X -query nom_ou_IP_du_serveur_S :1 ((NB : :1 correspond au port 6001, :2 au port 6002 etc.)) 
 +  * Connexion automatique : 
 +    dans /etc/inittab : ''x:5:respawn:/usr/X11R6/bin/X -query nom_ou_IP_du_serveur_S'' 
 +    * sur système récent, créer un lanceur (par exemple x11-query.service) dans ''/etc/systemd/system'' qui contient une ligne ''ExecStart=/usr/bin/X -query <IP>'' 
 + 
 +=== Problème ===
  
-Problème 
--------- 
 Si on n'obtient pas la mire de login (l'écran reste bleu) c'est sans doute que le port 177 est resté fermé. Si on n'obtient pas la mire de login (l'écran reste bleu) c'est sans doute que le port 177 est resté fermé.
 Vérifier avec nmap à partir de T : Vérifier avec nmap à partir de T :
 +<code>
 [T]# nmap -s U -p 177 le_serveur [T]# nmap -s U -p 177 le_serveur
 PORT    STATE  SERVICE PORT    STATE  SERVICE
 177/udp closed xdmcp 177/udp closed xdmcp
-=> vérifier la configuration du firewall du serveur +</code> 
-=> le problème peut aussi provenir du display manager : identifier celui qui fonctionne sur S : +  * vérifier la configuration du firewall du serveur 
-[S]$ ps aux | grep dm +  Xdmcp est peut-être à false, le changer (dans /etc/kde/kdm/kdmrc /etc/lightdm/lightdm.conf, etc.) 
-root      2855  0.0  0.0  18628   932 ?        S    18:23   0:00 /usr/bin/kdm -n                      odaemon + 
-Xdmcp est sans doute à false, le changer (dans /etc/kde/kdm/kdmrc pour kdm:+<code>
 [Xdmcp] [Xdmcp]
 Enable=true Enable=true
-Puis relancer le Display Manager : +</code>
-# service dm restart+
  
- On doit alors avoir à partir de T :+Puis relancer le Display Manager ''# service dm restart''
  
 +On doit alors avoir à partir de T :
 +<code>
 # nmap -s U -p 177 le-serveur # nmap -s U -p 177 le-serveur
 PORT    STATE         SERVICE PORT    STATE         SERVICE
 177/udp open|filtered xdmcp 177/udp open|filtered xdmcp
-et la connexion devrait fonctionner.+</code>
  
-Terminal avec cygwin sous windows +==== Terminaux X, nxfreenx ====
---------------------------------- +
-- Lancer cygwin +
-- Taper comme ci-dessus : +
--query nom_ou_IP_du_serveur_S +
-(il n'est pas nécessaire d'avoir au préalable lancé X) +
-ou en cas de message d'erreur indiquant que :0 est déjà utilisé : +
-X -query nom_ou_IP_du_serveur_S :1 +
-(1 ou un n° supérieur, voir problème ci-dessous) +
-Une fenêtre X s'ouvre avec l'invite gdm +
-Si la fenêtre X reste grise, penser au firewall : le désactiver et voir si ça  +
-résoud le problème. Si c'est le cas le remettre en autorisant en entrée le  +
-port tcp 6000 (et éventuellement au dessus). Si ça ne fonctionne toujours  +
-pasvoir plus loin "Problème Kerio/cygwin"+
-Pour fermer la fenêtrecomme d'habitude  carré en haut à gauche de la fenêtre cygwin.+
  
-Pour automatiser +http://www.nomachine.com/
----------------- +
-Editer Cygwin\usr\X11R6\bin\startxwin.bat +
-Vers la fin du fichier, trouver la ligne (ou équivalent) : +
-run xwin -multiwindow -clipboard -silent-dup-error +
-La remplacer par : +
-run xwin  -clipboard -silent-dup-error -query nom_ou_IP_du_serveur_S +
-(supprimer -multiwindow qui génère une erreur) +
-La ou les commandes qui suivent sont inutiles (chez moi ouverture de console X par "run xterm -e /usr/bin/bash -l") : elles ne servent plus à rien, on peut les supprimer. +
-Enregistrer le batch sous un nom quelconque (gdm_nom_ou_IP_du_serveur_S.bat par exemple). +
-Le lancer. +
-Pour en simplifier l'utilisation,  le mettre en icône sur le bureau et (ou) dans la liste des programmes et (ou) dans la barre de tâche.+
  
-Problème (ou Bug ?"fatal error" : +=== Serveur nx (freenx===
------------------------------------ +
-Chaque fois que Cygwin ouvre une fenêtre X, il crée un fichier Xn avec l'attribut système (ou n est le n° du display, X0 pour :0) dans le répertoire Cygwin/tmp/.X11-unix. +
-En cas de plantage de la fenêtre X le fichier Xn correspondant n'est pas supprimé : il empêche l'ouverture du display :n. Dans le cas d'un redémarrage de Cygwin avec X0 non effacé, pas de problème pour lancer startx ou startxwin.bat. Mais  +
-X -query nom_ou_IP_du_serveur_S  +
-génère le message d'erreur : +
-"A fatal errot has occured and Cygwin/X will now exit. +
-Please open /tmp/Xwin.log for more information." +
-Solution : voir dans Cygwin/tmp/.X11-unix les n° de display utilisés, puis taper : +
-X -query nom_ou_IP_du_serveur_S :n ou n est un N° de display libre.+
  
-Problème Kerio/cygwin 
---------------------- 
-La connexion est impossible avec une version 4.0.? de Kerio : "X -query nom_ou_IP_du_serveur_S" ouvre une fenêtre X qui reste grise. 
-Solution : installer une version récente de Kerio ; pas de problème avec la version actuelle (4.2.1). 
- 
-Terminaux X, nx, freenx 
-°°°°°°°°°°°°°°°°°°°°°°° 
-http://www.nomachine.com/ 
  
-Serveur nx (freenx) 
-------------------- 
 - Sur le serveur, installer freenx (qui dépend de plusieurs autres programmes et les installe aussi). - Sur le serveur, installer freenx (qui dépend de plusieurs autres programmes et les installe aussi).
 L'installation crée l'utilisateur système "nx" L'installation crée l'utilisateur système "nx"
Ligne 300: Ligne 245:
  # nxserver --restart  # nxserver --restart
  
-Fichiers de configuration +=== Fichiers de configuration === 
--------------------------+ 
 /etc/nxserver/ /etc/nxserver/
 /etc/nxserver/node.conf (configuration du serveur) /etc/nxserver/node.conf (configuration du serveur)
  
-Client nx +=== Client nx === 
----------+ 
 - Télécharger et installer le rpm disponible sur http://www.nomachine.com (NX client for Linux, free) - Télécharger et installer le rpm disponible sur http://www.nomachine.com (NX client for Linux, free)
 - Copier la clé privée /var/lib/nxserver/nxhome/.ssh/client.id_dsa.key qui est sur le serveur, dans un répertoire quelconque du client (répertoire /usr/NX/share/ ou répertoire /usr/NX/share/keys qui ont été créés lors de l'installation du client par exemple) avec un nom quelconque (du genre "NomDuServeur_client.id_dsa.key" par exemple) . S'il existe déjà une clé avec ce nom, l'écraser. - Copier la clé privée /var/lib/nxserver/nxhome/.ssh/client.id_dsa.key qui est sur le serveur, dans un répertoire quelconque du client (répertoire /usr/NX/share/ ou répertoire /usr/NX/share/keys qui ont été créés lors de l'installation du client par exemple) avec un nom quelconque (du genre "NomDuServeur_client.id_dsa.key" par exemple) . S'il existe déjà une clé avec ce nom, l'écraser.
technique/linux/x-window.1729787424.txt.gz · Dernière modification : 2024/10/24 16:30 de bernard