Czy jest jakiś sposób na ustawienie powitania w Ubuntu?


20

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:


16

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"

Za pomocą fortune

Zainstaluj 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: Losy w oknie dialogowym

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.

Kredyty dla FreudianSlip dla fortunepolecenia


1
Nie jestem pewien, czy nadal tak jest, ale w dawnych systemach uniksowych polecenie „fortuna” oferowałoby wiele różnych fraz / powiedzeń. Nie jestem teraz na komputerze z linuksem / unixem, żeby go teraz przetestować, ale jestem pewien, że znajdziesz odniesienia do niego.
— FreudianSlip,

lost.sourceforge.net współpracuje z Fortune, aby poprawić swoje umiejętności administracyjne.
— K7AAY

@kiloseven oczywiście, możesz zastąpić fortunepolecenie dowolnym poleceniem podobnym do informacji, które masz (możesz znaleźć).
— kiri

Ostatnim argumentem, który bierze komenda fortune, jest opcjonalna nazwa pliku / katalogu, dzięki czemu możesz utworzyć własną kolekcję cytatów i korzystać z niej. Nie pamiętam dokładnego formatu pliku, ale jest to bardzo prosty plik tekstowy, który można łatwo obsługiwać za pomocą edytora tekstu.
— Joe

Jeśli wybierzesz wyskakujące okienko, spójrz również na yad. To zamiennik zenity z wieloma dodatkowymi funkcjami i świetnym wsparciem.
— Joe

11

Jeśli chcesz coś wymyślić (np. Pokaż przezroczysty cytat na tapecie, wpisz przypomnienia itp.):

  1. Otwórz terminal, naciskając Ctrl+ Alt+T
  2. Przejdź do „Edycja> Profile> Nowe”.
  3. Nadaj mu nazwę (np. „Cytat z dnia”) i kliknij Utwórz .
  4. Kliknij Edytuj, przejdź do zakładki kolorów i odznacz „Użyj kolorów z ...”.
  5. Wybierz kolor tekstu, który będzie widoczny na tapecie pulpitu.
  6. Przejdź do zakładki tła i wybierz Przezroczyste tło i ustaw na Brak.
  7. W zakładce Przewijanie wybierz „Pasek przewijania jest: Wyłączony ”.
  8. Możesz zmienić czcionkę i rozmiar z zakładki ogólnej.
  9. Tutaj możesz również zmienić kolumny i wiersze odpowiednio na około 50 i 5.
  10. Przejdź do Title and Command i wybierz zachowaj tytuł początkowy z pola kombi.

Teraz masz profil terminalu do wyświetlania cytatów. wprowadź opis zdjęcia tutaj

Następnie skonfigurujemy ustawienie compiz, aby umieścić je na tle pulpitu i usunąć te cienie i dekoracje.

  • Otwórz Compiz Config, wpisując terminal ccsm(zakładając, że masz zainstalowany)
  • Kliknij Reguły okna i wykonaj następujące czynności: wprowadź opis zdjęcia tutaj

  • Kliknij Umieść system Windows i wykonaj następujące czynności: wprowadź opis zdjęcia tutaj
  • Uwaga : pozycje 600 x i 100 y należy zmienić zgodnie z rozdzielczością ekranu. (umieszcza to gdzieś w prawym górnym rogu)
  • Przejdź do Dekoracja okna i wykonaj następujące czynności: wprowadź opis zdjęcia tutaj



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.

Ostateczny wynik:

wprowadź opis zdjęcia tutaj
- 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.


Ładna odpowiedź i lepiej z pythonem, ale nie najłatwiejsza lub najprostsza odpowiedź. Sugerowałbym również wyłączenie opcji „Brak fokusa” i dodanie opcji, input("Press enter...")aby ręcznie zamknąć okno dialogowe. Ponadto, czy tryb 'rb'odczytu nie jest binarny ?
— kiri

Tak, to dobra praktyka, do czytania znaków Unicode znaki sterujące itp rprostu czyta zwykły tekst i \n, \t. Również cytat znika automatycznie po 10 sekundach (ustawienie użytkownika).
— Python Student

2

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ć:

  1. 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.sh
  2. Jeś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"
  3. Zapisz plik i zamknij go.

  4. Spraw, aby plik był exacutable:

    chmod +x ~/bin/greetings.sh
    
  5. Szukaj w Dash dla Startup Applications , otwórz ją i kliknij przycisk Dodaj .

  6. Pod nazwą wpisz „Pokaż moje imię i datę” lub coś, co rozpoznasz.
  7. Pod typem polecenia: /home/$USER/bin/greetings.sh(zmień $USERswoją nazwę użytkownika).
  8. Pod komentarzem (jeśli chcesz) wpisz krótki opis.

Powiązane: Jak wyświetlić wiadomość z nazwą użytkownika i datą podczas logowania?


1
Skrypt można uprościć, używając quote=$(shuf -n 1 "$quotes")- nie trzeba wywoływać sed ani wc, ponieważ sam shuf -n 1 fileda ci losową linię z pliku.
— evilsoup

0

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.


Witamy w AskUbuntu! Ta odpowiedź byłaby znacznie lepsza, gdybyś rzeczywiście wyjaśnił, jak można pisać przypadkowe cytaty na tapetach z Variety.
— Elder Geek,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.