Bir teklifi seviyorum. Şimdi bilgisayarımın her açılışında, alıntıların hoş bir not gibi, ekranda görünmesini istiyorum.
Bir teklifi seviyorum. Şimdi bilgisayarımın her açılışında, alıntıların hoş bir not gibi, ekranda görünmesini istiyorum.
Yanıtlar:
Giriş yaptığınızda, teklifin içeriğiyle basit bir kararsızlık iletişim kutusu açabilirsiniz.
Aşağıdaki kodu bir komut dosyasına ekleyin, sonra bu komut dosyasını "Başlangıç Uygulamaları" na ekleyin
zenity --info --text=$quote --title="A Quote"
fortune
fortune-mod
Paketi ( sudo apt-get install fortune-mod
) yükleyin, sonra fortune
komutu şu şekilde komut dosyanızla bütünleştirebilirsiniz :
zenity --info --text="$(fortune literature)" --title="A Quote" --no-wrap
Bu komutu Başlangıç Komutlarına bir betiğe koymadan da ekleyebilirsiniz.
Bu literature
seçenek, özellikle bir fiyat teklifi istediğinizi belirtmek için kullanılır, aksi takdirde şakalar, bilmeceler ve diğer 'servetler' verecektir.
Not: Bazı servetler oldukça uzundur, yalnızca kısa tırnaklar yazdırmak için yukarıdaki komut --text="$(fortune -s literature)"
yerine bunun yerine kullanın --text="$(fortune literature)"
.
Aşağıdaki ekran görüntüsü:
Fortune ayrıca, alacağınız teklif türlerini (edebiyat, bilmeceler vb.) Özelleştirmek için birçok farklı seçeneğe sahiptir . Daha fazla bilgi için fortune man sayfasına bakınız . Bu seçenekleri kullanmak fortune
için yukarıdaki komutu değiştirmek yeterlidir fortune SOME_OPTION
.
fortune
sahip olduğunuz (bulabildiğiniz) herhangi bir bilgi benzeri komutla komutu değiştirebilirsiniz .
Şeyleri süslemek istiyorsanız (duvar kağıdınıza şeffaf bir alıntı göstermek gibi, bazı hatırlatıcılar vb ... yazın):
Şimdi tırnak görüntüleme için bir terminal profili oluşturdunuz.
Ardından, masaüstü arkaplanımıza koymak ve bu gölgeleri ve süslemeleri kaldırmak için bir compiz ayarı yapacağız.
ccsm
(yüklü olduğunu varsayarak)
Şimdi aşağıdaki betiği kopyalayıp yapıştırmak ve yapıştırmak için quote_script.py olarak kaydedin.
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()
Değişim quotefile ve aralık dosya konumu ve alıntı görüntüleme süresini uygun. Terminalde yazarak başlangıç uygulamalarına
gidin : gnome-session-properties . Ekle'yi tıklayarak yenisini ekleyin ve yazın:
İsim :
Günlük Alıntılar
Komut :
gnome-terminal --window-with-profile=quote_of_the_day -e "python /home/user/Documents/.../quote_script.py"
Yorum :
Girişte rastgele alıntılar göster
Bu kadar! Sonucu görmek için oturumu kapatıp tekrar açmayı deneyebilirsiniz.
- Terminal sütun ve satır değerleri ile deneme; Konum değerleri, aralıklar, yazı tipi renkleri vb. Tırnakları quotes.txt dosyasına satır satır yazmayı unutmayın.
input("Press enter...")
ve iletişim kutusunu el ile kapatmak için a eklemenizi öneririm . Ayrıca, ikili mod 'rb'
okunmuyor mu?
r
sadece düz metin okur ve \n
, \t
. Ayrıca, teklif 10 saniye içinde otomatik olarak kaybolur (kullanıcı seti).
Diyelim ki tüm alıntılarınızı bir quotes.txt
yerde (tek bir satırdaki her bir alıntı) bir dosyada saklayın , diyelim ~/Documents
. Ardından, terminal kullanarak şunları yapabilirsiniz:
Yeni bir dosya / komut dosyası oluşturun greeting.sh
sizin de ~/bin
dizinde:
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
Bir masaüstü bildirimi almak istiyorsanız, sonraki 2 satırı içine girin:
#!/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"
Alternatif olarak, bir açılır pencerenin (mesaj kutusu) görünmesini istiyorsanız, zenity
bunun yerine kullanın notify-send
:
zenity --info --title "Quote of the day" --text "$quote"
Dosyayı kaydedin ve kapatın.
Dosyayı gerçekleştirilebilir hale getirin:
chmod +x ~/bin/greetings.sh
Ara Dash için Başlangıç Uygulamaları , açmak ve tıklayın ekleyin .
/home/$USER/bin/greetings.sh
( $USER
kullanıcı adınızla değiştirin ).İlgili: Giriş sırasında kullanıcı adı ve tarihi olan bir mesajı nasıl gösteririm?
quote=$(shuf -n 1 "$quotes")
- sed veya wc çağrılarına gerek kalmaz, çünkü shuf -n 1 file
size tek bir dosyadan rastgele bir satır verir.
Buradaki birden fazla cevap, hiçbiri benim için yeterince basit değildi.
Durumumda yerel bir dosyadan farklı kaynaklar için duvar kağıtlarına rastgele alıntılar yazabilen Variety'yi kurdum .