Я хотел бы время от времени читать список сообщений, отображаемых notify-osd. Я использую 12.04, если это имеет значение. Возможно ли это?
Эти два вопроса с 2010 года указывают, что файл журнала должен существовать в ~/.cache/notify-osd.log. У меня нет такого файла, и я хотел бы знать, является ли это ошибкой (в этом случае этот вопрос должен быть закрыт) или если этот файл журнала зависит от другого параметра (например, «Настройки системы» -> «Конфиденциальность»)?
Мне не важно хранить данные между перезагрузками. Я просто хочу просматривать сообщения из текущего сеанса.
EDIT: Два хороших ответа сейчас, но я хотел бы знать, хранятся ли эти сообщения где-нибудь (общая гадание, / tmp? RAM?) Для короткий период после появления на экране. Какой-то буфер должен существовать, поскольку они появляются один за другим, по несколько секунд каждый, даже если есть 20-30 уведомлений в течение минуты или двух.
Я не упомянул в своем первоначальном вопросе что меня не интересует еще один индикатор PPA + или чрезмерная запись диска, я просто хочу знать, можно ли просмотреть сообщения в течение короткого времени после их появления.
Мое использование для этого это вернуться и найти, какую песню сыграли несколько минут назад на потоковой радиостанции. У меня есть это в качестве фоновой музыки, и изредка мелодия прилипает к моей голове, когда я это слышу. У меня нет возможности вернуться к тому, что сыграло 1-2 песни назад.
Вы можете установить индикаторы пакетов, которые отслеживают полученные вами уведомления. Вы можете установить со следующим
sudo add-apt-repository ppa:jconti/recent-notifications
sudo apt-get update
sudo apt-get install indicator-notifications
. Вам нужно будет выйти из системы и войти в систему. Он отображается как почтовый ящик на верхней панели и становится зеленым, когда вы получаете новые сообщения. [!d1 ]
Это 13.04, но должно работать и на 12.04.
Показывает все уведомления с момента его запуска до остановки.
dbus-monitor "interface='org.freedesktop.Notifications'" | \
grep --line-buffered "member=Notify\|string"
Скопируйте и вставьте его в окно терминала (Ctrl + Alt + T).
Чтобы остановить его, используйте Ctrl + C или закройте окно.
Это эффективный, хотя и недискриминационный и грубый, но может быть утончен, чтобы просто отслеживать точные детали, конкретного уведомляющего агента, изменяя регулярное выражение grep "member=Notify\|string". Затем текст можно массировать с помощью sed, awk и т. Д., Чтобы выглядеть хорошо.
Предположительно, привязка скрипта к автоматическому исполнению с выбранным агентом выбора, который будет контролироваться, будет наиболее полезен.
перекрестная ссылка: - явные подробности в разделе Есть ли способ просмотра истории уведомлений?