Może robię coś złego, ale nie powinienem poleceń (uruchamiać osobno)
notify-send -t 1 "test"
notify-send -t 1000 "test"
notify-send -t 10000 "test"
Masz różne limity czasu? Pierwszy jest prawie natychmiastowy, drugi trwa 1 sekundę, a trzeci 100 sekund. We wszystkich przypadkach wydaje się, że zajmuje to około sześciu sekund.
Czy istnieje sposób na obejście zachowania? Ponieważ programiści określają to jako „funkcję” zamiast błędu, chciałbym kilka alternatyw ...
notify-osd
libnotify
Haczykowaty
źródło
źródło
notify-send "Text Here" ; sleep 3 ; killall notify-osd
(gdziesleep 3
jest przykład wygaśnięcia (faktycznie zabijanie) po 3 sekundach)!Odpowiedzi:
Jest to znany błąd: https://bugs.launchpad.net/ubuntu/+source/notify-osd/+bug/390508
(Opiekun uważa to za „decyzję projektową”).
źródło
Jak wspomniano w jednym z powyższych postów, podjęto decyzję dotyczącą odrzucenia tej funkcji. Na szczęście dla Ciebie, inni ludzie również się nie zgadzają i utworzyli PPA i możesz cofnąć tę decyzję również dla swojego systemu.
Aby rozwiązać problem, po prostu:
Opcjonalny
Aby dodać jeszcze więcej funkcji wysyłania powiadomień niż obecnie:
Począwszy od wersji Ubuntu 16.04:
Dla wersji 9.10-14.10:
Aby uzyskać więcej informacji na temat powyższego rozwiązania, przeczytaj ten artykuł:
Konfigurowalne bąbelki powiadomień dla Ubuntu
źródło
E: Failed to fetch http://ppa.launchpad.net/amandeepgrewal/notifyosdconfig/ubuntu/dists/xenial/main/binary-amd64/Packages 404 Not Found
(powiązane: 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
Wielkie dzięki!upgrade
nadist-upgrade
. To powinno załatwić sprawę, ponieważ powiadomienie-osd jest już zainstalowane i na pewno powinno zostać zaktualizowane.Było to celowo wprowadzone naruszenie ustalonych konwencji bez dyskwalifikacji w środowisku terminalu hosta. to znaczy.
notify-send
nie powinien już istnieć, ponieważ zagraża dobrze ustalonej oczekiwanej i udokumentowanej funkcjonalności, dlatego zamiast tegonotify-graffiti
powinno istnieć nowe polecenie - Co ???? Chwileczkę ... wszystkie skrypty, które używają „konwencjonalnej” pisowni nazw poleceń, zostaną naruszone!?! zmieniając konwencję pisowni nazwy polecenia?!?! - hmmm Ta filozofia jest wyjątkowo, paradoksalnie obłudna, jak to sugeruje interfejs terminalowy pulpitu Unity.Nie można tego zrobić na dwa sposoby - zachowując niektóre konwencje, tj. nazwa polecenia, a jeszcze nie inne, funkcjonalność polecenia zgodnie z dokumentacją. Jeśli funkcjonalność ma zostać naruszona, to również nazwa polecenia powinna zachować integralność, konwencjonalność, spójność itp. „Wrażeń” użytkownika, czy też „frustracja”, „irytacja” użytkownika. ..
ref:
man notify-send
”Zakładka:
Powiadom-wyślij ignoruje limit czasu?
źródło
Dostępny jest mały, przydatny skrypt skrypt-send.sh jako zastępczy zamiennik polecenia send-send, który umożliwia zamknięcie lub zastąpienie wcześniej wysłanych powiadomień.
Edycja: jak wskazał @Glutanimate, ten skrypt domyślnie obsługuje czas wygaśnięcia.
Nie mogłem w końcu uzyskać czasu wygaśnięcia do pracy, więc wybrałem dość pospieszny sposób wysłania powiadomienia z 2-sekundowym limitem czasu:
notify-send.sh --print-id test | xargs -I {} bash -c "sleep 2 && notify-send.sh --close={}" &
źródło
notify-send.sh -t 2 "Hello World!"
. Symlinkowałem skrypt do mojego lokalnego katalogu $ PATH i przemianowałem go na powiadomienie-send. Nigdy więcej zajmowania się tym akapitem implementacji powiadomienia-osd!Dla osób korzystających ze środowiska pulpitu Cinnamon istnieje ustawienie, które można włączyć:
Powiadomienia> Usuń powiadomienia po upływie limitu czasu
źródło
To jest w milisekundach. Testowałem na XUbuntu 16.04 (Ubuntu XFCE)
notify-send -t 3000 "test"
dokładnie 3 sekundy
źródło