EN JA
MENU.4TH(8)
MENU.4TH(8) FreeBSD System Manager's Manual MENU.4TH(8)

名称

menu.4thFreeBSD の動的なメニューブートモジュール

解説

menu.4th という名前のファイルは、慎重に名前付けられた環境変数のシステムを通して管理された動的ななメニューシステムを表示するために設計された 1 組のコマンドです。それら自体によって menu.4th のコマンドは、ほとんどの用途には十分ではありません。最も一般的な状況のための以下の例と、追加コマンドのための loader(8) を参照してください。

menu.4th で提供されるコマンドのいずれかを使用する前に、次のコマンドを通してインクルードされなければなりません:

include menu.4th

この行は、デフォルトで /boot/menu.rc ファイルに存在しているので、通常のセットアップで必要ではありません (そして、再発行されるべきではありません)。

それによって提供されるコマンドは、次の通りです:

menu-init
メニュー境界ボックスを描画し、いくつかの内部の状態変数を初期化します。これは、いかなる他のメニュー関連の関数の前に呼び出されるべきです。
menu-display
(以下に文書化された環境変数を通して設定される) メニューを描画し、ユーザ動作を待って、キーボード入力をブロックします。
menu-erase
メニュー境界ボックス内の画面領域をクリアします。
menu-redraw
menu-erase を呼び出し、次に、メニューを再描画します。
menu-unset
新しいメニューのための状態をクリアし、個々のメニュー項目に関連した環境変数を未設定とします。
menu-clear
menu-unset を呼び出し、次に menu-erase を呼び出します。

振る舞いに影響する環境変数は、次の通りです:

loader_color
NO” (大文字と小文字を区別しません) または“ 0”に設定されるなら、メニューは、カラーなしで表示されます。デフォルトは、利用できるところならどこでも ANSI カラーを使用することです。シリアルブートが有効にされるなら、カラーは、デフォルトで無効にされます。カラーの機能は、メニュー項目の左に現われる数値のための ANSI ボールドの使用と以下に説明されている特別の“ ansi”変数の使用を含んでいます。
autoboot_delay
キーが押されないなら、 (デフォルトで、 ブートする) menu_timeout_command を実行する前に、ウェートする menu-display の秒数。“ NO” (大文字と小文字を区別しません) に設定されるなら、 menu-display は、ユーザ入力を待ち、 menu_timeout_command を決して実行しません。“ -1”に設定されるなら、 menu-display は、 autoboot プロセスの割り込みとローダプロンプトへのエスケープの両方を防ぐために直ちにブートします。デフォルトは、“ 10”です。追加情報については、 loader(8) を参照してください。
menu_timeout_command
キーが押されないなら、 autoboot_delay 秒の後に実行されるコマンド。デフォルトは、 boot です。
loader_menu_frame
ブートメニューのまわりで描画するための望ましいボックススタイルを設定します。指定できる値は、次の通りです: “ single” (the default), “ double”, と“ none”です。
loader_menu_timeout_x
タイムアウトカウントダウンテキストの望ましいカラム位置を設定します。デフォルトは、4 です。
loader_menu_timeout_y
タイムアウトカウントダウンテキストの望ましい行の位置を設定します。デフォルトは、23 です。
loader_menu_title
メニューの上に表示されるテキスト。デフォルトは、“ Welcome to FreeBSD”です。
loader_menu_title_align
デフォルトは、メニューの上の中心にある loader_menu_title を整列させることです。 (それぞれ) タイトルを左または右に揃えて表示する代わりに“ left”または“ right”に、これを設定することができます。
loader_menu_x
ブートメニューの望ましいカラム位置を設定します。デフォルトは、5 です。
loader_menu_y
ブートメニューの望ましい行の位置を設定します。デフォルトは、10 です。
menu_caption[x]
番号が付けられたメニュー項目“ x”のために表示されるテキスト。
menu_command[x]
メニュー項目“ x”に関連している数値が押されたとき、実行されるマンド。いくつかの考えについては、以下のインクルードされる FICL 単語のリストを参照してください。
menu_keycode[x]
メニュー項目“ x”に関連しているオプションの 10 進 ASCII キーコードe。押されるとき、 menu_command[x] の実行を引き起こします。
ansi_caption[x]
loader_color が (enabled by default) (デフォルトで有効にされた) に設定されているなら、 menu_caption[x] の代わりにメニュー項目“ x”のために、この見出し (caption) を使用します。
toggled_text[x]
menu_command[x] が“ toggle_menuitem” (または、それの派生物) に設定されるところで、メニュー項目に関して、表示されたテキストは、これと menu_caption[x] の間を切り換えます。
toggled_ansi[x]
loader_color が有効にされた (default) であるとき、使用されることを除いて、 toggled_text[x] に似ています。
menu_caption[x][y]
menu_command[x] が“ cycle_menuitem” (または、それの派生物) に設定されるところで、メニュー項目に関して、表示されたテキストは、これと他の menu_caption[x][y] エントリの間で循環します。
ansi_caption[x][y]
loader_color が有効にされた (default) であるとき、使用されることを除いて、 menu_caption[x][y] に似ています。
menu_acpi
与えられたメニュー項目に関連している数“ x”に設定されるとき、そのメニュー項目は、 i386 互換のハードウェアで実行しているときのみ現れ、 hint.acpi.0.rsdp は、設定され ( loader(8) によって検出されるように、ハードウェア ACPI サポートの存在を示す)、 hint.acpi.0.disabled は、設定されません。非 i386 ハードウェアで、“ menu_acpi”メニュー項目の後に設定されたメニュー項目は、 (失われた ACPI メニュー項目を補うために) 低い数を使用しますが、予想されるように機能し続けます。 ( loader(8) によって検出されるような) ACPI サポートを欠いている i386 互換ハードウェアで、その後のメニュー項目は、それらの関連した数を保持します。
hint.acpi.0.rsdp
ACPI サポートがブート時に検出されたとき、i386 互換ハードウェアで loader(8) によって自動的に設定します。 (設定されるなら) “ menu_acpi”メニュー項目の表示に作用します。
hint.acpi.0.disabled
menu_acpi メニュー項目の表示に作用します。設定されるなら、メニュー項目は、 toggled_text[x] ( loader_color が設定されるなら、 toggled_ansi[x]) を表示し、そうでなければ、 menu_caption[x] ( loader_color が設定されるなら、 ansi_caption[x]) を表示します。
menu_options
数値“ x”に設定されるとき、単一の空白行と“ Options”ヘッダは、(設定されるなら) menu_caption[x-1]menu_caption[x] の間に挿入されます。
menu_reboot
設定されるなら、組み込みの“ Reboot”メニュー項目を最後に設定されたメニュー項目の終りに追加します。 menu_options が設定されるなら、“ Reboot”メニュー項目は、“Options”セパレータの前に挿入されます。

