Pages : 1
#1 Le 20/11/2013, à 13:18
- maxire
Serveur Xephyr, gestion du clavier
Bonjour,
J'essaie d'utiliser le serveur xephyr pour gérer l'affichage déporté dans un environnement X via xdmcp.
L'essentiel fonctionne, sauf le clavier qui est toujours un clavier US.
A la lecture de la page man de Xephyr (plutôt succincte) j'ai déduit que les options du serveur X (en l'occurence Xorg) sont utilisables, j'ai donc essayé la commande suivante :
Xephyr -query <Remote IP Address> -once :2 -xkbmap /etc/default/keyboard
Où /etc/default/keyboard est la description du clavier par défaut, du moins j'espère que c'est le bon fichier à utiliser.
Pour l'instant l'option -xkbmap est refusée par Xephyr, un message d'erreur me renvoie toute une liste d'options acceptées, aucune ne permet de gérer le clavier.
A noter que remmina qui, dans le cas d'une connexion xdmcp n'est qu'un habillage de Xephyr, a le même comportement.
Quelqu'un a-t-il une idée pour régler ce problème ?
Une fois connecté, la seule solution, non satisfaisante, que j'ai trouvée est de passer la commande "setxkbmap -layout fr".
Maxire
Archlinux/Mate + Ubuntu 22.04 + Archlinux/Gnome sur poste de travail
Hors ligne
#2 Le 24/11/2013, à 14:35
- maxire
Re : Serveur Xephyr, gestion du clavier
Bonjour,
Je me réponds à moi-même, en fait la page man de Xephyr est inexacte.
Pour connaître les options réellement acceptées par Xephyr mieux vaut passer cette commande :
Xephyr --help
En conclusion, si vous utilisez un clavier non us ce qui est tout de même potentiellement le cas de la majorité de la population de ce monde, abandonnez Xephyr.
En corollaire le plugin XDMCP de Remmina n'est pas une alternative à une connexion X distante puisque ce plugin utilise Xephyr (vérifié sous ubuntu et archlinux).
Tout en reconnaissant la complexité du sujet, je trouve dommage que Xephyr soit resté aussi basique, ceci est d'ailleurs confirmé par son développeur en page man, je cite :
· Keyboard handling is basic but works.
Yes, it works but in us english only.
Une alternative à Xephyr est Xnest qui gère très bien le clavier, sauf que Xnest est instable, ou plutôt très stable car Xnest plante systématiquement au bout de quelques minutes d'utilisation avec un message de ce style :
X Error of failed request: BadDrawable (invalid Pixmap or Window parameter)
Major opcode of failed request: 70 (X_PolyFillRectangle)
Resource id in failed request: 0x0
Serial number of failed request: 11352
Current serial number in output stream: 11353
Instabilité confirmée dans sa page man :
BUGS
Doesn't run well on servers supporting different visual depths.Still crashes randomly.
Probably has some memory leaks.
Dans le cas que j'ai testé ce n'est même pas "Randomly" mais "Systematically", dommage !
Au final, la seule alternative qui me reste encore (en mettant de côté xvnc qui est plutôt bancal), c'est de passer en mode console les bonnes vieiles commandes du genre :
X :10 vt10 -query <Remote IP Address> -terminate &
X :11 vt11 -indirect <Local IP Address> -terminate &
Pour autant que j'utilise mdm 1.0.8 comme gestionnaire d'affichage (ou gdm-old sous archlinux), les versions plus récentes étant allégées, vive la régression logicielle !
Il est regrettable que nous ne puissions plus réaliser simplement l'équivalent des stations de travail X comme voici une vingtaine d'années.
Il existe bien la possibilité SSH, qui pose d'autres problèmes comme la difficulté de fermer le tunnel en fin d'utilisation via les procédures de déconnexion standard du bureau.
J'avoue que je suis assez inquiet de ce que va devenir XDMCP ou plutôt son équivalent dans les futurs serveurs graphiques Wayland aussi bien que Mir.
Maxire
Archlinux/Mate + Ubuntu 22.04 + Archlinux/Gnome sur poste de travail
Hors ligne
#3 Le 07/08/2015, à 19:21
- maxire
Re : Serveur Xephyr, gestion du clavier
Je déterre ce fil, j'ai finalement trouvé comment paramétrer le clavier avec Xephyr, en fait la page man de Xephyr est fausse, mieux vaut planter Xephyr en lui passant une option bidon et alors toutes les options réellement disponibles sont listées dont l'option -keybd. permettant d'indiquer le driver de clavier et ses options.
Après recherche dans le web j'ai fini par trouver le nom de ce fichu driver «ephyr» plus les formats d'options à passer.
Pour ces options s'inspirer du résultat de la commande:
[aspire7730z@aspire7730z-arch ~]$ setxkbmap -query
rules: evdev
model: acer_laptop
layout: ca
options: kpdl:commaoss
[aspire7730z@aspire7730z-arch ~]$
Ce qui permet de lancer Xephyr avec un clavier canadien français de laptop acer en écrivant:
Xephyr :2 -keybd ephyr,xkbmodel=acer_laptop,xkblayout=ca,xkbrules=evdev,xkboptions=kpd:commaoss -terminate -audit 0 -query 192.168.1.9 -fullscreen
Pour ouvrir une connexion xdmcp dans une session graphique imbriquée en pein écran.
Alors je ne sais pas si j'ai manqué cette option -keybd en 2013 ou bien si celle-ci a été ajoutée entre-temps, en tout cas elle fonctionne.
J'ai également de nouveau testé Xnest qui est maintenant stable, mais beaucoup plus lent que Xephyr.
Si vous voulez utiliser Xnest et Xephyr via une connexion ssh, utiliser impérativement l'option ForwardX11Trusted sinon Xnest reste bloqué en clavier US quant à Xephyr il fait une «Segmentation fault».
L'option ForwardX11Trusted (-Y) permet d'utiliser pleinement les extensions Xlib du serveur X local contrairement à l'option simple ForwardX11 (-X).
Exemples d'utilisation:
ssh -Y toto@remote Xephyr -query localhost -terminate -audit 0 -fullscreen
Curieusement dans ce cas il n'est pas nécessaire d'utiliser l'option -keybd de Xephyr car le clavier est alors correctement géré (???).
Maxire
Archlinux/Mate + Ubuntu 22.04 + Archlinux/Gnome sur poste de travail
Hors ligne
#4 Le 11/12/2022, à 04:29
- uboops
Re : Serveur Xephyr, gestion du clavier
Merci Maxire, ça m'a servi pour Xephyr pour lancer le DE XFCE4
#$ setxkbmap -query
#rules: evdev
#model: pc105
#layout: fr,us
#options: terminate:ctrl_alt_bksp,grp_led:scroll
# added here:
# -keybd ephyr,xkbmodel=pc105,xkblayout=fr,xkbrules=evdev,xkboptions=terminate:ctrl_alt_bksp,grp_led:scroll
Dernière modification par uboops (Le 11/12/2022, à 04:31)
“Au lieu de faire que ce qui fût juste fût fort, on a fait que ce qui fût fort fût juste.” (Blaise Pascal).
Hors ligne