Czy OS X rejestruje powiadomienia z Centrum powiadomień?


14

Pomocny towarzysz Centrum powiadomień OSX Growl domyślnie rejestruje wszystkie otrzymane powiadomienia . Możesz określić, jak duży może być dziennik, lub wyłączyć rejestrowanie w aplikacji.

Od najnowszej aktualizacji Growl oferuje przekazywanie wszystkich powiadomień do Centrum powiadomień OS X.

Czy OS X rejestruje również komunikaty Centrum powiadomień? Jeśli tak, gdzie mogę je znaleźć?

Dlaczego pytam o to:

OS X rejestruje wszystkie pobrane pliki w bazie danych SQLite 3.x. Chcę wiedzieć, czy coś podobnego dzieje się również z powiadomieniami. Może to być problem z prywatnością podczas myślenia o prywatnych wiadomościach lub e-mailach, jeśli przechowywanych jest zbyt wiele informacji.

Odpowiedzi:


14

To stare pytanie, ale na wypadek, gdyby ktoś się na niego natknął i martwi szczególnie konsekwencjami prywatności centrum powiadomień, odpowiedź brzmi TAK, OS X prowadzi rejestr powiadomień na dysku.

Format jest bazą danych sqlite i można go znaleźć w tym folderze:

~/Library/Application Support/NotificationCenter

Wewnątrz znajduje się co najmniej jeden plik .db dla twojego konta, widziałem niektóre, które OS X najwyraźniej uznały za uszkodzone w pewnym momencie, więc są nazywane .db.corrupt.

Uruchomienie polecenia strings w tym pliku pokaże ci ładunek danych binarnych, sporo nazw klas „NSSomething” i tak, twoje iMessages, ścieżki do plików, powiadomienia na Twitterze i Facebooku oraz wszystko inne, co zostało wysłane do Centrum powiadomień przez aplikację lub system.

Jeśli chcesz pozbyć się tego pliku w określonym momencie, możesz tymczasowo zabić użytkownika z adnotacją (zrestartuje się on sam) i usunąć plik w jednym ujęciu (uruchom to jako konto użytkownika, a nie sudo):

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

Spowoduje to, że 99% czasu zostanie złapane przez użytkownika, gdy jest tymczasowo nieczynne, z powodzeniem usunie starą bazę danych, a użytkownik zrobi nową pustą, gdy uruchomi się ponownie.

Nie jest to dobre rozwiązanie, jeśli naprawdę martwisz się o prywatność, ale oprócz szyfrowania systemu lub używania ramdysku dla tego folderu, tak naprawdę nie ma rozwiązania.


5
Począwszy od OS 10.10 Mavericks, baza danych powiadomień wydaje się znajdować w katalogu tymczasowym zamiast ~/Library. Na mojej maszynie jest$TMPDIR/../0/com.apple.notificationcenter/db/db
płatny frajer

7

W Mac OSX (lub macos) 10.10 i nowszych plik ten został przeniesiony. Nazwa pliku nie jest taka sama dla wszystkich, więc musisz ją trochę podrasować, aby ją znaleźć:

  1. Uruchom „Monitor aktywności” (w / Aplikacje / Narzędzia)
  2. Wybierz proces usernoted, kliknij go dwukrotnie
  3. Przejdź do zakładki „Otwórz pliki i porty”

Znajduje się w podfolderze /com.apple.notificationcenter/db w folderze / private / var / .

(dzięki /programming/26754189/new-location-of-the-notification-center-db-file-in-10-10 dla nowej lokalizacji!)


2

W High Sierra 10.4.3 można zlokalizować za pomocą następujących poleceń

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

Istnieje folder db i db2 - wygląda na to, że baza danych została zmigrowana do db2 w listopadzie.


2

Tak, OSX rejestruje powiadomienia. Znajdują się w pliku sqlite3 db i db-wal.
Podobnie jak w 10.14.6 - Mojave, ścieżkę do pliku można znaleźć poprzez:

lsof -p $(ps aux | grep -m1 usernoted | awk '{ print $2 }')| awk '{ print $NF }' | grep 'db2/db$' | xargs dirname

1

Tak, powiadomienia zostaną dodane do Centrum powiadomień, jeśli ich nie potwierdzisz / nie klikniesz, gdy się pojawią. Możesz uzyskać do nich dostęp, klikając ikonę Centrum powiadomień w prawym górnym rogu paska menu.

wprowadź opis zdjęcia tutaj

Jednak wszystkie są wymienione w aplikacji Growl, a nie w aplikacji źródłowej, a klikanie ich nie wydaje się prowadzić do niczego, więc funkcjonalność jest nieco ograniczona w porównaniu ze standardowymi powiadomieniami Growl i pakietem Growl.

Jest to prawdopodobnie ograniczenie w tym, w jaki sposób programiści Growl mogą zwracać się do Centrum powiadomień, i przypuszczam, że będziemy musieli poczekać, aż wszystkie aplikacje bezpośrednio zintegrują Centrum powiadomień (obok / zamiast Growl), aby uzyskać nieco bardziej funkcjonalne powiadomienia.


2
Dzięki Gerry, wiedziałem o tym. :) Szukam stałego dziennika gdzieś w Bibliotece, w którym przechowywane są informacje o wszystkich kiedykolwiek opublikowanych powiadomieniach. Na przykład OS X rejestruje wszystkie pobrane pliki . Zastanawiam się, czy coś podobnego dzieje się również z powiadomieniami. Które mogłyby być problem prywatność, kiedy myśli o prywatnych wiadomości lub e-maili.
gentmatt,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.