Come posso leggere i messaggi di NotifyOSD dopo che sono stati visualizzati?


14

Vorrei leggere un elenco di messaggi visualizzati di notify-osdvolta in volta. Sto ancora usando 12.04, se è importante. È possibile?

Queste due domande del 2010 indicano che dovrebbe esistere un file di registro in ~/.cache/notify-osd.log. Non ho un file del genere e vorrei sapere se si tratta di un bug (nel qual caso questa domanda dovrebbe essere chiusa) o se questo file di registro dipende da un'altra impostazione (come Impostazioni di sistema -> Privacy)?

Non mi interessa conservare i dati tra i riavvii. Voglio solo sfogliare i messaggi della sessione corrente.

EDIT: Due buone risposte ora, ma mi piacerebbe sapere se questi messaggi sono memorizzati ovunque , (ipotesi totale, / tmp? RAM?) Per un breve periodo dopo essere apparsi sullo schermo. Deve esistere una sorta di buffer quando appaiono uno dopo l'altro, pochi secondi ciascuno, anche se ci sono 20-30 notifiche nell'arco di un minuto o due.

Non ho menzionato nella mia domanda originale che non mi interessa ancora un altro indicatore PPA + o scritture eccessive di unità, voglio solo sapere se è possibile vedere i messaggi per un breve periodo dopo che appaiono.

Il mio caso d'uso è tornare indietro e trovare quale canzone è stata riprodotta qualche minuto fa su una stazione radio in streaming. Ce l'ho come musica di sottofondo e, occasionalmente, una melodia mi si attacca in testa dopo averla ascoltata. Non ho modo di tornare indietro per vedere cosa hanno suonato 1-2 canzoni fa.


1
Il motivo per cui non vedi più il registro: bugs.launchpad.net/ubuntu/+source/notify-osd/+bug/904835
Seth

Quale app / lettore stai usando per riprodurre lo streaming radio?
Basharat Sialvi,

@BasharatSial Radiotray
Tom Brossman

1
@TomBrossman Radiotray deve history plugintenere traccia delle canzoni suonate in precedenza.
Basharat Sialvi,

@BasharatSial Grazie, questa è probabilmente la soluzione più semplice per me.
Tom Brossman,

Risposte:


6

Dopo aver guardato attentamente (MOLTO) nel 2011 ho trovato una modifica del codice sul fatto di notify-osdnon generare il file di registro per impostazione predefinita perché questo veniva utilizzato per scopi di debug e scriveva sull'HDD ogni volta che lo faceva. Per attivare questa funzione puoi farlo in 2 modi, un metodo temporaneo e uno più permanente.

Metodo temporaneo

Apri il terminale I digito quanto segue:

Per sistemi a 64 bit:

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

Per sistemi a 32 bit:

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

Ora vedrai il .cache/notify-osd.logfile e le informazioni di debug in esso.

Metodo permanente (ATTENZIONE: cambiamento globale)

Per una soluzione più permanente, procedi come segue (Cambiamento globale. Leggi l'Avvertimento menzionato da Rinzwind di seguito. Ciò influenzerà tutti e ucciderà il gatto!):

sudo nano /etc/environment

Aggiungi la seguente riga alla fine e salva:

LOG=1

Riavvia il computer per testarlo.

Metodo permanente (modifica specifica dell'utente)

Per una soluzione più permanente, procedi come segue (Modifica specifica dell'utente. Ciò riguarderà solo te e il cane. Il gatto sopravviverà comunque.):

sudo nano ~/.bashrc

Aggiungi la seguente riga alla fine e salva:

LOG=1

Riavvia il computer per testarlo.

Le informazioni dovrebbero iniziare a comparire nel .cache/notify-osd.logfile. Ad esempio, questo io dopo aver disconnesso 2 volte la mia connessione cablata:

File 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
Piccolo avvertimento: questa potrebbe essere una cattiva idea ... LOG = 1 in / etc / environment lo rende una variabile di sistema e potrebbe rompere le cose ... Dio sa cosa reagisce su LOG ​​(spesso dovrebbero averlo fatto come NOTIFYOSDLOG ). Forse per cominciare lo aggiungerei a bashrc per 1 utente, per essere sicuro.
Rinzwind,

@Rinzwind Sì, l'ho pensato. Aggiunto il bashrc.
Luis Alvarado,

Grazie Luis. Ho accettato questo perché non richiede un altro PPA che è fantastico. (Ho dato la grazia a @Stump solo perché hai così tanti rappresentanti che non ti mancherà, spero che non ti dispiaccia).
Tom Brossman,

1
@TomBrossman Ti odierò fino a quando Ubuntu non acquisterà Microsoft ^^.
Luis Alvarado,

15

Puoi installare le notifiche degli indicatori del pacchetto che tengono traccia delle notifiche che ricevi. È possibile installare con quanto segue

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

Dovrai disconnetterti e riconnetterti. Si presenta come una casella di posta nel pannello superiore e diventa verde quando ricevi nuovi messaggi.

notifiche

Questo è il 13.04 ma dovrebbe funzionare anche il 12.04.


Questo non mostra notifiche degli indicatori + icone sulla barra delle applicazioni inUbuntu 19.04(GNOME Shell)
MD. Mohiuddin Ahmed,

6

Questo mostrerà tutti i messaggi di notifica dal momento in cui è stato avviato fino a quando non viene arrestato.

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

Copialo e incollalo in una finestra terminale ( Ctrl+ Alt+ T).

Per fermarlo usa Ctrl+ Co chiudi la finestra.

Ciò è efficace anche se non discriminatorio e rozzo, ma può essere perfezionato per monitorare solo i dettagli esatti desiderati, di un agente di notifica specifico, alterando l' grepespressione regolare "member=Notify\|string". Il testo può quindi essere massaggiato con sed, awkecc. Per avere un bell'aspetto.

Di conseguenza, sarebbe molto utile associare lo script all'esecuzione automatica con l'agente scelto da monitorare.

riferimento incrociato:
- dettagli espliciti in Esiste un modo per visualizzare la cronologia delle notifiche?


1
+1 Questo è interessante ma deve essere già in esecuzione per visualizzare i messaggi passati.
Tom Brossman,

1
esattamente This will show all notification messages **from the time it is started** until it is stopped. Tutte le altre soluzioni proposte devono essere eseguite prima di essere efficaci. Questo non è diverso, tranne ... Per rendere "appiccicoso" lo script può essere incluso come parte della routine di inizializzazione di avvio. Inoltre, l'output può essere reindirizzato a un file di registro. link aggiunto per maggiori dettagli rif. link da aggiungere - molti molti molti
troll la la
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.