Хорошо, просто чтобы вы знали, я не слишком много работал с dbus или perl, поэтому я мог бы сказать, что некоторые вещи отключены.
Я пытаюсь использовать dbus для программной работы с compiz.И, глядя на compiz wiki http://wiki.compiz.org/Plugins/Dbus,, я вижу, что python кажется самым простым способом сделать это.Итак, я дошел до этого
import sys, dbus, subprocess
bus = dbus.SystemBus()
bus.get_object('org.freedesktop.compiz','/org/freedesktop/compiz')
Это, однако, вызывает у меня проблемы, потому что, очевидно, dbus не может найти службу compiz dbus.Синтаксис правильный, он работает с org.freedesktop.EverythingElse
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.ServiceUnknown: имя org.freedesktop.compiz не было предоставлено ни одним.service files
Странно то, что я погуглил и сумел получить Perl-скрипт, в котором перечислены сервисы (используя org.freedesktop.DBus), и он показал compiz в качестве одного из них.
Кроме того, perl, похоже, мог использовать сервис compiz.Но я не думаю, что смогу написать это на Perl, потому что я не очень хорош в Perl, и я даже не знаю, как работает dbus, поэтому я бы себя там убил.
Япытаясь сделать что-то с compiz, как изменение рабочих пространств.Я думаю, я могу сделать это с помощью фальшивых нажатий клавиш, но это большая часть хака, и я мог бы захотеть добавить более продвинутые варианты поведения.
Это новая установка arch-linux, так что мне интересно, могу ли яможет отсутствовать посылка.