LINUX.ORG.RU

Как запускаешь dbus-daemon и kbdd? Если через .xinitrc, то kbdd должен идти после dbus-launch:

if [[ -z "$DBUS_SESSION_BUS_ADDRESS" ]]; then
  eval $(dbus-launch --sh-syntax --exit-with-session)
fi
kbdd &

mtk
()
Ответ на: комментарий от mtk

dbus-daemon как-то инитом сам запускается, а kbdd вручную запускал, убивал и перезапускал.

$ echo $DBUS_SESSION_BUS_ADDRESS 
unix:abstract=/tmp/dbus-7AJ21sG4WL,guid=1eb6f16ea30f6b31ab16cbcb5308815b

так что всё соответствует.

ados ★★★★★
() автор топика
Ответ на: комментарий от ados

я, с флагом dbus собрано? Хм.. вообще там возможно лишние действия при запуске, если не починилось из dbus-daemon, то я попробую поправить.

qnikst ★★★★★
()
Ответ на: комментарий от qnikst

Если генерировать конфигурации в такой последовательности:

  aclocal
  autoreconf -i
  automake --add-missing

а не как в README, то ошибки, которая в issues #30 не возникает. Сейчас пересобрал с --enable-dbus, не помогло.

PS это нормально, что make вообще ничего не делает в src/dbus ?

ados ★★★★★
() автор топика
Последнее исправление: ados (всего исправлений: 1)
Ответ на: комментарий от qnikst

В PKGBUILD-е

  aclocal
  autoreconf -i
  automake --add-missing
  ./configure --prefix=/usr --enable-dbus
  make

Выхлоп makepkg:

remote: Counting objects: 30, done.
remote: Compressing objects: 100% (28/28), done.
remote: Total 30 (delta 1), reused 30 (delta 1)
Receiving objects: 100% (30/30), 40.49 KiB | 0 bytes/s, done.
Resolving deltas: 100% (1/1), done.
Checking connectivity... done.
configure.ac:8: warning: AM_INIT_AUTOMAKE: two- and three-arguments forms are deprecated.  For more info, see:
configure.ac:8: http://www.gnu.org/software/automake/manual/automake.html#Modernize-AM_005fINIT_005fAUTOMAKE-invocation
configure.ac:12: installing './compile'
configure.ac:8: installing './install-sh'
configure.ac:8: installing './missing'
src/Makefile.am: installing './depcomp'
configure.ac:8: warning: AM_INIT_AUTOMAKE: two- and three-arguments forms are deprecated.  For more info, see:
configure.ac:8: http://www.gnu.org/software/automake/manual/automake.html#Modernize-AM_005fINIT_005fAUTOMAKE-invocation
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for ranlib... ranlib
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking for stdint.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for unistd.h... (cached) yes
checking for X... libraries , headers 
checking for pid_t... yes
checking for strerror... yes
checking for X11... yes
./configure: 4833: test: xyes: unexpected operator
./configure: 4916: test: xyes: unexpected operator
./configure: 4933: test: xno: unexpected operator
checking for GLIB... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating src/dbus/Makefile
config.status: creating config.h
config.status: executing depfiles commands
make  all-recursive
make[1]: Entering directory '/home/redarch19/src/src/kbdd-build'
Making all in src
make[2]: Entering directory '/home/redarch19/src/src/kbdd-build/src'
make[3]: Entering directory '/home/redarch19/src/src/kbdd-build/src'
gcc -DHAVE_CONFIG_H -I. -I..   -D_FORTIFY_SOURCE=2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -Idbus/  -march=i686 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -MT kbdd.o -MD -MP -MF .deps/kbdd.Tpo -c -o kbdd.o kbdd.c
mv -f .deps/kbdd.Tpo .deps/kbdd.Po
gcc -DHAVE_CONFIG_H -I. -I..   -D_FORTIFY_SOURCE=2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -Idbus/  -march=i686 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -MT perwindow.o -MD -MP -MF .deps/perwindow.Tpo -c -o perwindow.o perwindow.c
mv -f .deps/perwindow.Tpo .deps/perwindow.Po
gcc -DHAVE_CONFIG_H -I. -I..   -D_FORTIFY_SOURCE=2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -Idbus/  -march=i686 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -MT libkbdd.o -MD -MP -MF .deps/libkbdd.Tpo -c -o libkbdd.o libkbdd.c
mv -f .deps/libkbdd.Tpo .deps/libkbdd.Po
gcc -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -Idbus/  -march=i686 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4  -Wl,-O1,--sort-common,--as-needed,-z,relro -o kbdd kbdd.o perwindow.o libkbdd.o -lglib-2.0  -lX11   
make[3]: Leaving directory '/home/redarch19/src/src/kbdd-build/src'
make[2]: Leaving directory '/home/redarch19/src/src/kbdd-build/src'
make[2]: Entering directory '/home/redarch19/src/src/kbdd-build'
make[2]: Leaving directory '/home/redarch19/src/src/kbdd-build'
make[1]: Leaving directory '/home/redarch19/src/src/kbdd-build'
ados ★★★★★
() автор топика
Ответ на: комментарий от ados

