Fortune (UNIX)

fortuneとは、Unix系OSのコマンドの一つ。フォーチュン・クッキーを模したプログラムであり、歴史上の偉人の名言や有名人の発言などを一部引用したメッセージを無作為に表示する。 本プログラムと構成ファイルの名前の由来となっている「フォーチュン・クッキー」とは、金言名句や運勢の書かれたおみくじが中に仕込まれた菓子のことである。fortuneはそれを模したものであり、コンソール上に有名人の発言などを表示させることができる。古くはVersion 7 Unixの時代に登場したプログラムであり、現在Linux用などとして配布されているものは、ケン・アーノルドによって作成されたBSD由来のバージョンが元となっている。 普通にコマンドを入力して表示させる等の他、ログイン時・ログアウト時に引用句をランダムに表示させる、といったように使う。ユーザーのホームディレクトリの.profileまたは.logoutファイルにこのコマンドを書き込んでおくと、現代でも端末エミュレータによるセッション開始時（あるいは終了時）にメッセージが表示される。またウィンドウ環境でGUI的に表示するものや、Unix系以外用のバージョンもある。 fortuneは通常、プログラム本体とともに引用句が収録されたテーマファイル集がセットで配布されており、そのデータベースからランダムに選び出してメッセージを表示させている。テーマファイル集の中には、まさに金言名句というべき偉人の発言の引用で占められたファイルもあるが、アニメの登場人物の名言、ハッカー一流のジョーク、どうでもいい雑学的知識、あるいは意味不明なポエムといった、金言名句とは到底呼べない発言が「引用句」の名目で収録されているファイルがメインであるバージョンも多く、ジョークプログラムとしての要素も強い。 XScreenSaver（英語版）（画面に適当な文字列を表示させるUNIX系OS用スクリーンセーバー）のいくつかのモードの入力テキストを生成するためにも利用される。 fortuneの引用句データベースはUNIXユーザーの嗜好に極めて偏っており、したがって、計算機科学、プログラミングについての変てこなジョークが多く含まれている。他にもSF（例えば、スタートレック、ツィベリアダ（英語版）、ドクター・フー、銀河ヒッチハイク・ガイドなど）、漫画のヅィッピー・ザ・ピンヘッド（英語版）、アンブローズ・ビアスやデーブ・バリー（英語版）といった、往年のハッカーに非常に好まれた作品からの引用が含まれている一方で、欧米で伝統的に親しまれている定番の名言やジョークなども幅広く含まれている。いくつかのバージョンにはいわゆる「お下品な(offensive)」言葉が含まれているが、それらはコマンドラインオプションとして-a（all）を与えて、データの全てを選出対象とするか、-o（offensive）オプションにより意図的に選択しない限りは表示されない。 fortuneの引用句ファイルの一つ"goedel"には、fortuneコマンド自身についての発言が含まれている。ここにfortuneプログラムの目的が集約されているといえるだろう。 Has anyone realized that the purpose of the fortune cookie program is to defuse project tensions? When did you ever see a cheerful cookie, a non-cynical, or even an informative cookie? Perhaps inadvertently, we have a channel for our aggressions. This still begs the question of whether the cookie releases the pressure or only serves to blunt the warning signs. Long live the revolution! Have a nice day. 意訳 まったく楽しくない、皮肉たっぷりの、有益なことなどこれっぽっちもない迷言ばかり 表示するこのfortuneプログラムが、プロジェクトの緊張を和らげるために作られたものだと 気付いた者はいるだろうか？ おそらく、自分で意識しているかどうかに関わらず、我々は誰しも、自らの中に 秘められた攻撃性を露わにさせるような回路を持っているのだ。fortuneとは、そんな我々の 感情の回路をオープンにすることで、溜まったストレスを解放してくれるための物なのか？あるいは そういう難しいことはなく、単にどうでもいい金言名句を表示するだけのプログラムなのか？ その答えは君自身の中にある。 革命よ、永遠なれ! ごきげんよう。 よくあるバージョンのfortuneでは、2つのファイルが使用される。 1つは、引用句のリストであり、各引用句がテキストファイルに記載され、文字"%"のある行で区切られている。 もう1つは、strfile(8)プログラムで、引用句のテキストファイルから生成された、ランダムアクセス用データファイルである。 ウェブページ上で引用句を表示させたり、データファイルを生成するのではなく直接テキストファイルを利用したりするバージョンも存在する。 コマンドライン版のfortuneの挙動を変化させるいくつかの共通のオプションが存在する。 ^ 昔のハードウェアによる端末であれば画面をクリアしなければ表示が残って見えていたが、端末エミュレータでは何かひと工夫が必要だろう。 ^ http://fortune-gui.sourceforge.net/ ^ fortuneプログラムで必ず使われているとは限らないが、全体の個数が不明なデータを端から順番になめながら、そのうちのどれか1つを均等な確率になるように選び出す、というちょっとしたアルゴリズムがある。ウェブページのアクセスカウンタのようにして表示する場合は、単に順番に表示するだけでランダムに見える、というハックもある。 ^ strfile(1) – Linux User Commands Manual (en) sl - slコマンド。fortuneと同じくUNIXの定番ジョークプログラム。 Jar of Fortune Files - 各種システム用のfortuneファイルのアーカイブ。 fortune page from Section 6 of the unix 8th/ manual - オリジナルのUNIX fortune(6)コマンドのマニュアルページ。 fortune(6) – Linux Games Manual (en) Man page of FORTUNE - マニュアルの日本語訳。 Fortune for today - UNIX fortuneプログラムのシンプルなオンラインバージョン。 Fortunemod - Fortune Cookie Generator - fortuneのウェブ・スライド・ショー。 Gigaset Fortune-RSS generator - ランダムな（もしくは設定した）fortuneのRSSフィードを生成するウェブサイト（とりわけ、シンプルなRSSリーダー機能が付いている機器、例えばVoIPフォン向け）。 PHP-fortune-script - fortuneファイルを読みこむもしくは表示するためのPHPフレームワーク。 ftp://ftp.ibiblio.org/pub/linux/games/amusements/fortune/ – fortune-mod [1] プログラムのソースコード。 オリジナルの非「お下品」なfortuneのみ全てが含まれるウィキ。 fortunes-ja Weblog - fortuneクッキーの和訳(一部) fortune - 日本語データ 表示 編集 表示 編集