Ubuntu hat ein sehr cooles Benachrichtigungssystem. Gibt es eine Möglichkeit, Ubuntu dazu zu bringen, Benachrichtigungen vorzulesen, wenn sie angezeigt werden?
Oder ist es möglich, den Text in Benachrichtigungen mit zu verknüpfen espeak
?
Ubuntu hat ein sehr cooles Benachrichtigungssystem. Gibt es eine Möglichkeit, Ubuntu dazu zu bringen, Benachrichtigungen vorzulesen, wenn sie angezeigt werden?
Oder ist es möglich, den Text in Benachrichtigungen mit zu verknüpfen espeak
?
Antworten:
Diese Frage ist wirklich interessant, so wie die Antwort.
dbus-monitor
Wenn es ausgeführt wird, wartet es auf das Signal und wenn es eintrifft, fängt es die entsprechenden Informationen ab und gibt sie aus. Ebenso kann es ausgeführt werden, um Informationen zu Benachrichtigungen abzurufen . Bei Ausführung:Es wartet auf die Benachrichtigungen und gibt bei Eingang einer Benachrichtigung die Informationen zu den Benachrichtigungen aus.
Zum Beispiel, wenn der Ton erhöht / verringert oder eine Songspur geändert wird oder eine andere, gibt sie die Nachricht. Ich erstelle manuell eine Desktop-Benachrichtigung mit dem
notify-send
Befehl auf einem anderen Terminal:Dann gibt das erste Terminal, in dem der
dbus-monitor
Befehl ausgeführt wird, eine Nachricht wie folgt aus:Jetzt kann die obige Ausgabe leicht an
espeak
die gelesene Nachricht übergeben werden. Zum Beispiel,Wenn Sie den obigen
dbus-monitor
Befehl durch den folgenden ersetzen, wird die Benachrichtigungsmeldung gelesen:Überprüfen Sie, wie es funktioniert:
Führen Sie diesen Befehl in einem Terminal aus und lassen Sie ihn laufen:
Ich weiß, dass es sehr lang geworden ist, aber es gibt keine andere Möglichkeit, es klein zu machen, weil das Filtern der tatsächlichen Benachrichtigung es langwierig gemacht hat.
Führen Sie dann eine Desktop-Benachrichtigung aus, entweder wie oben beschrieben
notify-send
oder mit einer anderen Funktion. Ich benutzenotify-send
. Führen Sie also den folgenden Befehl in einem anderen Terminal aus:Sobald Sie den Befehl ausführen, wird die Benachrichtigung gesprochen (gelesen).
Es hat zwar meine 4-5 Stunden aufgefressen, aber ich bin jetzt froh, dass es funktioniert.
Sie können auch Ihren eigenen Befehl erstellen
saynoti
und ihn jedes Mal ausführen, wenn Sie eine Lesemeldung wünschen. Mit den folgenden Schritten können Sie Folgendes tun:Speichern Sie zuerst den eigentlichen Befehl in einer aufgerufenen Datei
saynoti
. Sie können einen beliebigen Dateinamen verwenden, der zu Ihrem eigentlichen Befehlsnamen wird.Machen Sie die Datei dann ausführbar und verschieben oder kopieren Sie sie in
/bin
:Jetzt können Sie einfach Ihren neuen Befehl ausführen, um die Sprachbenachrichtigung zu starten :
Um den laufenden Prozess abzubrechen, können Sie diesen Befehl ausführen:
oder drücken Sie einfach Ctrl+ Cauf dem Terminal, auf dem
saynoti
gerade läuft.Sie können es auch
saynoti
jedes Mal ausführen, wenn Ihr System gestartet wird, indem Sie es zu einer Startanwendung machen .Ich möchte mich für diese Frage bedanken. Aufgrund dieser Frage habe ich viele Dinge gelernt. :) :)
Antworten Sie, wenn Sie ein Problem haben oder weitere Änderungen / Modifikationen benötigen. Ich bin sicher, Sie werden sich über die endgültige Arbeitsversion freuen.
quelle
dbus-monitor
Ich möchte anfangen zu lernenIch hatte Probleme mit extra "in meinen E-Mail-Adressen, daher habe ich dies der obigen Codezeile hinzugefügt, da espeak kein" benötigt, um es vorzulesen;)
| sed 's / "// g" |
=>
| grep --line-buffered -v '^ \ s * $' | sed 's / \ "// g' | xargs -I '{}' espeak {}
COOL Arbeit. Bei weitem besser als notify-send lib selbst zu optimieren. 4 "Hallo! Ich bin Saurav Kumar."
Update: funktioniert nicht stabil. Ich werde | verwenden tee -a $ file |
quelle