Я тестировал i3wm (sudo apt-get install i3
- это то, что я запускал, и выбрал i3 на экране входа в систему) на своей машине, и через некоторое время решил вернуться к Unity. После переключения я заметил, что уведомления приходят в верхнем правом углу, как и в i3, хотя я использовал Unity.
Мне бы очень хотелось, чтобы вместо этого использовались обычные пузыри уведомлений Unity.
Я посмотрел на это и оказалось вместо notify-osd
, dunst
используется.
Я пытался использовать sudo vim /usr/share/dbus-1/services/org.freedesktop.Notifications.service
и редактировать файл, но он имеет правильную строку (т.е. Exec=/usr/lib/x86_64-linux-gnu/notify-osd
), как и ожидалось.
Я также пытался unity-tweak-tool --reset-unity
, но ничего не сделал.
Могу ли я вернуться к обычным уведомлениям? Любая помощь будет принята с благодарностью. Спасибо:)
Редактировать: я смог вернуться к обычным уведомлениям, удалив сам i3wm (и dunst). На самом деле я спрашиваю: можно ли перейти к обычным уведомлениям, сохраняя при этом i3 и dunst в моей системе?
Примечание. левый угол . Существует решение для удаления dunst, и я хотел бы сохранить dunst и выполнять эту работу, когда я выбираю i3, и работать с уведомлением-osd, когда я выбираю Unity.
Я понимаю, что опаздываю на вечеринку на два года, но если кто-то еще столкнется с этой проблемой, вот решение, которое будет использовать notify-osd при входе в Unity, и dunst при запуске i3.
Если вы просто хотите оставить dunst установленным, но не запускать его автоматически через DBus, перейдите в раздел Quick Hack.
Мы хотим, чтобы переопределить поведение /usr/share/dbus-1/services/org.freedesktop.Notifications.service
и, что более важно, /usr/share/dbus-1/services/org.knopwob.dunst .service
.
Поскольку Dbus смотрит на $ XDG_DATA_HOME при поиске служебных файлов, а Ubuntu по какой-то причине не устанавливает эту переменную среды, нам нужно сделать это самостоятельно:
echo 'export XDG_DATA_HOME=${XDG_DATA_HOME:="$HOME/.local/share"}' >> ~/.profile
Нам нужно создать наш служебный файл :
mkdir -p $HOME/.local/share/dbus-1/services
nano $HOME/.local/share/dbus-1/services/usernotify.service
Сделайте файл похожим на это:
[D-BUS Service]
Name=org.freedesktop.Notifications
Exec=/usr/bin/my_notifier
Создайте сценарий, упомянутый в вашем файле D-BUS, который вызывает dunst, если i3 запущен, иначе notify-osd:
sudo nano /usr/bin/my_notifier
Сделайте его похожим на это:
#!/bin/bash
set -euo pipefail
if pgrep -x i3 >/dev/null; then
/usr/bin/dunst
else
/usr/lib/x86_64-linux-gnu/notify-osd
fi
Сделать исполняемым:
sudo chmod a+x /usr/bin/my_notifier
Вот и все. Выйдите из системы, а затем войдите снова. Протестируйте его как в Unity, так и в i3, запустив
notify-send foo bar
. Если вы хотите использовать только notify-osd, достаточно отредактировать /usr/share/dbus-1/services/org.knopwob.dunst. service
соответственно:
[D-BUS Service]
Name=org.freedesktop.Notifications
#Exec=/usr/bin/dunst
Exec=/usr/lib/x86_64-linux-gnu/notify-osd
sudo apt-get purge dunst
Это должно убрать его.
/var/run
символьная ссылка на /run
. Это должен действительно быть автономный каталог?
– Melebius
10 October 2018 в 19:37