Bagaimana saya bisa membaca pesan NotifyOSD setelah ditampilkan?


14

Saya ingin membaca daftar pesan yang ditampilkan notify-osddari waktu ke waktu. Saya masih menggunakan 12,04, jika itu penting. Apakah ini mungkin?

Ini dua pertanyaan dari 2010 menunjukkan bahwa file log harus ada di ~/.cache/notify-osd.log. Saya tidak punya file seperti itu, dan saya ingin tahu apakah ini bug (dalam hal ini pertanyaan ini harus ditutup) atau apakah file log ini tergantung pada pengaturan lain (seperti Pengaturan Sistem -> Privasi)?

Saya tidak peduli tentang menyimpan data di antara reboot. Saya hanya ingin menelusuri pesan dari sesi saat ini.

EDIT: Dua jawaban yang bagus sekarang tapi saya ingin tahu apakah pesan-pesan ini disimpan di mana saja , (tebak total, / tmp? RAM?) Untuk waktu yang singkat setelah muncul di layar. Beberapa jenis buffer harus ada karena mereka muncul satu demi satu, masing-masing beberapa detik, bahkan jika ada 20-30 pemberitahuan dalam rentang satu atau dua menit.

Saya gagal menyebutkan dalam pertanyaan awal saya bahwa saya belum tertarik dengan indikator PPA + lain atau drive yang berlebihan menulis, saya hanya ingin tahu apakah mungkin melihat pesan untuk waktu yang singkat setelah mereka muncul.

Kasus penggunaan saya untuk ini adalah kembali dan menemukan lagu apa yang diputar beberapa menit yang lalu di stasiun radio streaming. Saya menggunakannya sebagai musik latar, dan kadang-kadang sebuah lagu menempel di kepala saya setelah saya mendengarnya. Saya tidak memiliki cara untuk kembali untuk melihat apa yang diputar 1-2 lagu yang lalu.


1
Alasan Anda tidak melihat log lagi: bugs.launchpad.net/ubuntu/+source/notify-osd/+bug/904835
Seth

Aplikasi / pemain mana yang Anda gunakan untuk memutar aliran radio?
Basharat Sialvi

@BasharatSial Radiotray
Tom Brossman

1
@TomBrossman Radiotray memiliki history pluginuntuk melacak lagu-lagu yang diputar sebelumnya.
Basharat Sialvi

@BasharatSial Terima kasih, itu mungkin solusi paling sederhana untuk saya.
Tom Brossman

Jawaban:


6

Setelah hati-hati melihat-lihat (BANYAK) saya menemukan perubahan kode pada 2011 tentang membuat notify-osdbukan keluaran secara default ke file log karena ini digunakan untuk keperluan debugging dan menulis ke HDD setiap kali melakukannya. Untuk mengaktifkan fitur ini, Anda dapat melakukannya 2 cara, metode sementara dan yang lebih permanen.

Metode Sementara

Buka terminal saya ketik berikut ini:

Untuk Sistem 64 Bit:

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

Untuk Sistem 32 Bit:

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

Sekarang Anda akan melihat .cache/notify-osd.logfile dan informasi debug di dalamnya.

Metode Permanen (PERINGATAN: Perubahan Global)

Untuk solusi yang lebih permanen lakukan hal berikut (Perubahan Global. Baca Peringatan yang disebutkan oleh Rinzwind di bawah. Ini akan memengaruhi semua orang dan membunuh kucing!):

sudo nano /etc/environment

Tambahkan baris berikut di akhir dan simpan:

LOG=1

Nyalakan ulang komputer untuk diuji.

Metode Permanen (Perubahan Spesifik Pengguna)

Untuk solusi yang lebih permanen, lakukan hal berikut (Perubahan khusus pengguna. Ini hanya akan memengaruhi Anda dan anjing. Kucing akan tetap hidup.):

sudo nano ~/.bashrc

Tambahkan baris berikut di akhir dan simpan:

LOG=1

Nyalakan ulang komputer untuk diuji.

Anda akan melihat informasi mulai muncul di .cache/notify-osd.logfile. Misalnya, ini saya setelah memutuskan koneksi 2 kali koneksi kabel saya:

GNU nano 2.2.6 File: .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
Peringatan kecil: ini bisa menjadi ide yang buruk ... LOG = 1 di / etc / environment menjadikannya variabel sistem yang luas dan dapat merusak barang-barang ... Tuhan tahu apa yang bereaksi pada LOG (ofc. Mereka seharusnya membuatnya seperti NOTIFYOSDLOG ). Mungkin untuk pemula saya akan menambahkannya ke bashrc untuk 1 pengguna hanya untuk memastikan.
Rinzwind

@Rinzwind Ya saya pikir begitu. Menambahkan bashrc.
Luis Alvarado

Terima kasih Luis. Saya menerima ini karena tidak memerlukan PPA lain yang bagus. (Saya memberikan hadiah kepada @Stump hanya karena Anda memiliki begitu banyak perwakilan sehingga Anda tidak akan melewatkannya, harap Anda tidak keberatan).
Tom Brossman

1
@ TomBrossman Saya akan membencimu sampai Ubuntu membeli Microsoft ^^.
Luis Alvarado

15

Anda dapat menginstal notifikasi indikator paket yang melacak pemberitahuan yang Anda terima. Anda dapat menginstal dengan yang berikut ini

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

Anda harus keluar dan masuk kembali. Ini muncul sebagai kotak surat di panel atas dan berubah hijau ketika Anda menerima pesan baru.

Notifikasi

Ini pada 13,04 tetapi harus bekerja pada 12,04 juga.


Ini tidak menunjukkan pemberitahuan indikator + ikon baki sistem diUbuntu 19.04(GNOME Shell)
MD. Mohiuddin Ahmed

6

Ini akan menampilkan semua pesan notifikasi mulai dari saat dimulai sampai dihentikan.

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

Salin dan tempel ke jendela terminal ( Ctrl+ Alt+ T).

Untuk menghentikannya gunakan Ctrl+ Catau tutup jendela.

Ini efektif meskipun tidak diskriminatif dan kasar tetapi dapat dengan mudah memantau detail yang tepat yang diinginkan, dari agen pemberi notifikasi tertentu dengan mengubah grepekspresi reguler "member=Notify\|string". Teks kemudian dapat dipijat dengan sed, awkdll. Agar terlihat bagus.

Terakhir, mengikat skrip untuk secara otomatis dieksekusi dengan agen pilihan untuk dipantau akan sangat berguna.

referensi silang:
- perincian eksplisit dalam Apakah ada cara untuk melihat riwayat pemberitahuan?


1
+1 Ini menarik tetapi harus sudah berjalan untuk melihat pesan sebelumnya.
Tom Brossman

1
persis This will show all notification messages **from the time it is started** until it is stopped. Semua solusi yang diusulkan lainnya harus dijalankan sebelum menjadi efektif. Ini tidak berbeda, kecuali ... Untuk membuatnya "lengket" skrip dapat dimasukkan sebagai bagian dari rutin inisialisasi boot. Output juga dapat disalurkan ke file log. tautan ditambahkan untuk lebih jelasnya ref. tautan yang akan ditambahkan - banyak banyak banyak
troll la la la
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.