Subject: Can't change keyboard layout in Xfce

From: Maxim Cournoyer <[email-masked]>
Date: Thu, 20 May 2021 17:22:19 -0400

Hello,

In a VM image such as the one we offer for download here:
https://ftp.gnu.org/gnu/guix/guix-system-vm-image-1.3.0.x86_64-linux.qcow2
or manually built with

$ guix system image --image-size=20G -t qcow2 gnu/system/examples/vm-image.tmpl

it is not possible to switch the keyboard layout (it sticks to the
default English US one) via the provided GUI (xfce4-keyboard-settings).

Looking at dbus-monitor, we can see that it sends the following D-Bus
messages to xfconf, the configuration manager of Xfce:

--8<---------------cut here---------------start------------->8---
method call time=1621544143.298985 sender=:1.31 -> destination=:1.3 serial=21 path=/org/xfce/Xfconf; interface=org.xfce.Xfconf; member=SetProperty
   string "keyboard-layout"
   string "/Default/XkbLayout"
   variant       string "us,ara,et"
method call time=1621544143.299068 sender=:1.31 -> destination=:1.3 serial=22 path=/org/xfce/Xfconf; interface=org.xfce.Xfconf; member=SetProperty
   string "keyboard-layout"
   string "/Default/XkbVariant"
   variant       string "dvorak,,"
method return time=1621544143.299121 sender=:1.3 -> destination=:1.31 serial=425 reply_serial=21
signal time=1621544143.299139 sender=:1.3 -> destination=(null destination) serial=426 path=/org/xfce/Xfconf; interface=org.xfce.Xfconf; member=PropertyChanged
   string "keyboard-layout"
   string "/Default/XkbLayout"
   variant       string "us,ara,et"
method return time=1621544143.299192 sender=:1.3 -> destination=:1.31 serial=427 reply_serial=22
signal time=1621544143.299209 sender=:1.3 -> destination=(null destination) serial=428 path=/org/xfce/Xfconf; interface=org.xfce.Xfconf; member=PropertyChanged
   string "keyboard-layout"
   string "/Default/XkbVariant"
   variant       string "dvorak,,"
--8<---------------cut here---------------end--------------->8---

There doesn't seem to be a problem up to this point.

We'd need to continue the investigation with what xfconf does following
the received D-Bus messages.

Thanks,

Maxim