Uwielbiam cytat. Teraz chcę, aby przy każdym uruchomieniu komputera cytat pojawiał się na ekranie, jak notatka powitalna. Czy jest jakiś sposób, aby to zrobić w Ubuntu 13.04?
Uwielbiam cytat. Teraz chcę, aby przy każdym uruchomieniu komputera cytat pojawiał się na ekranie, jak notatka powitalna. Czy jest jakiś sposób, aby to zrobić w Ubuntu 13.04?
Odpowiedzi:
Możesz wyświetlić proste okno zenity przy logowaniu z treścią twojego zapytania.
Umieść następujący kod w skrypcie, a następnie dodaj ten skrypt do „Aplikacji startowych”
zenity --info --text=$quote --title="A Quote"
fortuneZainstaluj fortune-modpakiet ( sudo apt-get install fortune-mod), a następnie możesz zintegrować fortunepolecenie ze swoim skryptem w następujący sposób:
zenity --info --text="$(fortune literature)" --title="A Quote" --no-wrap
Możesz po prostu dodać to polecenie do aplikacji startowych bez umieszczania go w skrypcie.
literatureOpcja służy do określenia, które chcesz cytat konkretnie, w przeciwnym razie będzie to daje żarty, zagadki i inne „los”.
Uwaga: niektóre fortuny są dość długie, użyj --text="$(fortune -s literature)"zamiast --text="$(fortune literature)"w powyższym poleceniu, aby wydrukować tylko krótkie cytaty.
Zrzut ekranu poniżej:

Fortune ma również wiele różnych opcji dostosowywania rodzaju cytatów (literatura, zagadki itp.). Więcej informacji znajdziesz na stronie man fortune . Aby skorzystać z tych opcji, po prostu zmień fortunepowyższe polecenie na fortune SOME_OPTION.
fortunepolecenie dowolnym poleceniem podobnym do informacji, które masz (możesz znaleźć).
Jeśli chcesz coś wymyślić (np. Pokaż przezroczysty cytat na tapecie, wpisz przypomnienia itp.):
Teraz masz profil terminalu do wyświetlania cytatów.
Następnie skonfigurujemy ustawienie compiz, aby umieścić je na tle pulpitu i usunąć te cienie i dekoracje.
ccsm(zakładając, że masz zainstalowany)


Teraz skopiuj i wklej poniższy skrypt do gedit i zapisz go jako 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()
Zmień plik i przedział czasowy, aby dopasować lokalizację pliku i czas wyświetlania wyceny.
Przejdź do aplikacji startowych, wpisując terminal: gnome-session-properties . Dodaj nowy, klikając dodaj i wpisz:
Imię :
Codzienne cytaty
Polecenie :
gnome-terminal --window-with-profile=quote_of_the_day -e "python /home/user/Documents/.../quote_script.py"
Komentarz :
Pokaż losowe cytaty przy logowaniu
To jest to! Możesz spróbować się wylogować i zalogować ponownie, aby zobaczyć wynik.
- Eksperymentuj z terminalnymi wartościami kolumn i wierszy; Wartości pozycji, interwały, kolory czcionek itp. Pamiętaj, aby umieszczać cudzysłowy w pliku quotes.txt wiersz po wierszu.
input("Press enter...")aby ręcznie zamknąć okno dialogowe. Ponadto, czy tryb 'rb'odczytu nie jest binarny ?
rprostu czyta zwykły tekst i \n, \t. Również cytat znika automatycznie po 10 sekundach (ustawienie użytkownika).
Powiedzmy, że masz quotes.txtzapisane wszystkie swoje cytaty w jednym pliku (każdy cytat w jednym wierszu), powiedzmy ~/Documents. Następnie za pomocą terminala możesz wykonać:
Utwórz nowy plik / skrypt greeting.shw swoim ~/binkatalogu:
mkdir -p ~/bin #this command will make a bin directory in your home folder if you don't already have it
gedit ~/bin/greetings.shJeśli chcesz otrzymać powiadomienie na pulpicie, umieść wewnątrz 2 kolejne linie:
#!/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"
Alternatywnie, jeśli chcesz, aby wyświetlało się okienko wyskakujące (okno komunikatu), użyj zenityzamiast tego notify-send:
zenity --info --title "Quote of the day" --text "$quote"Zapisz plik i zamknij go.
Spraw, aby plik był exacutable:
chmod +x ~/bin/greetings.sh
Szukaj w Dash dla Startup Applications , otwórz ją i kliknij przycisk Dodaj .
/home/$USER/bin/greetings.sh(zmień $USERswoją nazwę użytkownika).Powiązane: Jak wyświetlić wiadomość z nazwą użytkownika i datą podczas logowania?
quote=$(shuf -n 1 "$quotes")- nie trzeba wywoływać sed ani wc, ponieważ sam shuf -n 1 fileda ci losową linię z pliku.
Wiele odpowiedzi tutaj, żadna nie była dla mnie wystarczająco prosta.
Skończyłem instalowanie Variety , która może ładnie pisać losowe cytaty na tapetach z różnych źródeł, w moim przypadku z lokalnego pliku.