интересно..

>>> Configuring source in /var/tmp/portage/x11-misc/kbdd-0.7/work/qnikst-kbdd-534caaa ...
./configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --libdir=/usr/lib64 --disable-dependency-tracking --enable-dbus
checking for a BSD-compatible install... /usr/lib64/portage/bin/ebuild-helpers/xattr/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for x86_64-pc-linux-gnu-gcc... x86_64-pc-linux-gnu-gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether x86_64-pc-linux-gnu-gcc accepts -g... yes
checking for x86_64-pc-linux-gnu-gcc option to accept ISO C89... none needed
checking whether x86_64-pc-linux-gnu-gcc understands -c and -o together... yes
checking for style of include used by make... GNU
checking dependency style of x86_64-pc-linux-gnu-gcc... none
checking for x86_64-pc-linux-gnu-ranlib... x86_64-pc-linux-gnu-ranlib
checking for x86_64-pc-linux-gnu-pkg-config... /usr/bin/x86_64-pc-linux-gnu-pkg-config
checking pkg-config is at least version 0.9.0... yes
checking how to run the C preprocessor... x86_64-pc-linux-gnu-gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking for stdint.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for unistd.h... (cached) yes
checking for X... libraries , headers 
checking for pid_t... yes
checking for strerror... yes
checking for X11... yes
checking for DBUSGLIB... yes
checking for GLIB... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating src/dbus/Makefile
config.status: creating config.h
config.status: executing depfiles commands
>>> Source configured.
>>> Compiling source in /var/tmp/portage/x11-misc/kbdd-0.7/work/qnikst-kbdd-534caaa ...
make -j5 
make  all-recursive
make[1]: Entering directory '/var/tmp/portage/x11-misc/kbdd-0.7/work/qnikst-kbdd-534caaa'
Making all in src
make[2]: Entering directory '/var/tmp/portage/x11-misc/kbdd-0.7/work/qnikst-kbdd-534caaa/src'
Making all in dbus
make[3]: Entering directory '/var/tmp/portage/x11-misc/kbdd-0.7/work/qnikst-kbdd-534caaa/src/dbus'
glib-genmarshal --prefix=kbdd_marshal kbdd-marshal.list --header > xgen-gmh \
&& (cmp -s xgen-gmh m-kbdd-service-marshal.o || cp xgen-gmh m-kbdd-service-marshal.o ) \
&& rm -f xgen-gmh xgen-gmh~
glib-genmarshal --prefix=kbdd_marshal kbdd-marshal.list --body > xgen-gmc \
&& cp xgen-gmc m-kbdd-service-marshal.c \
&& rm -f xgen-gmc xgen-gmc~
dbus-binding-tool --mode=glib-server --prefix=m_kbdd_service kbdd-service-interface.xml > kbdd-service-glue.h
make  all-am
make[4]: Entering directory '/var/tmp/portage/x11-misc/kbdd-0.7/work/qnikst-kbdd-534caaa/src/dbus'
x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../..    -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include  -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include  -O2 -pipe -march=native -mtune=native -maes -c -o m-kbdd-service.o m-kbdd-service.c
rm -f libkbdddbus.a
ar cru libkbdddbus.a m-kbdd-service.o m-kbdd-service-marshal.o 
x86_64-pc-linux-gnu-ranlib libkbdddbus.a
make[4]: Leaving directory '/var/tmp/portage/x11-misc/kbdd-0.7/work/qnikst-kbdd-534caaa/src/dbus'
make[3]: Leaving directory '/var/tmp/portage/x11-misc/kbdd-0.7/work/qnikst-kbdd-534caaa/src/dbus'
make[3]: Entering directory '/var/tmp/portage/x11-misc/kbdd-0.7/work/qnikst-kbdd-534caaa/src'
x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I..    -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include  -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include  -Idbus/ -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include  -O2 -pipe -march=native -mtune=native -maes -c -o kbdd.o kbdd.c
x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I..    -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include  -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include  -Idbus/ -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include  -O2 -pipe -march=native -mtune=native -maes -c -o perwindow.o perwindow.c
x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I..    -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include  -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include  -Idbus/ -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include  -O2 -pipe -march=native -mtune=native -maes -c -o libkbdd.o libkbdd.c
kbdd.c: In function ‘dbus_init’:
kbdd.c:142:5: warning: ‘g_type_init’ is deprecated (declared at /usr/include/glib-2.0/gobject/gtype.h:669) [-Wdeprecated-declarations]
kbdd.c: In function ‘main’:
kbdd.c:298:5: warning: ‘g_type_init’ is deprecated (declared at /usr/include/glib-2.0/gobject/gtype.h:669) [-Wdeprecated-declarations]
kbdd.c:303:9: warning: ‘g_thread_init’ is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:260) [-Wdeprecated-declarations]
kbdd.c:316:27: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
kbdd.c:316:35: warning: initialization makes integer from pointer without a cast [enabled by default]
kbdd.c:316:35: warning: (near initialization for ‘dpy_pollfd.fd’) [enabled by default]
x86_64-pc-linux-gnu-gcc -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include  -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include  -Idbus/ -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include  -O2 -pipe -march=native -mtune=native -maes  -Wl,--hash-style=gnu,--sort-common,--as-needed -o kbdd kbdd.o perwindow.o libkbdd.o -lglib-2.0  -lX11  -ldbus-glib-1 -ldbus-1 -lgobject-2.0 -lglib-2.0  dbus/libkbdddbus.a 
make[3]: Leaving directory '/var/tmp/portage/x11-misc/kbdd-0.7/work/qnikst-kbdd-534caaa/src'
make[2]: Leaving directory '/var/tmp/portage/x11-misc/kbdd-0.7/work/qnikst-kbdd-534caaa/src'
make[2]: Entering directory '/var/tmp/portage/x11-misc/kbdd-0.7/work/qnikst-kbdd-534caaa'
make[2]: Nothing to be done for 'all-am'.
make[2]: Leaving directory '/var/tmp/portage/x11-misc/kbdd-0.7/work/qnikst-kbdd-534caaa'
make[1]: Leaving directory '/var/tmp/portage/x11-misc/kbdd-0.7/work/qnikst-kbdd-534caaa'
>>> Source compiled.
qnikst ★★★★★
()
Ответ на: комментарий от qnikst

