screenでfortuneプログラムを実行させたいけど、うまくできない。

fortuneプログラムのインストール

MacOSXでは最初から入っていないようなので、mac portでインストールする。

% sudo port install fortune

そうすると、/opt/local/share/games/fortuneにfortune用のファイルが配置される。

fortunes	fortunes2-o	murphy		startrek
fortunes-o	fortunes2-o.dat	murphy-o	startrek.dat
fortunes-o.dat	limerick	murphy-o.dat	zippy
fortunes.dat	limerick.dat	murphy.dat	zippy.dat

fortuneプログラムで遊んでみる

% fortune
It is impossible to enjoy idling thoroughly
unless one has plenty of work to do.
		-- Jerome Klapka Jerome

引数を何も指定しないで実行するとfortunesファイルから格言が表示される。

格言のファイルを指定するには引数を与えてやる。

% fortune zippy
I'm DESPONDENT ... I hope there's something DEEP-FRIED under this
miniature DOMED STADIUM ...

ファイルzippyから格言が表示される。

英語では面白くないのでfortuneファイルを作ってみる

例えば、以下のように%を区切り文字としてテキストファイルhogeを作る。

おはよう
%
こんにちは
%
おやすみ

このファイルをstrfileコマンドでfortuneファイルに変換する。

% strfile hoge

するとhoge.datというfortune用ファイルが作成される。
このファイルhoge.datとテキストファイルhogeを/opt/local/share/games/fortuneに移動させて、以下のようにコマンドを実行する。

% fortune hoge
おはよう

このようにファイルhogeから格言が表示される。

screenからfortuneを実行させたい

idle 10
blankerprg fortune hoge

.screenrcにこのような記述をしてscreenを起動させて、fortuneプログラムの実行を待ってみるとエラーメッセージが出力されてscreenが終了してしまう。

エラーメッセージは以下の通り。
 ***********はホスト名。

% screen
/var/run/utmp: No such file or directory
reopen fifo /tmp/screens/S-rdera/7346.ttys000.*************: No such file or directory

今、ココで止まってる。解決方法が今のところ、分からない。