Странное поведение pynotify в Ubuntu 9.10

Я написал небольшое приложение и использую pynotify для отображения некоторых сообщений пользователю.

Здесь все отлично работает в архитектуре, но когда я тестировал это в Ubuntu, поведение было очень странным.

Из-за того, как Ubuntu показывает уведомления (что кажется рычанием), я не могу щелкнуть по ним или каким-либо образом взаимодействовать с ними, если уж на то пошло.

Однако самая большая проблема заключается в том, что он показывает только одно уведомление за раз и должен ждать (по умолчанию долгое время), пока одно из них не исчезнет, ​​чтобы показать следующее.

Учитывая природу небольшого приложения, которое я пишу (простой монитор, запускающий команду каждый раз при изменении файла), результаты должны отображаться для пользователя в режиме реального времени.

Я пытался установить небольшой тайм-аут с помощью message.set_timeout(), но Ubuntu просто игнорирует его.

--

Итак, вот мой вопрос: я один это заметил? Я делаю что-то неправильно?

Если нет, есть ли способ изменить это поведение в Ubuntu? Любое обходное решение?

Спасибо заранее за ваше время


person Flávio Amieiro    schedule 19.01.2010    source источник


Ответы (1)


Да, Ubuntu 9.10 заменил notification-daemon вышестоящей компании собственным notify-osd, и вообще все испортил.

Вы можете убедиться, что демон-уведомление установлен (через любой ваш любимый интерфейс менеджера пакетов) и использовать его вместо notify-osd:

$ sudo mv /usr/share/dbus-1/services/org.freedesktop.Notifications.service /usr/share/dbus-1/services/org.freedesktop.Notifications.service.disabled
$ sudo mv /usr/share/dbus-1/services/org.freedesktop.Notifications.service.notify-osd /usr/share/dbus-1/services/org.freedesktop.Notifications.service

К сожалению, это будет перезаписано всякий раз, когда пакет обновляется... он уже использует dpkg-diversion, поэтому его трудно перенаправить навсегда.

person ephemient    schedule 19.01.2010
comment
Единственная проблема заключается в том, что при распространении приложения я не смогу контролировать среду. Тем не менее, спасибо за ваш ответ. Вы указали в правильном направлении. - person Flávio Amieiro; 19.01.2010
comment
Приведенное решение фактически отключает уведомление libnotify, чего я не хочу. Можно ли как-нибудь решить эту ошибку? - person Abhijeet Rastogi; 21.03.2010
comment
@shadyabhi Это решение в идеале заменяет самодельный уведомитель Ubuntu более старым, вышестоящим уведомителем, но это своего рода хак. Лучшее решение, которое я нашел: прекратить использовать Ubuntu и переключиться на дистрибутив, который не возится с исправлением исходных пакетов с экспериментами с пользовательским интерфейсом. - person ephemient; 21.03.2010