さらに、次の FICL 単語を提供します:

arch-i386? ( -- BOOL)
i386 で真 (-1) を返し、そうでなければ、偽 (0) を返します。
acpipresent? ( -- BOOL)
ACPI が存在するなら、真 (-1) を返し、そうでなければ、偽 (0) を返します。
acpienabled? ( -- BOOL)
ACPI が有効にされるなら、真 (-1) を返し、そうでなければ、偽 (0) を返します。
toggle_menuitem ( N -- N)
menu_caption[x]toggled_text[x] の間でメニュー項目“ N”を切り換えます (ここで、“ N”は、“ x”のための ASCII 10 進値を表します)。
cycle_menuitem ( N -- N)
menu_caption[x][y] エントリの間のメニュー項目“ N”を循環します (ここで、 N は、 x のための ASCII 10 進値を表します)。

上記の“ x”のすべての値に関して、 1 から 9 の間の任意の数を使用します。すみません、2 桁は、現在、サポートされていません。

関連ファイル

/boot/loader
loader(8)
/boot/menu.4th
menu.4th 自体。
/boot/loader.rc
loader(8) のブートストラップのスクリプト。

使用例

簡単なブートメニューは、次の通りです:

include /boot/menu.4th 
menu-init 
set menu_caption[1]="Boot" 
set menu_command[1]="boot" 
set menu_options=2 
set menu_caption[2]="Option: NO" 
set toggled_text[2]="Option: YES" 
set menu_command[2]="toggle_menuitem" 
set menu_timeout_command="boot" 
set menu_reboot 
menu-display

歴史

コマンドの menu.4th セットは、 FreeBSD 9.0 ではじめて登場しました。

作者

コマンドの menu.4th セットは、 Devin Teske <dteske@FreeBSD.org>によって書かれました。
August 6, 2013 FreeBSD