Cerca de três meses atrás, notei canela aleatoriamente indo para o modo de fallback; no entanto, clicar em "Restart Cinnamon" sempre funcionava para reiniciá-lo, e nenhum erro parecia ser relatado.
Cerca de duas semanas depois, percebi que era toda vez que recebia uma notificação. Isso me incomodou, mas eu nunca usei aplicativos que me enviaram notificações (eu nunca tive tempo suficiente para analisá-lo ainda mais).
Hoje, tentei consertá-lo e agora estou realmente irritado com o problema aparentemente simples.
Eu tentei várias soluções. Eu tentei limpar cada aplicativo relacionado a notificação no dispositivo e, em seguida, reinstalar cada um diretamente dos repositórios. Tentei uma notificação de três aplicativos, e todos eles caiu. Reinicializado e os mesmos resultados.
Procurei no monitor do sistema para descobrir que o único aplicativo relacionado a notificação que estava em execução era csd-print-notifications
de /usr/lib/x86_64-linux-gnu/cinnamon-settings-daemon/csd-print-notifications
.
Então, naturalmente, eu me perguntei onde notify-osd
era, pois ele parecia ser meu daemon de notificação padrão no passado. Eu encontrei, reinstalei, reiniciei, testei novamente e todos resultaram em travamentos mais uma vez, e todos puderam ser recuperados.
Além disso, durante os testes, meu telefone foi sincronizado com o computador usando indicator-kdeconnect
. O telefone mostrava cada uma das notificações perfeitamente, enquanto o computador travava e não mostrava nenhuma. Isso me deu a noção de que, embora as notificações estejam de alguma forma sendo transmitidas, elas não estão chegando longe o suficiente para alcançar a canela.
Então, em um terminal, eu corri sudo su
e, em seguida, /usr/lib/x86_64-linux-gnu/notify-osd &
.
Isso iniciou o daemon, e ele apareceu no monitor do sistema como sendo executado pelo root, que é o que eu queria. Tentei enviar as notificações mais uma vez e todas falharam. No entanto, decidi adicionar um quarto método para testar as notificações.
Em um novo terminal, digitei notify-send test
. Para minha surpresa, Cinnamon não caiu! Infelizmente, no entanto, também não mostrou nenhuma notificação. A única indicação de que uma notificação foi enviada seria o meu telefone atender a notificação.
E só para provar que kdeconnect
não estava interferindo, eu os fechei do monitor do sistema e a notificação falhou com e sem o daemon do terminal.
Uma descoberta ainda mais estranha é que quando o Cinnamon falha e vai para o desktop MATE, eu decidi tentar enviar uma notificação com o daemon ainda em execução. Ele apareceu. Então parei o daemon e enviei outro. Funcionou de novo! Sem mencionar que quando eu envio a notificação, ele iniciou um novo daemon com o proprietário sendo meu usuário, não o root. Mas porque ...?
Então eu tentei uma última coisa. Eu fiz o logout, e entrei de volta, saindo do modo fallback de volta para a interface canela normal. No terminal, tentei executar /usr/lib/x86_64-linux-gnu/notify-osd &
sem permissões de root. Não terminou, mas é isso que retornou:
** (notify-osd:2689): WARNING **: Another instance has already registered org.freedesktop.Notifications
** (notify-osd:2689): WARNING **: Could not register instance
Lembre-se, nunca houve uma instância de notify-osd
em execução, a menos que eu iniciei manualmente uma como raiz (de acordo com gnome-monitor
). Não mostrei uma instância de notify-osd
quando iniciei sem root. Apesar das mensagens, tentei enviar as notificações para ver o que aconteceria. Claro, canela trava mais uma vez, e meu telefone emite um bipe dizendo que meu computador tem uma nova notificação.
Isso parece extremamente confuso para mim e, de alguma forma, o Notify-OSD não está sendo iniciado na inicialização / login. Como posso fazer isso? E se eu fizesse, resolveria o problema? Como faço para corrigir as notificações do Cinnamon?
Existe alguma outra informação que eu preciso anexar?