Вопрос или проблема
У меня продолжают возникать проблемы с загрузкой уведомлений в i3 на Manjaro.
Это вызывает странные проблемы с иконками уведомлений, которые не работают. Например, менеджер сети не показывает свое меню, когда я на него нажимаю. Discord случайным образом зависает, или моя сессия будет замораживаться в случайные моменты.
Вот что я вижу:
journalctl -b | grep -i notification
10 июля 08:28:01 aaron-lpt dbus-daemon[817]: [system] Файл службы "/usr/share/dbus-1/system-services/org.freedesktop.Notification.service" должен был быть назван "org.freedesktop.Notifications.service" и не будет работать с активацией системной шины
10 июля 08:29:08 aaron-lpt dbus-daemon[1520]: [session uid=1000 pid=1520] Активация службы с именем="org.freedesktop.Notifications", запрашиваемой ':1.14' (uid=1000 pid=1581 comm="xfce4-power-manager ")
10 июля 08:30:08 aaron-lpt plasma_waitforname[1652]: org.kde.knotifications: WaitForName: Служба не была зарегистрирована в течение времени ожидания
10 июля 08:30:08 aaron-lpt dbus-daemon[1520]: [session uid=1000 pid=1520] Активация службы 'org.freedesktop.Notifications' не удалась: Процесс org.freedesktop.Notifications завершился с кодом 1
10 июля 08:30:08 aaron-lpt dbus-daemon[1520]: [session uid=1000 pid=1520] Активация службы с именем="org.freedesktop.Notifications", запрашиваемой ':1.11' (uid=1000 pid=1553 comm="nm-applet ")
10 июля 08:31:08 aaron-lpt plasma_waitforname[4024]: org.kde.knotifications: WaitForName: Служба не была зарегистрирована в течение времени ожидания
10 июля 08:31:08 aaron-lpt dbus-daemon[1520]: [session uid=1000 pid=1520] Активация службы 'org.freedesktop.Notifications' не удалась: Процесс org.freedesktop.Notifications завершился с кодом 1
10 июля 09:29:12 aaron-lpt dbus-daemon[1520]: [session uid=1000 pid=1520] Активация службы с именем="org.freedesktop.Notifications", запрашиваемой ':1.4' (uid=1000 pid=1558 comm="pamac-tray ")
10 июля 09:30:13 aaron-lpt plasma_waitforname[10402]: org.kde.knotifications: WaitForName: Служба не была зарегистрирована в течение времени ожидания
10 июля 09:30:13 aaron-lpt dbus-daemon[1520]: [session uid=1000 pid=1520] Активация службы 'org.freedesktop.Notifications' не удалась: Процесс org.freedesktop.Notifications завершился с кодом 1
10 июля 09:39:26 aaron-lpt dbus-daemon[1520]: [session uid=1000 pid=1520] Активация службы с именем="org.freedesktop.Notifications", запрашиваемой ':1.268' (uid=1000 pid=9047 comm="/opt/discord/Discord ")
10 июля 09:40:27 aaron-lpt plasma_waitforname[11135]: org.kde.knotifications: WaitForName: Служба не была зарегистрирована в течение времени ожидания
10 июля 09:40:27 aaron-lpt dbus-daemon[1520]: [session uid=1000 pid=1520] Активация службы 'org.freedesktop.Notifications' не удалась: Процесс org.freedesktop.Notifications завершился с кодом 1
10 июля 09:40:27 aaron-lpt dbus-daemon[1520]: [session uid=1000 pid=1520] Активация службы с именем="org.freedesktop.Notifications", запрашиваемой ':1.268' (uid=1000 pid=9047 comm="/opt/discord/Discord ")
10 июля 09:40:38 aaron-lpt systemd[1495]: Запуск службы уведомлений XFCE...
10 июля 09:40:38 aaron-lpt dbus-daemon[1520]: [session uid=1000 pid=1520] Успешно активирована служба 'org.freedesktop.Notifications'
10 июля 09:40:38 aaron-lpt systemd[1495]: Служба уведомлений XFCE была запущена.
grep -i notif ~/.xsession-errors
(nm-applet:1553): libnotify-WARNING **: 08:29:33.375: Не удалось подключиться к прокси
(nm-applet:1553): nm-applet-WARNING **: 08:29:58.387: Не удалось показать уведомление: Ошибка вызова StartServiceByName для org.freedesktop.Notifications: превышено время ожидания
** (pamac-tray:1558): WARNING **: 08:30:08.145: tray.vala:188: Ошибка вызова StartServiceByName для org.freedesktop.Notifications: Процесс org.freedesktop.Notifications завершился с кодом 1
(nm-applet:1553): nm-applet-WARNING **: 08:30:58.198: Не удалось показать уведомление: Ошибка вызова StartServiceByName для org.freedesktop.Notifications: превышено время ожидания
** (pamac-tray:1558): WARNING **: 09:29:37.675: tray.vala:214: Ошибка вызова StartServiceByName для org.freedesktop.Notifications: превышено время ожидания
** (pamac-tray:1558): WARNING **: 09:30:13.136: tray.vala:188: Ошибка вызова StartServiceByName для org.freedesktop.Notifications: Процесс org.freedesktop.Notifications завершился с кодом 1
(discord:9047): libnotify-WARNING **: 09:39:51.864: Не удалось подключиться к прокси
(discord:9047): libnotify-WARNING **: 09:40:16.888: Не удалось подключиться к прокси
[11204:11265:0710/094021.637904:ERROR:object_proxy.cc(632)] Не удалось вызвать метод: org.freedesktop.Notifications.GetCapabilities: object_path=/org/freedesktop/Notifications: org.freedesktop.DBus.Error.NoReply: Не получен ответ. Возможные причины: удаленное приложение не отправило ответ, политика безопасности шины сообщений заблокировала ответ, время ожидания ответа истекло или соединение с сетью было разорвано.
(discord:9047): libnotify-WARNING **: 09:40:27.138: Не удалось подключиться к прокси
[10:02:25:416][0x1a18380][Info]components/core/event-count-notifier/AbstractEventCountNotifier.cpp:66: "Количество уведомлений: 0."
[10:02:26:065][0x1a18380][Info]components/core/event-count-notifier/AbstractEventCountNotifier.cpp:66: "Количество уведомлений: 0."
Что я нашел, что работает для меня согласно форумам Manjaro
systemctl --user start xfce4-notifyd
systemctl --user status xfce4-notifyd
systemctl --user enable xfce4-notifyd
Но это не было постоянным решением для меня. Его статус изменился с linked
на enabled
systemctl --user status xfce4-notifyd
● xfce4-notifyd.service - Служба уведомлений XFCE
Загружено: загружено (/usr/lib/systemd/user/xfce4-notifyd.service; linked; предустановленный для поставщика: включено)
Активно: активно (работает с пт 2020-07-10 09:40:38 SAST; 52мин назад)
Основной PID: 12585 (xfce4-notifyd)
CGroup: /user.slice/user-1000.slice/[email protected]/xfce4-notifyd.service
└─12585 /usr/lib/xfce4/notifyd/xfce4-notifyd
10 июля 09:40:38 aaron-lpt systemd[1495]: Запуск службы уведомлений XFCE...
10 июля 09:40:38 aaron-lpt systemd[1495]: Служба уведомлений XFCE была запущена.
⟩ systemctl --user disable xfce4-notifyd
Удален /home/aaron/.config/systemd/user/xfce4-notifyd.service.
⟩ systemctl --user status xfce4-notifyd
● xfce4-notifyd.service - Служба уведомлений XFCE
Загружено: загружено (/usr/lib/systemd/user/xfce4-notifyd.service; отключено; предустановленный для поставщика: включено)
Активно: активно (работает с пт 2020-07-10 09:40:38 SAST; 53мин назад)
Основной PID: 12585 (xfce4-notifyd)
CGroup: /user.slice/user-1000.slice/[email protected]/xfce4-notifyd.service
└─12585 /usr/lib/xfce4/notifyd/xfce4-notifyd
10 июля 09:40:38 aaron-lpt systemd[1495]: Запуск службы уведомлений XFCE...
10 июля 09:40:38 aaron-lpt systemd[1495]: Служба уведомлений XFCE была запущена.
⟩ systemctl --user enable xfce4-notifyd
Создана символическая ссылка /home/aaron/.config/systemd/user/default.target.wants/xfce4-notifyd.service → /usr/lib/systemd/user/xfce4-notifyd.service.
⟩ systemctl --user status xfce4-notifyd
● xfce4-notifyd.service - Служба уведомлений XFCE
Загружено: загружено (/usr/lib/systemd/user/xfce4-notifyd.service; включено; предустановленный для поставщика: включено)
Активно: активно (работает с пт 2020-07-10 09:40:38 SAST; 53мин назад)
Основной PID: 12585 (xfce4-notifyd)
CGroup: /user.slice/user-1000.slice/[email protected]/xfce4-notifyd.service
└─12585 /usr/lib/xfce4/notifyd/xfce4-notifyd
10 июля 09:40:38 aaron-lpt systemd[1495]: Запуск службы уведомлений XFCE...
10 июля 09:40:38 aaron-lpt systemd[1495]: Служба уведомлений XFCE была запущена.
Ответ или решение
Проблема, с которой вы столкнулись в вашей системе Manjaro, связана с уведомлениями, обеспечиваемыми сервисом xfce4-notifyd
. Проблема заключается в том, что сервис org.freedesktop.Notifications
не может быть активирован, а также в том, что несколько приложений не могут отправить уведомления. При этом в системных журналах (journalctl
) вы видите сообщения о неудачной попытке активации сервиса и о том, что он завершился с ошибкой. Давайте разберем, что происходит, и как это можно исправить.
Идентификация проблемы
-
Сообщения об ошибках: Сообщения из
journalctl
указывают на то, что служебный файл для уведомлений не имеет правильного имени (неправильное имя —org.freedesktop.Notification.service
, правильное —org.freedesktop.Notifications.service
). Это может быть причиной проблем, связанных с D-Bus, и его активацией при отправке уведомлений. -
Статус сервиса: Вы проверили статус сервиса
xfce4-notifyd
и он активен, однако, он не запускается автоматически при входе в систему из-за конфликта или отсутствия правильной инициализации. -
Проблемы с уведомлениями: Сообщения о том, что
nm-applet
,pamac-tray
и другие приложения не могут показать уведомления, происходят из-за того, что сервис уведомлений не зарегистрирован, что подтверждается ошибками в вашем выводе журнала.
Решение проблемы
Чтобы решить вашу проблему, следуйте ниже приведенным шагам:
-
Проверка и переименование сервиса:
- Убедитесь, что файл
/usr/share/dbus-1/system-services/org.freedesktop.Notifications.service
существует. Если он отсутствует, и присутствует файл/usr/share/dbus-1/system-services/org.freedesktop.Notification.service
, переименуйте его, чтобы соответствовать правильному имени. - Используйте команду:
sudo mv /usr/share/dbus-1/system-services/org.freedesktop.Notification.service /usr/share/dbus-1/system-services/org.freedesktop.Notifications.service
- Убедитесь, что файл
-
Запуск и включение службы:
- Запустите службу уведомлений и проверьте ее статус:
systemctl --user start xfce4-notifyd systemctl --user status xfce4-notifyd
- Убедитесь, что служба включена для автоматического старта:
systemctl --user enable xfce4-notifyd
- Запустите службу уведомлений и проверьте ее статус:
-
Перезапуск сессии и проверка:
- После выполнения предыдущих шагов перезапустите сессию i3 или перезагрузите систему, чтобы изменения вступили в силу.
Дополнительные советы
-
Регулярное обновление системы: Убедитесь, что ваша система и пакеты обновлены до последних версий, так как иногда проблемы могут возникать из-за несовместимости версий ПО.
-
Логи и отладка: Если проблемы продолжаются, регулярно проверяйте вывод
journalctl
на наличие новых сообщений для диагностики. -
Сообщества и форумы: Если вы продолжаете сталкиваться с проблемами, возможно, имеет смысл обратиться к сообществу Manjaro или другим форумам, чтобы получить свежую информацию или советы от пользователей, столкнувшихся с аналогичными проблемами.
Следуя этим шагам, вы сможете устранить проблемы с уведомлениями в вашей системе. Вы также можете сохранить файл журнала с ошибками для анализа и поиска более специфических решений в будущем.