Как я могу прочитать сообщения NotifyOSD после их отображения?

14

Я хотел бы прочитать список сообщений, отображаемых notify-osd время от времени. Я использую 12.04 до сих пор, если это имеет значение. Это возможно?

Эти два вопроса от 2010 года указывают, что файл журнала должен существовать в ~/.cache/notify-osd.log. У меня нет такого файла, и я хотел бы знать, является ли это ошибкой (в этом случае этот вопрос должен быть закрыт) или этот файл журнала зависит от других настроек (например, Системные настройки -> Конфиденциальность)?

Меня не волнует хранение данных между перезагрузками. Я просто хочу просматривать сообщения из текущей сессии.

РЕДАКТИРОВАТЬ: Два хороших ответа сейчас, но я хотел бы знать, хранятся ли эти сообщения где-нибудь (общее предположение, / tmp? RAM?) В течение короткого периода времени после появления на экране. Некоторый вид буфера должен существовать, поскольку они появляются один за другим, по несколько секунд каждый, даже если в течение одной или двух минут есть 20-30 уведомлений.

Я не упомянул в своем первоначальном вопросе, что меня не интересует еще один индикатор PPA + или чрезмерная запись на диск, я просто хочу знать, возможно ли просмотреть сообщения в течение короткого времени после их появления.

Мой вариант использования для этого - вернуться и найти, какая песня была воспроизведена несколько минут назад на потоковой радиостанции. У меня она звучит как фоновая музыка, и иногда я слышу мелодию, когда слышу это. У меня нет возможности вернуться, чтобы посмотреть, что сыграло 1-2 песни назад.

Том Броссман
источник
1
Причина, по которой вы больше не видите журнал: bugs.launchpad.net/ubuntu/+source/notify-osd/+bug/904835
Сет
Какое приложение / плеер вы используете для воспроизведения радио потока?
Башарат Сиалви
@BasharatSial Radiotray
Том Броссман
1
@TomBrossman Radiotray имеет history pluginвозможность отслеживать ранее проигранные песни.
Башарат Сиалви
@BasharatSial Спасибо, это, наверное, самое простое решение для меня.
Том Броссман

Ответы:

6

После тщательного осмотра (много) я нашел изменение кода в 2011 году о создании notify-osd по умолчанию не выводился файл журнала, поскольку он использовался для целей отладки и записывался на жесткий диск каждый раз, когда это происходило. Чтобы активировать эту функцию, вы можете сделать это двумя способами, временным и более постоянным.

Временный метод

Открыв терминал я набираю следующее:

Для 64-битных систем:

sudo killall notify-osd
LOG=1 /usr/lib/x86_64-linux-gnu/notify-osd &

Для 32-битных систем:

sudo killall notify-osd
LOG=1 /usr/lib/notify-osd/notify-osd &

Теперь вы увидите .cache/notify-osd.logфайл и отладочную информацию в нем.

Постоянный метод (ВНИМАНИЕ: Глобальные изменения)

Для более постоянного решения сделайте следующее (Глобальное изменение. Прочтите предупреждение, упомянутое Ринзвиндом ниже. Это затронет всех и убьет кошку!):

sudo nano /etc/environment

Добавьте следующую строку в конце и сохраните:

LOG=1

Перезагрузите компьютер для проверки.

Постоянный метод (пользовательские изменения)

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

sudo nano ~/.bashrc

Добавьте следующую строку в конце и сохраните:

LOG=1

Перезагрузите компьютер для проверки.

Вы должны увидеть информацию начала появляться в .cache/notify-osd.logфайле. Например, это я после отключения 2 раза моего проводного соединения:

Файл GNU nano 2.2.6: .cache / notify-osd.log

[2013-05-04T18:49:55-00:00, NetworkManager ] Connected
Intel

[2013-05-04T18:50:26-00:00, NetworkManager ] Disconnected - you are now offline
Ethernet network

[2013-05-04T18:50:29-00:00, NetworkManager replaced] Connected
Intel
Луис Альварадо
источник
3
Небольшое предупреждение: это может быть плохой идеей ... LOG = 1 в / etc / environment делает ее общесистемной переменной и может нарушать работу ... Бог знает, что реагирует на LOG (ofc. Они должны были сделать что-то вроде NOTIFYOSDLOG ). Может быть, для начала я бы добавил его в bashrc для 1 пользователя, просто чтобы быть уверенным.
Rinzwind
@Rinzwind Да, я так и думал. Добавил bashrc.
Луис Альварадо
Спасибо Луис. Я принял это, потому что это не требует другого PPA, и это здорово. (Я дал вознаграждение @Stump только потому, что у вас так много представителей, что вы не пропустите его, надеюсь, вы не против).
Том Броссман
1
@ TomBrossman Я буду ненавидеть тебя, пока Ubuntu не купит Microsoft ^^.
Луис Альварадо
15

Вы можете установить пакет-индикатор уведомлений, который отслеживает уведомления, которые вы получаете. Вы можете установить со следующим

sudo add-apt-repository ppa:jconti/recent-notifications
sudo apt-get update
sudo apt-get install indicator-notifications

Вам придется выйти и снова войти в систему. Он отображается в виде почтового ящика на верхней панели и становится зеленым, когда вы получаете новые сообщения.

Уведомления

Это 13.04, но должно работать и 12.04.

пень
источник
Это показывает отсутствие индикатора уведомлений + иконки в системном трее вUbuntu 19.04(GNOME Shell)
MD. Мохиуддин Ахмед
6

Это покажет все уведомления с момента его запуска до его остановки.

dbus-monitor "interface='org.freedesktop.Notifications'"    |     \
grep --line-buffered  "member=Notify\|string"

Скопируйте и вставьте его в окно терминала ( Ctrl+ Alt+ T).

Чтобы остановить это, используйте Ctrl+ Cили закройте окно.

Это эффективно, хотя и недискриминационно и грубо, но может быть изощрено, чтобы просто отслеживать точные требуемые детали конкретного уведомляющего агента, изменяя grepрегулярное выражение "member=Notify\|string". Текст может быть массируется sed, и awkт.д. , чтобы хорошо выглядеть.

Предположительно, было бы наиболее полезно связать сценарий с автоматическим выполнением с выбранным агентом для мониторинга.

перекрестная ссылка:
- явные детали в Есть ли способ просмотреть историю уведомлений?

тролль ля ля ля
источник
1
+1 Это интересно, но оно уже должно быть запущено для просмотра прошлых сообщений.
Том Броссман
1
точно This will show all notification messages **from the time it is started** until it is stopped. все другие предлагаемые решения должны быть выполнены , прежде чем быть эффективным. Это ничем не отличается, кроме ... Чтобы сделать его "липким", скрипт может быть включен как часть процедуры инициализации загрузки. Также вывод может быть передан в файл журнала. ссылка добавлена ​​для более подробной информации ссылки для добавления - много много много
тролль ла ля ля