Ich liebe ein Zitat. Jetzt möchte ich, dass jedes Mal, wenn mein Computer gestartet wird, das Zitat wie eine Begrüßungsnotiz auf dem Bildschirm angezeigt wird. Gibt es eine Möglichkeit, dies in Ubuntu 13.04 zu tun?
Ich liebe ein Zitat. Jetzt möchte ich, dass jedes Mal, wenn mein Computer gestartet wird, das Zitat wie eine Begrüßungsnotiz auf dem Bildschirm angezeigt wird. Gibt es eine Möglichkeit, dies in Ubuntu 13.04 zu tun?
Antworten:
Sie können beim Anmelden einen einfachen Zenity-Dialog mit dem Inhalt Ihres Angebots öffnen.
Fügen Sie den folgenden Code in ein Skript ein und fügen Sie das Skript zu Ihren "Startup Applications" hinzu.
zenity --info --text=$quote --title="A Quote"
fortune
Installieren Sie das fortune-mod
Paket ( sudo apt-get install fortune-mod
) und integrieren Sie den fortune
Befehl wie folgt in Ihr Skript:
zenity --info --text="$(fortune literature)" --title="A Quote" --no-wrap
Sie können diesen Befehl einfach zu Ihren Startup Applications hinzufügen, ohne ihn in ein Skript einzufügen.
Die literature
Option wird verwendet, um anzugeben, dass Sie ein spezielles Zitat wünschen, andernfalls erhalten Sie Witze, Rätsel und andere "Schicksale".
Hinweis: Einige Vermögen sind ziemlich lang. Verwenden Sie --text="$(fortune -s literature)"
statt des --text="$(fortune literature)"
obigen Befehls, um nur kurze Zitate auszudrucken.
Screenshot unten:
Fortune hat auch viele verschiedene Optionen, um die Art der erhaltenen Zitate anzupassen (Literatur, Rätsel usw.). Weitere Informationen finden Sie auf der Fortune-Manpage . Um diese Optionen zu verwenden, ändern Sie einfach fortune
den obigen Befehl in fortune SOME_OPTION
.
fortune
Befehl durch einen beliebigen info-ähnlichen Befehl ersetzen, den Sie haben (finden können).
Wenn Sie sich etwas einfallen lassen möchten (z. B. ein transparentes Zitat auf Ihrem Hintergrundbild anzeigen, einige Erinnerungen eintippen usw.):
Jetzt haben Sie ein Terminalprofil für die Anzeige der Angebote erstellt.
Als Nächstes nehmen wir eine Compiz-Einstellung vor, um sie in unseren Desktop-Hintergrund einzufügen und diese Schatten und Dekorationen zu entfernen.
ccsm
indem Sie das Terminal eingeben (vorausgesetzt, Sie haben es installiert).
Kopieren Sie nun das folgende Skript, fügen Sie es in gedit ein und speichern Sie es als quote_script.py
import commands
from time import sleep
import random
quotefile = "/home/user/Documents/.../quotes.txt"
interval = 10
with open(quotefile,'rb') as data: quotes = data.readlines()
print "\x1b[?25l"+random.choice(quotes)[:-1]
sleep(interval)
exit()
Ändern Sie das Quotefile und das Intervall entsprechend Ihrem Dateispeicherort und der Anzeigezeit des Quotes .
Gehen Sie zu Startanwendungen, indem Sie Folgendes eingeben: gnome-session-properties . Fügen Sie eine neue hinzu, indem Sie auf Hinzufügen klicken und Folgendes eingeben :
Name :
Tägliche Zitate
Befehl :
gnome-terminal --window-with-profile=quote_of_the_day -e "python /home/user/Documents/.../quote_script.py"
Kommentar :
Zeige zufällige Anführungszeichen bei der Anmeldung
Das ist es! Sie können versuchen, sich aus- und wieder einzuloggen, um das Ergebnis zu sehen.
- Experimentieren Sie mit terminalen Spalten- und Zeilenwerten. Positionswerte, Intervalle, Schriftfarben usw. Denken Sie daran, die Anführungszeichen zeilenweise in die Datei quotes.txt einzufügen.
input("Press enter...")
, um das Dialogfeld manuell zu schließen. Wird der Binärmodus nicht 'rb'
gelesen ?
r
liest nur Klartext und \n
, \t
. Außerdem verschwindet das Zitat automatisch in 10 Sekunden (vom Benutzer festgelegt).
Angenommen, Sie haben alle Ihre Zitate in einer Datei quotes.txt
(jedes Zitat in einer Zeile) gespeichert, sagen wir in ~/Documents
. Dann können Sie mit dem Terminal Folgendes tun:
Erstellen Sie eine neue Datei / ein neues Skript greeting.sh
in Ihrem ~/bin
Verzeichnis:
mkdir -p ~/bin #this command will make a bin directory in your home folder if you don't already have it
gedit ~/bin/greetings.sh
Wenn Sie eine Desktop-Benachrichtigung erhalten möchten, fügen Sie die nächsten zwei Zeilen ein:
#!/bin/bash
quotes="$HOME/Documents/quotes.txt"
random_line=$(shuf -i 1-$(wc -l < $quotes) -n 1)
quote=$(sed -n -e "$random_line"p $quotes)
notify-send "Quote of the day" "$quote"
Wenn alternativ ein Popup (Meldungsfeld) angezeigt werden soll, verwenden Sie zenity
stattdessen notify-send
:
zenity --info --title "Quote of the day" --text "$quote"
Speichern Sie die Datei und schließen Sie sie.
Machen Sie die Datei ausführbar:
chmod +x ~/bin/greetings.sh
Suchen Sie in Dash nach Startup Applications , öffnen Sie es und klicken Sie auf Add .
/home/$USER/bin/greetings.sh
(ändern Sie $USER
mit Ihrem Benutzernamen).Verwandte Themen: Wie zeige ich eine Nachricht mit Benutzername und Datum bei der Anmeldung an?
quote=$(shuf -n 1 "$quotes")
- Sie müssen weder sed noch wc aufrufen, da shuf -n 1 file
Sie von sich aus eine zufällige Zeile aus einer Datei erhalten.
Mehrfachantworten hier, keine war mir einfach genug.
Am Ende habe ich Variety installiert , mit dem ich zufällige Anführungszeichen auf Hintergrundbilder für verschiedene Quellen schreiben kann, in meinem Fall aus einer lokalen Datei.