На гитовую, самую последнюю вроде.

вот

Наверно лучше попробовать kbdd 0.7-2 у него голосов больше.

Правда он сперва не собрался у меня.

ados ★★★★★
() автор топика
Последнее исправление: ados (всего исправлений: 1)
Ответ на: комментарий от qnikst

А можно перевод твоего портежа на стандартные команды сборок. Я ваши eutils не очень понимаю.

ados ★★★★★
() автор топика
Ответ на: комментарий от ados

в общем-то в ебилде только враппера над autoreconf используется (http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/eclass/autotools.ecla... см. функцию eautoreconf.

Но сейчас себе я сделал просто:

        aclocal ; automake --add-missing ; autoreconf

сейчас с чистого клона попробую

qnikst ★★★★★
()
Ответ на: комментарий от qnikst
$ automake --version
automake (GNU automake) 1.14.1
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl-2.0.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Tom Tromey <tromey@redhat.com>
       and Alexandre Duret-Lutz <adl@gnu.org>.
$ autoconf -V
autoconf (GNU Autoconf) 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+/Autoconf: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>, <http://gnu.org/licenses/exceptions.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by David J. MacKenzie and Akim Demaille.
ados ★★★★★
() автор топика
Ответ на: комментарий от qnikst
$ git clone https://github.com/qnikst/kbdd --depth 1
Cloning into 'kbdd'...
remote: Counting objects: 30, done.
remote: Compressing objects: 100% (28/28), done.
remote: Total 30 (delta 2), reused 20 (delta 1)
Unpacking objects: 100% (30/30), done.
Checking connectivity... done.
$ cd kbdd
$ aclocal
$ automake --add-missing
configure.ac:13: installing './compile'
configure.ac:8: installing './install-sh'
configure.ac:8: installing './missing'
configure.ac:6: error: required file 'config.h.in' not found
src/Makefile.am: installing './depcomp'
$ autoreconf
$ ./configure --enable-dbus
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for ranlib... ranlib
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking for stdint.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for unistd.h... (cached) yes
checking for X... libraries , headers 
checking for pid_t... yes
checking for strerror... yes
checking for X11... yes
./configure: 4833: test: xyes: unexpected operator
./configure: 4916: test: xyes: unexpected operator
./configure: 4933: test: xno: unexpected operator
checking for GLIB... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating src/dbus/Makefile
config.status: creating config.h
config.status: executing depfiles commands
$ make
make  all-recursive
make[1]: Entering directory '/home/redarch19/src/kbdd'
Making all in src
make[2]: Entering directory '/home/redarch19/src/kbdd/src'
make[3]: Entering directory '/home/redarch19/src/kbdd/src'
gcc -DHAVE_CONFIG_H -I. -I..    -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -Idbus/  -g -O2 -MT kbdd.o -MD -MP -MF .deps/kbdd.Tpo -c -o kbdd.o kbdd.c
mv -f .deps/kbdd.Tpo .deps/kbdd.Po
gcc -DHAVE_CONFIG_H -I. -I..    -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -Idbus/  -g -O2 -MT perwindow.o -MD -MP -MF .deps/perwindow.Tpo -c -o perwindow.o perwindow.c
mv -f .deps/perwindow.Tpo .deps/perwindow.Po
gcc -DHAVE_CONFIG_H -I. -I..    -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -Idbus/  -g -O2 -MT libkbdd.o -MD -MP -MF .deps/libkbdd.Tpo -c -o libkbdd.o libkbdd.c
mv -f .deps/libkbdd.Tpo .deps/libkbdd.Po
gcc -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -Idbus/  -g -O2   -o kbdd kbdd.o perwindow.o libkbdd.o -lglib-2.0  -lX11   
make[3]: Leaving directory '/home/redarch19/src/kbdd/src'
make[2]: Leaving directory '/home/redarch19/src/kbdd/src'
make[2]: Entering directory '/home/redarch19/src/kbdd'
make[2]: Leaving directory '/home/redarch19/src/kbdd'
make[1]: Leaving directory '/home/redarch19/src/kbdd'
ados ★★★★★
() автор топика
Ответ на: комментарий от qnikst

Решил я проблему с autotools. Пересобрал и пришла проблема с взятием имён у dbus для передачи сообщений. Кое-как уговорил запустить kbdd, но толку пока мало:

$ qdbus-qt4 
:1.0
 org.freedesktop.Notifications
 org.naquadah.awesome.awful
 ru.gentoo.KbddService
:1.14
:1.15
:1.16
 org.a11y.Bus
:1.17
:1.18
 org.gtk.vfs.Daemon
:1.19
:1.3
 org.gnome.GConf
:1.43
org.freedesktop.DBus
$ dbus-monitor "interface='org.gentoo.KbddService',type='signal',sender='org.gentoo.KbddService'"
signal sender=org.freedesktop.DBus -> dest=:1.44 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired
   string ":1.44"

Сигналы о переключении раскладки не видны, если они есть. Раскладка-то переключается.

ados ★★★★★
() автор топика
Ответ на: комментарий от qnikst

А мне кажется, что проблема опять таки не в твоей программе. Просто чтобы решить проблему я создал для systemd у юзера два юнита: один для kbdd, другой для dbus-daemon. Так у последнего есть инструкции для запуска dbus-daemon, несмотря на то, что и без него какой-то dbus-daemon итак запускался. Но тот отказывал kbdd в primary name. Я не знаю как синхронизировать работу старого и нового dbus-daemon, но мне кажется, что в параметре $DBUS_SESSION_BUS_ADDRESS окружения иксов данные старого демона (не знаю как это проверить) и dbus-monitor настраивается на него.

ados ★★★★★
() автор топика
Ответ на: комментарий от ados

просто я в kbdd пытаюсь получить primary name, это позволяет работать без запуска dbus-daemon, хотя достаточно смотреть в $DBUS_SESSION_BUS_ADDRESS. Я попытаюсь расширить код, и делать fallback в текущий режим, если $DBUS_SESSION_BUS_ADDRESS нету.

qnikst ★★★★★
()
Ответ на: комментарий от qnikst

я идиот, у меня test string == string2 а не test string = string было..

qnikst ★★★★★
()
Ответ на: комментарий от ados

да похоже на, то, проблему с configure я надеюсь исправил, и запушил. А вот с dbus пока не знаю куда копать.

qnikst ★★★★★
()
Ответ на: комментарий от qnikst

Покопался я тут в доках:

$ DBUS_SESSION_BUS_ADDRESS='unix:path=/run/user/1000/dbus/user_bus_socket' dbus-monitor
signal sender=org.freedesktop.DBus -> dest=:1.2 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired
   string ":1.2"
method call sender=:1.2 -> dest=org.freedesktop.DBus serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch
   string "eavesdrop=true"
signal sender=:1.1 -> dest=(null destination) serial=478 path=/ru/gentoo/KbddService; interface=ru.gentoo.kbdd; member=layoutChanged
   uint32 1
signal sender=:1.1 -> dest=(null destination) serial=479 path=/ru/gentoo/KbddService; interface=ru.gentoo.kbdd; member=layoutNameChanged
   string "Russian"
signal sender=:1.1 -> dest=(null destination) serial=480 path=/ru/gentoo/KbddService; interface=ru.gentoo.kbdd; member=layoutChanged
   uint32 0
signal sender=:1.1 -> dest=(null destination) serial=481 path=/ru/gentoo/KbddService; interface=ru.gentoo.kbdd; member=layoutNameChanged
   string "English (US)"
signal sender=:1.1 -> dest=(null destination) serial=482 path=/ru/gentoo/KbddService; interface=ru.gentoo.kbdd; member=layoutChanged
   uint32 1
signal sender=:1.1 -> dest=(null destination) serial=483 path=/ru/gentoo/KbddService; interface=ru.gentoo.kbdd; member=layoutNameChanged
   string "Russian"
signal sender=:1.1 -> dest=(null destination) serial=484 path=/ru/gentoo/KbddService; interface=ru.gentoo.kbdd; member=layoutChanged
   uint32 0
signal sender=:1.1 -> dest=(null destination) serial=485 path=/ru/gentoo/KbddService; interface=ru.gentoo.kbdd; member=layoutNameChanged
   string "English (US)"
^C

Проблему можно закрывать. Осталось разобраться с этими dbus демонами.

ados ★★★★★
() автор топика
Ответ на: комментарий от ados

Не могу. Прописал в ~/.xinitrc:

export DBUS_SESSION_BUS_ADDRESS="unix:path=$XDG_RUNTIME_DIR/dbus/user_bus_socket"

Но при запуске всё равно своё туда ставит. dbus.service перевёл на опцию --global из systemctl, там всё настроено на нужный порт. Хочу просто индикатор с раскладкой на панели в awesome. awesome запускается через lightdm.

$ ps aux|grep dbus
dbus       204  0.0  0.1   4084  1552 ?        Ss   22:05   0:00 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
redarch+   269  0.0  0.0   3612   576 ?        S    22:05   0:00 dbus-launch --sh-syntax --exit-with-session
redarch+   270  0.0  0.1   3964  1100 ?        Ss   22:05   0:00 /usr/bin/dbus-daemon --fork --print-pid 4 --print-address 6 --session
redarch+   301  0.0  0.1   3964  1436 ?        Ss   22:06   0:00 /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation
redarch+   586  0.0  0.0   6244   988 pts/3    S+   22:26   0:00 grep dbus
ados ★★★★★
() автор топика
Ответ на: комментарий от ados

С lightdm надо было прописать адрес в ~/.xprofile . Теперь всё работает.

ados ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.