fortune

UNIXの冗談プログラム"fortune"で遊んでみた。

fortuneは、警句・格言をランダムに表示する、ただそれだけのプログラムである。とりあえず、入れてみる。

# apt-get install fortune-mod fortune-min

実行してみる。

$ /usr/games/fortune
Q:      What do you call a principal female opera singer whose high C
        is lower than those of other principal female opera singers?
A:      A deep C diva.
$ /usr/games/fortune
The better part of valor is discretion.
                -- William Shakespeare, "Henry IV
$


Webを漁ってみると、fortune用のメッセージファイルがいくつか転がっていたので、落としてきた。とりあえず、銀河ヒッチハイク・ガイドのファイルを使うのはエンジニアのたしなみ。というわけで、こちらからダウンロードしてインストール。

 $ tar xzf fortune-hitchhiker.tgz
 $ sudo cp fortune-hitchhiker/hitchhiker* /usr/share/games/fortunes
 $ fortune hitchhiker
 ZAPHOD  Hey, this rock...
 FORD    Marble...
 ZAPHOD  Marble...
 FORD    Ice-covered marble...
 ZAPHOD  Right... it's as slippery as... as... What's the slipperiest
         thing you can think of?
 FORD    At the moment? This marble.
 ZAPHOD  Right. This marble is as slippery as this marble.

 - Zaphod and Ford trying to get a grip on things in Brontitall, Fit the Tenth.
 $

英語なんて読めねーよ!という人は日本語のファイルを突っ込もう。あまり種類は無い?ようだが、こちらに名言集と聖書の文句があるので、入れてみてはどうか。ただし、このファイルはEUC-JPなので、LANG=ja_JP.UTF-8な今どきの人々は文字コード変換すべし。

$ tar xzf fortune-meigen.tar.gz
$ cd fortune-meigen
$ iconv -f euc-jp -t utf8 -o meigen_utf8 meigen
$ mv meigen_utf8 meigen
$ strfile meigen
$ sudo mv meigen* /usr/share/games/fortunes
$ fortune meigen
しばしば勇気が試されるのは、死ぬことではなく、生きることだ。
                --アルフィエリ
$

ところで、メッセージファイルは簡単に自作することができるので、自分で作ってしまってもよい。ファイルは単なるテキストで、文句の間を%で区切っているだけだ。

たとえば、次の内容のテキストファイルを作る。ファイル名はparanoiaとする。

警戒を怠るな!誰も信じるな!レーザーガンを手放すな!
%
コンピュータ: 市民、あなたは幸福ですか

市民        : もちろんです、コンピュータ。幸福でいることは市民の義務です
%
舐められない靴はない
%
あなたがただ一人の生き残りならデブリーフィングはいつも速やかに完了する

次に、このファイルから.datファイルを作り、paranoia, paranoia.datの両方を/usr/share/games/fortunes/に移動させる。

$ strfile paranoia
$ sudo mv paranoia* /usr/share/games/fortunes

では、実行。

$ fortune paranoia
コンピュータ: 市民、あなたは幸福ですか

市民        : もちろんです、コンピュータ。幸福でいることは市民の義務です
$ fortune paranoia
警戒を怠るな!誰も信じるな!レーザーガンを手放すな!
$ fortune paranoia
舐められない靴はない
$

さて、fortuneをどこで呼ぶか、なのだが。俺はGNU Screenのblankerprgに設定している。~/.screenrcに次の2行を追記するのだ。

idle 1800
blankerprg /usr/games/fortune hitchhiker

screenを立ち上げて30分間放っておくと、fortuneが実行されて適当な警句が表示される。他には、~/.bash_profileに仕込んでログイン時に毎回表示させる人も多いようだ。