![Dbus가 시작 시 ru.gentoo.KbddService를 볼 수 없습니다](https://linux55.com/image/87981/Dbus%EA%B0%80%20%EC%8B%9C%EC%9E%91%20%EC%8B%9C%20ru.gentoo.KbddService%EB%A5%BC%20%EB%B3%BC%20%EC%88%98%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4.png)
Xubuntu 16.04를 설치했고 나중에 i3wm을 설치했는데 마음에 듭니다. 그러나 흥미로운 질문이 있습니다. 저는 kbdd와 setxkbmap을 사용하여 키보드 레이아웃을 전환하고 제어합니다. 그래서 이걸 넣었어요~/.xsessionrc:
#!/bin/sh
kbdd
exec setxkbmap "us,ua,ru" ",winkeys" "grp:shift_caps_toggle" &
dropbox start &
이 모든 것이 작동하지만 dbus를 통해 i3bar에 내 "현재 레이아웃 표시기"를 추가하려고 하면 다음과 같습니다.
dbus-send --print-reply=literal --dest=ru.gentoo.KbddService /ru/gentoo/KbddService ru.gentoo.kbdd.getCurrentLayout | awk '{ print $2 }'
오류가 표시됩니다.
Error org.freedesktop.DBus.Error.ServiceUnknown: The name ru.gentoo.KbddService was not provided by any .service files
하지만 터미널에서 kbdd를 다시 시작하면 작동합니다! 게다가 kbdd의 pid는 전혀 변경되지 않았습니다. 그래서 어떤 일을 시작하는 순서에 문제가 있을 수도 있습니다. 그런데 다른 컴퓨터에서는 i3을 시작하기 위해 빈 로그인과 startx 명령을 사용했기 때문에 ~/.sessionrc 대신 ~/.xinitrc를 사용했고 제대로 작동했습니다. 누구든지 도와줄 수 있나요?
부록:
kbdd의 pid는 dbus-launcher의 pid보다 작지만 dbus-monitor의 pid는 kbdd의 pid보다 작습니다. 여기에는 이유가 있는 것 같습니다. 그런데 왜? 다른 것의 dbus-launcher 후에 kbdd를 시작하기 위해 systemd에 대한 일부 단위 스크립트를 작성해야 합니까?