Eu instalei o Xubuntu 16.04, depois instalei o i3wm e gosto dele. Mas há uma questão interessante. Eu uso kbdd e setxkbmap para alternar e controlar layouts de teclado. Então coloquei isso em ~ / .xsessionrc :
#!/bin/sh
kbdd
exec setxkbmap "us,ua,ru" ",winkeys" "grp:shift_caps_toggle" &
dropbox start &
Tudo funciona, mas quando tentei adicionar meu próprio "indicador de layout atual" ao i3bar via dbus:
dbus-send --print-reply=literal --dest=ru.gentoo.KbddService /ru/gentoo/KbddService ru.gentoo.kbdd.getCurrentLayout | awk '{ print $2 }'
mostra um erro:
Error org.freedesktop.DBus.Error.ServiceUnknown: The name ru.gentoo.KbddService was not provided by any .service files
Mas se eu começar do terminal kbdd novamente, funciona! Além disso, pid de kbdd não muda nada. Então, problema provavelmente na ordem de começar algo. BTW, em outro computador eu uso o login em branco e o comando startx para iniciar o i3, então eu uso ~ / .xinitrc ao invés de ~ / .sessionrc e funciona perfeitamente. Alguém poderia ajudar?
Apêndice:
pid de kbdd é menor que pid de dbus-launcher, mas pid de dbus-monitor é menor que pid de kbdd. Parece que esta é uma razão. Mas por que? Devo escrever algum script de unidade para o systemd para iniciar o kbdd após o dbus-launcher de outra coisa?