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.