Category: it

Category was added automatically. Read all entries about "it".

снежный человек

notify-send из планировщика

Решал тут локальную задачку - выводить уведомления от висящего в фоне процесса на дисплей всем висящим в данный момент на машине пользователям через libnotify (если кого частности интересуют - уведомления от NUTа о работе на UPS, чтобы даже при работе по удаленке, когда не видно, что творится с лампочками, отключение системы из-за пропадания питания не было бы слишком внезапным). Оказалось не так-то просто, как на первый взгляд кажется - мало того, что пользователь может послать сообщение через dBus только самому себе, там надо еще знать, в какой именно экземпляр этого самого dBus кукарекнуть, и на какой дисплей это сообщение выводить.

Вот ниже то, что получилось. Звать через sudo (иначе пощупать окружение чужих процессов не получится). Сделано под ubuntu 11.04 c GDM, под другие системы, соответственно, надо будет допилить в части разбора параметров менеджера окон.

Заранее извиняюсь за кривизну кода, делалось по принципу - "чтобы побыстрее заработало".
Collapse )

P.S. Исправленая версия пользуется тем фактом, что dbus-launch всегда есть, и всегда один на сессию. Наутилусов же может быть пара - от юзера и от рута.