I'm starting a child with Xephyr on Linux xpra 0.9.7 and when I access it from my Mac v.0.9.6. The enter-key and the arrows doesn't work. If I start xpra without the child it works fine across Linux and Mac. Please check the logs attached.
I've noticed that the log with Xephyr, the xkb is not set with options keys.
Sorry, after checking again the logs. On both logs the option keys are being configured by xkb. So, should be something else.
Thanks.
The command that I'm using is:
xpra start :10 \ --start-child="Xephyr -ac -screen 1440x900 -query localhost \ -host-cursor -reset -terminate :11" \ --xvfb="Xvfb +extension Composite -screen 0 1440x900x24+32 -nolisten tcp \ -noreset -auth /home/docker/.Xauthority"
Even if I set the xkb it doesn't work:
docker@9b5c0b4b7e54:~$ DISPLAY=:11 setxkbmap -rules evdev -model pc105 -layout us -option "terminate:ctrl_alt_bksp" docker@9b5c0b4b7e54:~$ DISPLAY=:11 setxkbmap -query rules: evdev model: pc105 layout: us options: terminate:ctrl_alt_bksp
Have you tried using Xephyr as your xvfb instead?
No. How should I do that?
xpra start :10 --xvfb="Xephyr -ac -screen 1440x900 -query localhost -host-cursor -reset -terminate"
?
Never mind, this cannot work as Xephyr is itself an X11 client and therefore requires an existing X11 server to run.
So back to key mapping, you will have to tell Xephyr to use the same keymap as the Xvfb, see xmodmap
and xkbcomp
.
I tried :
xkbcomp :10 :11
But it didn't work! On windows and on Linux the keyboard works fine, only on Mac that it happens!
wiki/Keyboard may help you, but OSX support is not on the same level as the other platforms.
As for xkbcomp, the usual way of doing it is to dump the keymap from setxkbmap -print
to xkbcomp
.
See http://www.x.org/releases/X11R7.7/doc/man/man1/setxkbmap.1.xhtml
Do you think it is happening due the version? The most recent version on Mac is 0.9.6.
Both xkb are the same. But the problem persists.
docker@9b5c0b4b7e54:~$ DISPLAY=:11 docker@9b5c0b4b7e54:~$ setxkbmap -print xkb_keymap { xkb_keycodes { include "evdev+aliases(qwerty)" }; xkb_types { include "complete" }; xkb_compat { include "complete" }; xkb_symbols { include "pc+us+inet(evdev)+terminate(ctrl_alt_bksp)" }; xkb_geometry { include "pc(pc105)" }; }; docker@9b5c0b4b7e54:~$ DISPLAY=:10 docker@9b5c0b4b7e54:~$ setxkbmap -print xkb_keymap { xkb_keycodes { include "evdev+aliases(qwerty)" }; xkb_types { include "complete" }; xkb_compat { include "complete" }; xkb_symbols { include "pc+us+inet(evdev)+terminate(ctrl_alt_bksp)" }; xkb_geometry { include "pc(pc105)" }; }; docker@9b5c0b4b7e54:~$
ps ax 6020 ? Sl 0:12 /usr/bin/python /usr/bin/xpra start :10 \ --start-child=Xephyr -ac -screen 1440x900 -query localhost -host-cursor -reset -terminate :11 \ --xvfb=Xvfb +extension Composite -screen 0 1440x900x24+32 -nolisten tcp -nore 6021 ? Ss 0:01 Xvfb-for-Xpra-:10 +extension Composite -screen 0 1440x900x24+32 \ -nolisten tcp -noreset -auth /home/docker/.Xauthority :10 6030 ? S 0:00 dbus-launch --autolaunch 610097d84ec52199cdf0f8d751e75ea7 --binary-syntax --close-stderr 6031 ? Ss 0:00 //bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session 6034 ? S 0:00 /bin/sh -c Xephyr -ac -screen 1440x900 -query localhost -host-cursor -reset -terminate :11 6035 ? S 0:09 Xephyr -ac -screen 1440x900 -query localhost -host-cursor -reset -terminate :11
Having the same layout is not sufficient, you also need the same keymap:
xmodmap -pke
But even then, keyboard support in sharing mode is unlikely to work with heterogeneous clients - at least in current versions.
I'm not using sharing mode any more are it still has some issues. I'm now connecting one by one separately. When I connect from the other machine, the previous one lose the connection.
Yes, the keymap are different between :11 and :10. How can I change the mapping? Which is the best way of telling Xephyr to use the same keymap as Xvfb?
Hi Antoine,
Now it's working! I created a file (xmodmap) from the Xvfb display and then I used it on the Xephyr's display! :)
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/383