Регистрирует ли OS X уведомления из Центра уведомлений?

14

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

Со времени последнего обновления Growl предлагает пересылать все уведомления в центр уведомлений OS X.

OS X также регистрирует сообщения Центра уведомлений? Если да, где я могу их найти?

Почему я спрашиваю это:

OS X записывает все ваши загрузки в базу данных SQLite 3.x. Я хочу знать, происходит ли нечто подобное и с уведомлениями. Это может быть проблемой конфиденциальности, когда вы думаете о личных сообщениях или электронных письмах, если хранится слишком много информации.

gentmatt
источник

Ответы:

14

Это старый вопрос, но на тот случай, если кто-то наткнется на него и особенно обеспокоен последствиями для Центра уведомлений для конфиденциальности, ответ - ДА, OS X ведет журнал уведомлений на диске.

Формат базы данных sqlite, и его можно найти в этой папке:

~/Library/Application Support/NotificationCenter

Внутри вы найдете, по крайней мере, один файл .db для вашей учетной записи, я видел некоторые, которые OS X, по-видимому, считали поврежденными в какой-то момент, поэтому они называются .db.corrupt.

Выполнение команды strings для этого файла покажет вам загрузку двоичных данных, несколько имен классов «NSSomething» и, да, ваши iMessages, пути к файлам, уведомления в Twitter и Facebook и все остальное, что было отправлено приложением в Центр уведомлений приложением или система.

Если вы хотите избавиться от этого файла в определенный момент времени, вы можете временно убить usernoted (он сам перезапустится) и удалить файл за один раз (запустить это как учетную запись пользователя, а не с помощью sudo):

killall usernoted && rm ~/Library/Application\ Support/NotificationCenter/*.db

Это будет, в 99% случаев, отлавливать usernoted, пока она временно не работает, успешно удаляет старую базу данных, и usernoted создаст новую пустую базу при повторном запуске.

Это не очень хорошее решение, если вы действительно беспокоитесь о конфиденциальности, но кроме шифрования вашей системы или использования виртуального диска для этой папки, решения на самом деле не существует.

steveatinfincia
источник
5
Начиная с OS 10.10 Mavericks, база данных уведомлений вместо этого находится во временном каталоге ~/Library. На моей машине это$TMPDIR/../0/com.apple.notificationcenter/db/db
платный ботаник
7

В Mac OSX (или macos) 10.10 и более поздних версиях этот файл был перемещен. Имя файла не одинаково для всех, поэтому вам нужно немного поработать, чтобы найти его:

  1. Запустите «Монитор активности» (в / Приложения / Утилиты)
  2. Найдите процесс usernoted, дважды щелкните по нему
  3. Перейдите на вкладку «Открыть файлы и порты»

Он находится в /com.apple.notificationcenter/db подпапке в / private / var / folder .

(спасибо /programming/26754189/new-location-of-the-notification-center-db-file-in-10-10 за новое местоположение!)

простой эфир
источник
2

На High Sierra 10.4.3 вы можете найти следующие команды

getconf DARWIN_USER_DIR
/var/folders/60/23gd59655q70qf_ckxjyhrzr0000gn/0/
ls /var/folders/60/23gd59655q70qf_ckxjyhrzr0000gn/0/com.apple.notificationcenter/

Существует папка db и db2 - похоже, база данных была перенесена в db2 в ноябре.

user667522
источник
2

Да, OSX регистрирует уведомления. Они находятся в файлах sqlite3 db и db-wal.
Как и в 10.14.6 - Mojave, путь к файлу можно найти через:

lsof -p $(ps aux | grep -m1 usernoted | awk '{ print $2 }')| awk '{ print $NF }' | grep 'db2/db$' | xargs dirname
Оскар Чжан
источник
1

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

введите описание изображения здесь

Однако все они перечислены в приложении Growl, а не в исходном приложении, и щелчок по ним, кажется, никуда не ведет, поэтому функциональность немного ограничена по сравнению со стандартными уведомлениями Growl и накопительным пакетом Growl.

Вероятно, это ограничение в том, как разработчики Growl могут обращаться к Центру уведомлений, и я полагаю, что нам просто нужно подождать, пока все приложения будут включать Центр уведомлений напрямую (рядом с / вместо Growl) для получения более функциональных уведомлений.

Gerry
источник
2
Спасибо, Джерри, я знал об этом. :) Я ищу постоянный журнал где-то в библиотеке, где хранится информация обо всех когда-либо опубликованных уведомлениях. Например, OS X записывает все ваши загрузки . Мне интересно, если подобное происходит и с уведомлениями. Это может быть проблемой конфиденциальности при рассмотрении личных сообщений или электронных писем.
джентмэтт