Вы могли бы попытаться заменить дисплея немного:
DISPLAY=:0.1 notify-send [options] "summary" "body"
Обычно, Ваши настольные экраны:0, и основное:0.0, второй:0.1, и т.д.
Если я помню правильно, это должно поместить его на другой экран.
Вы, возможно, должны были бы иметь сценарий обертки или такой для изменения значения ДИСПЛЕЯ, когда выполнение уведомления - посылает заявление. Пока в пути перед реальным, это будет работать приятно ни с кем замечающим действительно.
Наконец я решил проблему сам.
Я оставлю инструкции, что я сделал.
Проблема состоит из двух частей:
1-е проблемное решение:
Настоящая проблема была, что мой диспетчер Windows был запущен от lxdm, который по некоторым причинам не делает файлов конфигурации слияний от /etc/X11/xinit/xinitrc.d
за исключением lxde сессии (в LXDE dbus работы, в потрясающем wm не делает). В этой папке существует названный файл 30-dbus
со следующим содержанием:
#!/bin/bash
# launches a session dbus instance
if [ -z "$DBUS_SESSION_BUS_ADDRESS" ] && type dbus-launch >/dev/null; then
eval $(dbus-launch --sh-syntax --exit-with-session)
fi
Эта часть кода определяет $DBUS_SESSION_BUS_ADDRESS
переменная, которая определяет dbus порт для использования для различных приложений. echo $DBUS_SESSION_BUS_ADDRESS
может использоваться в качестве простой проверки работоспособности, чтобы видеть, существует ли dbus сессия (она должна возвратить dbus файл сессии).
Файлы конфигурации от этой папки могут быть объединены с простым сценарием оболочки на сессии, запускаются (код, взятый от .xinitrc
):
#!/bin/bash
if [ -d /etc/X11/xinit/xinitrc.d ]; then
for f in /etc/X11/xinit/xinitrc.d/*; do
[ -x "$f" ] && . "$f"
done
unset f
fi
2-е проблемное решение:
В то время как выполнение dbus и доступно другим программам, все еще требуется больше доступа для уведомлений для работы правильно, таким образом, я должен был выполнить polkit агент, потому что Потрясающий WM не имеет того. Я выбрал lxpolkit
, потому что у меня уже была почти полная lxde среда. В моем случае, просто добавленном к моему ~/.config/awesome/rc.lua
файл: awful.util.spawn_with_shell("dex /etc/xdg/autostart/lxpolkit.desktop")
, по некоторым причинам без этой строки это отказалось запускаться по умолчанию с lxdm.
Я думаю, что гном polkit агент должен хорошо работать также.
Это не ответ, просто большое разъяснение, чтобы, возможно, помочь генерировать следующий вопрос.
Спасибо за добавление дополнительной детали. У Вас, вероятно, есть проблема полномочий, но к сожалению это вероятно в полномочиях, должен был соединиться с сокетом домена DBus Unix.
Подтвердить это выполнение как некорневое:
$ strace -o /tmp/ns.out notify-send "why will this not connect"
$ grep '^connect' /tmp/ns.out
connect(4, {sa_family=AF_FILE, path=@"/tmp/dbus-6AIOJVWzCC"}, 23) = 0
кроме Вы, вероятно, получите что-то как
connect(…) = -1 ECONNREFUSED (Connection refused)
Почему?Понятия не имею. Я действительно знаю, что подсистема уведомления привлекла намного больше внимания в сообществе разработчиков GNOME, чем я когда-нибудь думал, что такая поверхностно простая функция должна. Я подозревал бы некоторый конфигурационный файл приблизительно в огромном количестве местоположений конфигурации GTK, но я знаю, что это не слишком полезно.
connect(4, {sa_family=AF_LOCAL, sun_path=@"/tmp/dbus-WC3XySChb5"}, 23) = -1 ECONNREFUSED (Connection refused)
connect(4, {sa_family=AF_LOCAL, sun_path=@"/tmp/dbus-b3oei13hP2"}, 23) = -1 ECONNREFUSED (Connection refused)
– IBr
02.09.2013, 09:32
Dunst довольно прост, если вы отредактируете файл конфигурации.
Я использую оконный менеджер jwm, и мне пришлось закомментировать все сочетания клавиш, поскольку они конфликтовали с сочетаниями клавиш jwm.
Кроме того, по умолчанию выбран монитор 0, а следуйте за мышью, вам нужно прокомментировать один из них.
.xinitrc
/I забудьте то, чем называют другую разновидность. те файлы эквивалентны (какой используется, варьируется дистрибутивом), и только используются, когда Вы вызываетеstartx
илиxinit
от консоли. вероятно, причина, что системный файл загружается, состоит в том, потому что это происходит в LXDE, не LXDM. – strugee 05.09.2013, 05:56.xinitrc
запуск любые второстепенные демоны, которые не были бы включены позже (Вы сделали бы это, если бы Вы не имели, например.gnome-session
выполнение его для Вас), затем в самой последней строке,exec
безотносительно среды WM/desktop Вы используете. спасибо – strugee 05.09.2013, 07:15