Ubuntu ma bardzo fajny system powiadomień. Czy istnieje sposób, aby Ubuntu odczytał powiadomienia, gdy się pojawią?
Czy jest możliwe link do tekstu w powiadomieniach espeak
?
notify-osd
text-to-speech
Miauczeć
źródło
źródło
Odpowiedzi:
To pytanie jest naprawdę interesujące, ponieważ stanowi odpowiedź.
dbus-monitor
po wykonaniu czeka na sygnał, a po nadejściu łapie i podaje odpowiednie informacje na jego temat. Podobnie można go wykonać, aby uzyskać informacje o powiadomieniach . Po wykonaniu:Będzie czekał na powiadomienia, a gdy nadejdzie jakieś powiadomienie, poda informacje o powiadomieniach.
Na przykład, gdy dźwięk jest zwiększany / zmniejszany, zmieniany jest dowolny utwór lub jakikolwiek inny, pojawia się komunikat. Ręcznie tworzę powiadomienie na pulpicie za pomocą
notify-send
polecenia na dowolnym innym terminalu:Wtedy pierwszy terminal, w którym
dbus-monitor
wykonywane jest polecenie, wyświetli komunikat:Teraz powyższe dane wyjściowe można łatwo przekazać
espeak
do odczytania wiadomości. Na przykład,Zastąpienie powyższego
dbus-monitor
polecenia następującym poleceniem spowoduje odczytanie powiadomienia:Sprawdź, jak to działa:
Wykonaj to polecenie w terminalu i pozostaw je uruchomione:
Wiem, że stało się bardzo długie, ale nie ma innego sposobu, aby uczynić go małym, ponieważ filtrowanie faktycznego powiadomienia spowodowało, że było ono długie.
Następnie uruchom powiadomienie na pulpicie w sposób opisany powyżej za pomocą
notify-send
lub jakiejkolwiek innej rzeczy. Używamnotify-send
. Wykonanie następującego polecenia w innym terminalu:Jak tylko wykonasz polecenie, wypowie ono (przeczyta) powiadomienie.
Chociaż zjadł moje 4-5 godzin, ale cieszę się, że to działa.
Możesz także utworzyć własne polecenie
saynoti
i wykonać je za każdym razem, gdy chcesz otrzymać powiadomienie o czytaniu. Wykonując następujące kroki możesz to zrobić:Najpierw zapisz aktualne polecenie w pliku o nazwie
saynoti
. Możesz użyć dowolnej nazwy pliku, która stanie się rzeczywistą nazwą polecenia.Następnie uczyń plik wykonywalnym i przenieś go lub skopiuj do
/bin
:Teraz możesz po prostu wykonać nowe polecenie, aby rozpocząć wymawianie powiadomienia :
Aby zabić uruchomiony proces, możesz wykonać następujące polecenie:
lub po prostu naciśnij Ctrl+ Cna terminalu, na którym
saynoti
działa.Możesz także uruchomić za
saynoti
każdym razem, gdy system się uruchamia, czyniąc go aplikacją startową .Chciałbym podziękować za to pytanie. Z powodu tego pytania nauczyłem się wielu rzeczy. :)
Odpowiedz, jeśli pojawi się jakiś problem lub potrzebujesz dalszej zmiany / modyfikacji. Jestem pewien, że z przyjemnością otrzymasz ostateczną działającą wersję.
źródło
dbus-monitor
, chcę zacząć się uczyćMiałem problem z dodatkowymi „w moich adresach e-mail, dlatego dodałem to do powyższej linii kodu, ponieważ espeak nie potrzebuje wcale”, aby odczytać;)
| sed 's / \ "// g' |
=>
| grep --line-buffered -v '^ \ s * $' | sed 's / \ "// g' | xargs -I '{}' espeak {}
COOL praca. Zdecydowanie lepiej niż poprawianie powiadomień - wyślij samo lib 4 „Cześć! Jestem Saurav Kumar”.
aktualizacja: nie działa stabilnie. Użyję | tee -a $ plik |
źródło