web-dev-qa-db-fra.com

Comment puis-je lire les messages NotifyOSD après leur affichage?

J'aimerais lire une liste de messages affichés par notify-osd de temps en temps. J'utilise toujours 12.04, si cela compte. Est-ce possible?

Cesdeux Les questions de 2010 indiquent qu'un fichier journal doit exister à ~/.cache/notify-osd.log. Je n'ai aucun fichier de ce type et j'aimerais savoir s'il s'agit d'un bogue (auquel cas cette question devrait être fermée) ou si ce fichier journal dépend d'un autre paramètre (comme Paramètres système -> Confidentialité)?

Je me fiche de stocker des données entre les redémarrages. Je veux juste parcourir les messages de la session en cours.

EDIT: Deux bonnes réponses maintenant, mais j'aimerais savoir si ces messages sont stockés n'importe où , (estimation totale,/tmp? RAM?) pendant une courte période après l’apparition à l’écran. Une sorte de mémoire tampon doit exister, car elles apparaissent l'une après l'autre, quelques secondes chacune, même s'il y a 20 à 30 notifications sur une minute ou deux.

J'ai omis de mentionner dans ma question initiale que je ne m'intéressais pas à un autre indicateur PPA + ni à des écritures de lecteur excessives. Je veux simplement savoir s'il est possible de voir les messages pendant un court instant après leur apparition.

Mon cas d’utilisation est de revenir en arrière et de trouver quelle chanson a été jouée il ya quelques minutes sur une station de radio en streaming. Je l'ai sur une musique de fond et parfois une mélodie me reste dans la tête après l'avoir entendue. Je n'ai aucun moyen de revenir pour voir ce qui a été joué 1-2 chansons auparavant.

14
Tom Brossman

Après avoir soigneusement regardé autour (BEAUCOUP), j'ai trouvé un changement de code en 2011 qui voulait que notify-osd ne soit pas enregistré par défaut dans le fichier journal car il était utilisé à des fins de débogage et écrit sur le disque dur à chaque fois. Pour activer cette fonctionnalité, vous pouvez le faire de 2 manières, une méthode temporaire et une méthode plus permanente.

méthode temporaire

Ouvrez le terminal je tape ce qui suit:

Pour les systèmes 64 bits:

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

Pour les systèmes 32 bits:

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

Vous verrez maintenant le fichier .cache/notify-osd.log et les informations de débogage qu'il contient.

Méthode permanente (AVERTISSEMENT: Changement global)

Pour une solution plus permanente, procédez comme suit (Changement global. Lisez l'avertissement mentionné par Rinzwind ci-dessous. Cela affectera tout le monde et tuera le chat!):

Sudo nano /etc/environment

Ajoutez la ligne suivante à la fin et enregistrez:

LOG=1

Redémarrez l'ordinateur à tester.

Méthode permanente (modification spécifique à l'utilisateur)

Pour une solution plus permanente, procédez comme suit (Modification spécifique à l'utilisateur. Elle ne concerne que vous et le chien. Le chat survivra toujours.):

Sudo nano ~/.bashrc

Ajoutez la ligne suivante à la fin et enregistrez:

LOG=1

Redémarrez l'ordinateur à tester.

Vous devriez voir les informations commencer à apparaître dans le fichier .cache/notify-osd.log. Par exemple, après m'être déconnecté deux fois de ma connexion câblée, ce moi:

GNU nano 2.2.6 Fichier: .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
6
Luis Alvarado

Vous pouvez installer le paquet indicateur-notifications qui garde une trace des notifications que vous recevez. Vous pouvez installer avec le suivant

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

Vous devrez vous déconnecter et vous reconnecter. Il s’affiche sous la forme d’une boîte aux lettres dans le panneau supérieur et devient vert lorsque vous recevez de nouveaux messages.

Notifications

Ceci est sur 13.04 mais devrait fonctionner sur 12.04 ainsi.

15
Stump

Cela affichera tous les messages de notification à partir du moment où il est démarré jusqu'à ce qu'il soit arrêté.

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

Copiez-le et collez-le dans une fenêtre de terminal (Ctrl+Alt+T).

Pour l'arrêter, utilisez Ctrl+C ou fermez la fenêtre.

Cela est efficace, bien que non discriminant et brutal, mais vous pouvez simplement contrôler les détails exacts souhaités d'un agent de notification spécifique en modifiant l'expression régulière grep"member=Notify\|string". Le texte peut ensuite être masqué avec sed, awk etc. pour bien paraître.

Enfin, lier le script pour qu'il s'exécute automatiquement avec l'agent de choix à surveiller serait très utile.

références croisées:
- détails explicites dans existe-t-il un moyen de visualiser l'historique des notifications?

6
troll la la la