引用が大好きです。これで、コンピューターを起動するたびに、歓迎のメモのように画面に引用が表示されます。ubuntu13.04でこれを行う方法はありますか。
引用が大好きです。これで、コンピューターを起動するたびに、歓迎のメモのように画面に引用が表示されます。ubuntu13.04でこれを行う方法はありますか。
回答:
ログイン時に、引用の内容を含む単純な禅ダイアログをポップアップできます。
次のコードをスクリプトに追加し、そのスクリプトを「スタートアップアプリケーション」に追加します
zenity --info --text=$quote --title="A Quote"
fortune
fortune-mod
パッケージ(sudo apt-get install fortune-mod
)をインストールすると、fortune
次のようにコマンドをスクリプトに統合できます。
zenity --info --text="$(fortune literature)" --title="A Quote" --no-wrap
スクリプトに入れずに、そのコマンドをスタートアップアプリケーションに追加するだけです。
このliterature
オプションは、特に引用が必要であることを指定するために使用されます。そうしないと、ジョーク、なぞなぞ、その他の「幸運」が得られます。
注:一部の運命は非常に長く、上記のコマンドの--text="$(fortune -s literature)"
代わりに使用--text="$(fortune literature)"
して短い引用符のみを印刷します。
下のスクリーンショット:
Fortuneには、取得する引用符の種類(文学、謎など)をカスタマイズするためのさまざまなオプションもあります。詳細については、fortuneのマニュアルページを参照してください。これらのオプションを使用するにfortune
は、上記のコマンドをに変更しますfortune SOME_OPTION
。
fortune
コマンドを情報のようなコマンドに置き換えることができます(見つけることができます)。
装飾を凝らしたい場合(壁紙に透明な引用を表示する、リマインダーを入力するなど):
これで、見積表示用の端末プロファイルが作成されました。
次に、compiz設定を行ってデスクトップの背景に配置し、それらの影と装飾を削除します。
ccsm
ます(インストール済みの場合)
以下のスクリプトをコピーしてgeditに貼り付け、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()
ファイルの場所と見積もりの表示時間に合わせて、quotefileと間隔を変更します。terminal:gnome-session-propertiesと入力して、スタートアップアプリケーションに
移動します。[ 追加 ]をクリックして新しいものを追加し、次を入力します。
名前:
毎日の引用
コマンド:
gnome-terminal --window-with-profile=quote_of_the_day -e "python /home/user/Documents/.../quote_script.py"
コメント:
ログイン時にランダムな引用符を表示する
それでおしまい!ログアウトしてからもう一度ログインして、結果を確認してください。
-端末の列と行の値を試してください。位置の値、間隔、フォントの色など。quotes.txtファイルに1行ずつ引用符を入れることを忘れないでください。
input("Press enter...")
、ダイアログを手動で閉じるためにを追加することをお勧めします。また、バイナリモードを'rb'
読み取っていませんか?
r
単なるテキストを読み、\n
、\t
。また、見積もりは10秒で自動的に消えます(ユーザー設定)。
quotes.txt
(各行を1行に引用する)という1つのファイルにすべての引用を保存して、どこかに保存したとしましょう~/Documents
。次に、ターミナルを使用して次のことができます。
ディレクトリに新しいファイル/スクリプトを作成greeting.sh
します~/bin
。
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行を内部に入れます。
#!/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"
または、ポップアップ(メッセージボックス)を表示する場合は、zenity
代わりに使用しますnotify-send
。
zenity --info --title "Quote of the day" --text "$quote"
ファイルを保存して閉じます。
ファイルを実行可能にします:
chmod +x ~/bin/greetings.sh
Dashでスタートアップアプリケーションを検索し、開いて[ 追加 ] をクリックします。
/home/$USER/bin/greetings.sh
(チェンジ$USER
ユーザー名を持ちます)。quote=$(shuf -n 1 "$quotes")
。sedまたはwc呼び出しは必要ありませんshuf -n 1 file
。ファイルからランダムな行を単独で提供するからです。