Xvfb and xkb

Peter Hutterer peter.hutterer at who-t.net
Wed Aug 15 23:27:06 PDT 2012

On Wed, Aug 15, 2012 at 10:20:13PM -0700, Ashwin Chandra wrote:
> Thank you for responding Peter.
> I am not sure what you mean by calling setxkbmap first?
> Even if I embed the keymap to use in the InitKeyboardDeviceStruct() in the
> Xvfb initiation process, same problem.

oh, that answers the question then. servers regenerate when the last client
disconnects, so if you do the following, the keymap is reset before anyone
can use it:

Xvfb &
setxkbmap -layout de
/* last (only) client disconnects, server regens with defaults */
xterm /* has the default keymap now */

> I wanted to know if there was a way to debug this and see exactly which
> keymap file in a certain directory is being used? It looks like to me just
> the keymap is somehow wrong.

tbh, shoft of strace or gdb, I don't know

> -----Original Message-----
> From: Peter Hutterer [mailto:peter.hutterer at who-t.net]
> Sent: Wednesday, August 15, 2012 10:12 PM
> To: Ashwin Chandra
> Cc: xorg at lists.x.org
> Subject: Re: Xvfb and xkb
> On Fri, Aug 10, 2012 at 08:42:51AM -0700, Ashwin Chandra wrote:
> > I am using Xvfb to render an X session in memory. I am trying to use
> > setxkbmap to change the key layouts. I seem to have difficulty doing
> > this other than US key layout. There are no errors when calling “setxkbmap
> > de”
> > (german language) however the keymap looks all wrong and certain
> > modifier keys like alt-gr don’t seem to work. I thought maybe I don’t
> > have the right keymaps compiled in but I did a diff of
> > /usr/share/X11/xkb with a working machine and it is the same. So I
> > need some help figuring out how to debug this problem. Setxkbmap
> > doesn’t seem to have much info except the verbose options telling me what
> > it is setting.
> stab in the dark: you're not by any chance calling setxkbmap first and then
> other clients. If so, this would cause server regeneration and re-set
> anything done before.

More information about the xorg mailing list