Talvez eu esteja fazendo algo errado, mas os comandos não devem ser executados separadamente
notify-send -t 1 "test"
notify-send -t 1000 "test"
notify-send -t 10000 "test"
Tem tempos limite diferentes? O primeiro sendo quase instantâneo, o segundo levando 1 segundo e o terceiro 100 segundos. Em todos os casos, isso leva cerca de seis segundos.
Existe uma maneira de contornar o comportamento? Como os desenvolvedores rotulam isso como um "recurso" em vez de um bug, eu gostaria de algumas alternativas ...
notify-osd
libnotify
Hooked
fonte
fonte
notify-send "Text Here" ; sleep 3 ; killall notify-osd
(ondesleep 3
é exemplo de expiração (realmente matar) após 3 segundos)!Respostas:
Este é um bug conhecido: https://bugs.launchpad.net/ubuntu/+source/notify-osd/+bug/390508
(É considerada uma 'decisão de projeto' pelo mantenedor.)
fonte
Conforme mencionado em uma das postagens acima, há uma decisão de design para desabilitar esse recurso. Felizmente para você, outras pessoas também não concordam e criaram um PPA e você pode reverter essa decisão também para o seu sistema.
Para resolver seu problema apenas:
Opcional
Para adicionar ainda mais recursos para enviar-notificação do que você possui atualmente:
A partir do Ubuntu 16.04:
Para as versões 9.10-14.10:
Para mais informações sobre a solução acima, leia este artigo:
Bolhas de notificação configuráveis para Ubuntu
fonte
E: Failed to fetch http://ppa.launchpad.net/amandeepgrewal/notifyosdconfig/ubuntu/dists/xenial/main/binary-amd64/Packages 404 Not Found
(relacionados: askubuntu.com/questions/50/... )sudo add-apt-repository ppa:leolik/leolik
:;sudo add-apt-repository ppa:amandeepgrewal/notifyosdconfig
;sudo apt-get update
;sudo apt install notify-osd # Updates to actually useful version
;sudo apt install notifyosdconfig
Muito Obrigado!upgrade
paradist-upgrade
. Isso deve cuidar de tudo, já que o notify-osd já está instalado e deve ser atualizado com certeza.Essa foi uma violação intencionalmente implementada de convenções estabelecidas sem desqualificação no ambiente do terminal host. ie
notify-send
não deve mais existir, pois compromete a funcionalidade esperada e documentada bem estabelecida; portanto, um novo comandonotify-graffiti
deve existir agora - O que ???? Espere um segundo ... todos os scripts que usam a ortografia "convencional" do nome do comando serão comprometidos!?! alterando a convenção de como o nome do comando está escrito?!?! - hmmm Essa filosofia é excepcionalmente, paradoxalmente hipócrita, como defendida pela interface do terminal de desktop Unity.Não pode ser feito nos dois sentidos - preservando algumas convenções, ou seja. o nome de um comando e ainda outros, a funcionalidade de um comando conforme documentado. Se a funcionalidade for comprometida, também o nome do comando deverá manter a integridade, a convencionalidade, a consistência etc. da "experiência" do usuário, ou será esse "frustração", "aborrecimento", "irritação",. ..
ref:
man notify-send
"Marcador:
Notify-send ignora timeout?
fonte
Há um pequeno script prático notify-send.sh como um substituto para o envio de notificação que permite fechar ou substituir as notificações enviadas anteriormente.
Editar: como o @Glutanimate apontou, esse script suporta o tempo de expiração por padrão.
Não consegui que o tempo de expiração funcionasse no final, então segui uma maneira hacky de enviar uma notificação com tempo limite de 2 segundos, como este:
notify-send.sh --print-id test | xargs -I {} bash -c "sleep 2 && notify-send.sh --close={}" &
fonte
notify-send.sh -t 2 "Hello World!"
. Eu vinculei o script ao meu diretório local $ PATH e o renomeei para notificar-enviar. Chega de lidar com essa implementação subpara do notify-osd!Para aqueles que usam o ambiente de área de trabalho Cinnamon, há uma configuração que pode ser ativada:
Notificações> Remover notificações após atingir o tempo limite
fonte
Isso é em milissegundos. Eu testei no XUbuntu 16.04 (Ubuntu XFCE)
notify-send -t 3000 "test"
exatamente 3 segundos
fonte