Como posso ler as mensagens do NotifyOSD depois que elas são exibidas?

14

Gostaria de ler uma lista de mensagens exibidas notify-osdperiodicamente. Ainda estou usando o 12.04, se isso importa. Isso é possível?

Essas duas perguntas de 2010 indicam que um arquivo de log deve existir em ~/.cache/notify-osd.log. Não tenho esse arquivo e gostaria de saber se esse é um erro (nesse caso, essa pergunta deve ser encerrada) ou se esse arquivo de log depende de outra configuração (como Configurações do sistema -> Privacidade)?

Não ligo para armazenar dados entre reinicializações. Eu só quero procurar mensagens da sessão atual.

EDIT: Duas boas respostas agora, mas eu gostaria de saber se essas mensagens são armazenadas em qualquer lugar (suposição total, / tmp? RAM?) Por um curto período depois de aparecer na tela. Algum tipo de buffer deve existir, pois eles aparecem um após o outro, alguns segundos cada, mesmo se houver 20 a 30 notificações no período de um minuto ou dois.

Não mencionei na minha pergunta original que não estou interessado em outro indicador PPA + ou em gravação excessiva de unidades, só quero saber se é possível ver as mensagens por um curto período de tempo após elas aparecerem.

Meu caso de uso para isso é voltar e encontrar qual música foi tocada há alguns minutos em uma estação de rádio. Eu a uso como música de fundo e, ocasionalmente, uma música fica na minha cabeça depois que a ouço. Não tenho como voltar atrás para ver o que tocou 1-2 músicas atrás.

Tom Brossman
fonte
1
A razão que você não vê o log mais: bugs.launchpad.net/ubuntu/+source/notify-osd/+bug/904835
Seth
Qual aplicativo / player você está usando para reproduzir stream de rádio?
Basharat Sialvi
@BasharatSial Radiotray
Tom Brossman
1
O @TomBrossman Radiotray precisa history pluginmanter o controle das músicas tocadas anteriormente.
Basharat Sialvi
@ BasharatSial Obrigado, essa é provavelmente a solução mais simples para mim.
Tom Brossman

Respostas:

6

Depois de olhar atentamente (MUITO), encontrei uma alteração de código em 2011 sobre como notify-osdnão gerar saída por padrão para o arquivo de log, porque isso era usado para fins de depuração e gravado no HDD toda vez que acontecia. Para ativar este recurso, você pode fazer isso de duas maneiras, um método temporário e um método mais permanente.

Método temporário

Abra o terminal, digite o seguinte:

Para sistemas de 64 bits:

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

Para sistemas de 32 bits:

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

Agora você verá o .cache/notify-osd.logarquivo e as informações de depuração nele.

Método Permanente (AVISO: Mudança Global)

Para uma solução mais permanente, faça o seguinte (Mudança Global. Leia o Aviso mencionado por Rinzwind abaixo. Isso afetará a todos e matará o gato!):

sudo nano /etc/environment

Adicione a seguinte linha no final e salve:

LOG=1

Reinicie o computador para testar.

Método permanente (alteração específica do usuário)

Para uma solução mais permanente, faça o seguinte (Alteração específica do usuário. Isso afetará apenas você e o cachorro. O gato ainda sobreviverá):

sudo nano ~/.bashrc

Adicione a seguinte linha no final e salve:

LOG=1

Reinicie o computador para testar.

Você deve ver as informações começarem a aparecer no .cache/notify-osd.logarquivo. Por exemplo, este eu depois de desconectar duas vezes minha conexão com fio:

GNU nano 2.2.6 Arquivo: .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
Luis Alvarado
fonte
3
Aviso pequeno: isso pode ser uma má idéia ... LOG = 1 no / etc / environment torna uma variável abrangente do sistema e pode quebrar coisas ... Deus sabe o que reage no LOG (ofc. Eles deveriam ter feito algo como NOTIFYOSDLOG ) Talvez para iniciantes eu o adicionasse ao bashrc para 1 usuário apenas para ter certeza.
Rinzwind
@Rinzwind Sim, eu pensei que sim. Adicionado o bashrc.
Luis Alvarado
Obrigado Luis. Aceitei isso porque não requer outro PPA, o que é ótimo. (Eu dei a recompensa ao @Stump apenas porque você tem tanto representante que não vai perder, espero que não se importe).
Tom Brossman
1
@ TomBrossman Eu odeio você até o Ubuntu comprar a Microsoft ^^.
Luis Alvarado
15

Você pode instalar as notificações do indicador de pacote, que acompanham as notificações recebidas. Você pode instalar com o seguinte

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

Você precisará sair e entrar novamente. Ele aparece como uma caixa de correio no painel superior e fica verde quando você recebe novas mensagens.

Notificações

Esta é a 13.04, mas também deve funcionar na 12.04.

Toco
fonte
Isso não mostra notificações de indicador + ícones da bandeja do sistema emUbuntu 19.04(GNOME Shell)
MD. Mohiuddin Ahmed
6

Isso mostrará todas as mensagens de notificação desde o início até a parada.

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

Copie e cole-o em uma janela de terminal ( Ctrl+ Alt+ T).

Para pará-lo, use Ctrl+ Cou feche a janela.

Isso é eficaz, embora não discriminatório e bruto, mas pode ser elaborado apenas para monitorar os detalhes exatos desejados, de um agente notificador específico, alterando a grepexpressão regular "member=Notify\|string". O texto pode então ser massageado com sed, awketc. , para ficar bem.

Penultimamente, seria mais útil vincular o script a ser executado automaticamente com o agente de escolha a ser monitorado.

referência cruzada:
- detalhes explícitos em Existe uma maneira de visualizar o histórico de notificações?

troll la la la
fonte
1
+1 Isso é interessante, mas já deve estar em execução para exibir as mensagens anteriores.
Tom Brossman #
1
exatamente This will show all notification messages **from the time it is started** until it is stopped. Todas as outras soluções propostas devem ser executadas antes de serem efetivas. Isso não é diferente, exceto ... Para torná-lo "pegajoso", o script pode ser incluído como parte da rotina de inicialização. Também a saída pode ser canalizada para um arquivo de log. link adicionado para mais detalhes ref. links a serem adicionados - muitos muitos
troll la la la