dtlogin コマンド
目的
CDE ログイン・サービスを実行します。
構文
dtlogin [ -config configuration_file ] [ -daemon ] [ -debug debug_level ] [ -error error_log_file ] [ -nodaemon ] [ -resources resource_file ] [ -server server_entry ] [ -session session_program ] [ -udpPort port_number ]
説明
- 明示的管理対象のローカルおよびリモート・ディスプレイ、および XDMCP 管理対象のリモート・ディスプレイの dtgreet ログイン画面を起動する。
- GUI ログイン画面から従来型端末 (キャラクター) ログインにアクセスする。
- システム依存ユーザーの認証およびログインを行う。
- 選択されたセッションを起動する。
dtlogin コマンドは、キャラクター端末で init、getty、および login が提供するサービスと同様のサービスを提供します。これらのサービスには、ログインおよびパスワードのプロンプト、ユーザーの認証、セッションの実行が含まれます。 セッション は、特定プロセスのライフタイムによって定義されます。 従来のキャラクター・ベースの端末の世界では、セッションはユーザーのログイン・シェル・プロセスです。DT のコンテキストでは、セッションは DT セッション・マネージャーです。 DT セッション・マネージャーを使用しない場合、終了オプションのあるウィンドウ・マネージャーまたはシェルを実行する端末エミュレーターのいずれかが、代表的な代替プログラムとなります。端末エミュレーターのライフタイムは実行されるシェル・プロセスのライフタイムです。 この場合、X セッションはキャラクター・ベース端末セッションのエミュレーションに縮小されます。 セッションが終了すると、dtlogin は X サーバーをリセットし、(オプションで) プロセス全体を再始動します。
dtlogin コマンドは、X Display Manager Control Protocol Version 1.0 (XDMCP) を使用してリモート・ディスプレイの管理をサポートします。 dtlogin は、XDMCP から間接照会を受け取ると、チューザー・プロセスを実行して、ディスプレイに代わって XDMCP BroadcastQuery (または指定されたホストへの XDMCP Query) を実行することができ、XDMCP ディスプレイ管理を提供する可能なホストのメニューを提供することができます。 この機能は、ホスト・メニューを提供しない X 端末で役に立ちます。
dtlogin はユーザーに表示される最初のインターフェースを提供するものであるため、簡単に使用でき、特定のサイトのニーズに従って容易にカスタマイズできるように設計されています。
ログイン・ウィンドウ
ログイン・ウィンドウを使用すると、ユーザーは、ユーザー ID とパスワードを入力し、起動セッションを選択し、起動ロケールを選択することができます。 また、ユーザーは、X サーバーをリセットしたり、X サーバーを一時的に中断してキャラクター・ログイン・プロンプトにアクセスしたりすることができます。
- ログイン・フィールド
- ユーザーが ID を入力できる入力フィールドを提供します。
- パスワード・フィールド
- ユーザーがパスワードを入力できる入力フィールドを提供します (エコーなし)。
- 「OK (了解)」ボタン
- ユーザーを認証し、セッションを起動します。
- 「Clear (消去)」ボタン
- ログイン・フィールドおよびパスワード・フィールドを消去します。
- オプション
- ユーザーはロケール名とログイン・セッション・タイプを選択できます。
また、ユーザーは、X サーバーを再始動したり、キャラクター・ログイン・プロンプト (ローカル・ディスプレイ用) に切り替えたりすることができます。
「Options (オプション)」メニューの内容は次のとおりです。
- 「Languages (言語)」
- 「Languages (言語)」メニューを表示します。 ログイン画面の「Options (オプション)」メニューから言語を選択すると、ログイン画面が即時にローカライズされ、次のセッションのために LANG 変数が設定されます。 ログイン画面のローカリゼーションと LANG の設定は、セッションが終了するとデフォルト値に戻ります。 このメニューの内容は、システムにインストールされたロケールによって異なる場合があります。 ロケールは languageList リソースを使用して指定変更することができます。 C のデフォルト・ロケールは、language リソースを使用して指定変更できます。 指定されたシステム・ロケールまたは languageList ロケールは、「Languages (言語)」メニューのメニュー項目として表示されます。 languageName リソースを使用すると、特定のロケール名について、表示される代替テキストを指定できます。
- 「No-windows (ウィンドウなし)」
- キャラクター・ログイン・プロンプトを表示します (ローカル・ディスプレイのみ)。
- 「Reload Login (再ロード・ログイン)」
- X サーバーを再始動し、ログイン画面に戻ります。
- 「Resources (リソース)」
- 使用されるリソースをリストします。
- 「Sessions (セッション)」
- 「Sessions (セッション)」メニューを表示します。
ユーザーは、ログインしたときに開始するセッション・タイプを選択できます。
以下のメニュー項目があります。
- 「DT Session (DT セッション)」
- 通常のデスクトップ・セッション (Xsession) を開始します。
- 「Fail-safe Session (復旧セッション)」
- 復旧セッション (Xfailsafe) を開始します。
- 「Help (ヘルプ)」
- ヘルプ・メッセージを表示します。
サーバーの制御
dtlogin コマンドは、POSIX シグナルを使用してローカル・サーバーを制御します。 SIGHUP シグナルにより、サーバーがリセットされ、すべてのクライアント接続がクローズされ、その他のクリーンアップ処理が実行されると予想されます。 また、SIGTERM シグナルにより、サーバーが終了すると予想されます。 しかし、これらのシグナルが予想通りのアクションを実行しない場合は、resetSignal および termSignal リソースで代替シグナルを指定することができます。
XDMCP を使用しないリモート・サーバーを制御するためには、dtlogin はディスプレイ上のウィンドウ階層を検索し、KillClient X プロトコル要求を使用して、次のセッション用に端末のクリーンアップを試みます。 しかし、ウィンドウが作成されたクライアントのみが検出されるため、すべてのクライアントが実際に kill されるとは限りません。 XDMCP は、より確実なメカニズムを提供します。dtlogin が初期接続をクローズすると、セッションが終了し、端末は他のすべての接続のクローズが必要になります。
dtlogin の制御
dtlogin コマンドは、SIGHUP と SIGTERM の 2 つのシグナルに応答します。 dtlogin は、SIGHUP に送信されると、構成ファイルおよび servers リソースによって指定されたファイルを再読み取りして、追加または除去されたエントリーがあるかどうか判別します。新しいエントリーが追加された場合、dtlogin は関連したディスプレイ上でセッションを開始します。 除去されたエントリーは即時に使用不可にされます。つまり、進行中のセッションは通知なしに終了し、新しいセッションは開始されません。 SIGTERM に送信された場合は、dtlogin は進行中のすべてのセッションを終了し、コマンドも終了します。 これはシステムのシャットダウンに使用できます。
国際化対応
すべてのラベルおよびメッセージはローカライズ可能です。 dtlogin.cat メッセージ・カタログには、デフォルト・ラベルおよびデフォルト・メッセージのローカライズされた表記が含まれています。 dtlogin コマンドは、LANG 環境変数で指示された適切なメッセージ・カタログを読み取って、ローカライズされた文字列を表示します。 認証画面のオプションの 1 つを使用すると、ユーザーはデフォルトの言語を後続セッション用に指定変更することができます。 認証画面が選択された言語用にローカライズされている場合、画面はその言語で再表示されます。画面がローカライズされていない場合は、デフォルトの言語で表示されます。 いずれの場合も、LANG 環境変数は結果のセッション用に適切に設定されます。
ディスプレイのデフォルトの言語を変更するには、dtlogin 構成ファイル内でリソース言語が使用可能です。 認証画面に表示されるデフォルトの言語セットを指定変更するには、dtlogin 構成ファイル内で languageList リソースが使用可能です。 ロケール名から「Language (言語)」メニューで表示されるテキストへのマッピングを提供するために、languageName リソースが使用可能です。
認証と監査
dtlogin コマンドは、PAM によって使用可能にされるサービス名 dtlogin のログイン・サービスです。 dtlogin クライアントは、従来のローカル UNIX ログインおよび監査のほかに、PAM 認証をサポートします。 Kerberos や B1 などの追加の認証または監査機能が、個別ベンダーによって追加されることがあります。
システム全体の認証に PAM を使用するには、root ユーザー・アクセス権を確立し、 /etc/security/login.cfg ファイルの usw スタンザの auth_type 属性の値を PAM_AUTH
に変更します。
dtlogin auth required /usr/lib/security/pam_aix
dtlogin account required /usr/lib/security/pam_aix
dtlogin password required /usr/lib/security/pam_aix
dtlogin session required /usr/lib/security/pam_aix
X サーバーのセキュリティー
X サーバーでは、ユーザー・ベースのアクセス制御とホスト・ベースのアクセス制御の両方が提供されます。 デフォルトでは、dtlogin は X サーバーに対してユーザー・ベースのアクセス制御 (MIT-MAGIC-COOKIE-1) を使用します。 このレベルのセキュリティーでは、ユーザー単位でのアクセス制御が可能です。 このアクセス制御方式では、クライアントが渡した許可データがサーバー上の許可データに一致した場合に、クライアントはアクセスを許可されます。 ユーザーがログインすると、この許可データはデフォルトで $HOME/.Xauthority ファイルに保管されて、保護されます。
しかし、非セキュア・ネットワークのある環境では、ホスト・ベースのアクセス制御メカニズムの使用が望ましい場合があります。ユーザー・ベースのアクセス制御の場合、どのようなホストでも秘密鍵を発見しさえすれば接続が可能になるという弱点があります。 また、ユーザー・ベースのアクセス制御には、R2 または R3 クライアントがサーバーに接続できないという欠点もあります。
authorize リソースは、dtlogin でユーザー・ベースのアクセス制御とホスト・ベースのアクセス制御のいずれを使用するかを制御します。 詳しくは、xhost コマンドおよび xauth コマンドを参照してください。
「Resources (リソース)」
dtlogin コマンドは dtlogin 構成ファイルの内容によって制御されます。このファイルのデフォルトは /usr/dt/config/Xconfig です。 リソースの一部は dtlogin の一般的な動作を制御します。その他のリソースは特定のディスプレイ用として指定できます。
一般リソース
項目 | 説明 |
---|---|
accessFile |
|
authDir |
|
autoRescan |
|
daemonMode |
|
debugLevel |
|
errorLogFile |
|
errorLogSize |
|
exportList |
|
fontPathHead |
|
fontPathTail |
|
keyFile |
|
lockPidFile |
|
networkDevice |
|
pidFile |
|
removeDomainname |
|
requestPort |
|
servers |
|
sysParmsFile |
|
timeZone |
|
wakeupInterval |
|
ディスプレイ・リソース
dtlogin コマンドのディスプレイ・リソースは、すべてのディスプレイまたは特定の 1 つのディスプレイについて指定することができます。特定のディスプレイを指定するには、Dtlogin
と最終リソース名セグメントの間のリソース名にディスプレイ名を挿入します。例えば、Dtlogin.expo_0.startup
は、expo:0
ディスプレイ上の起動シェル・ファイルを定義するリソースの名前です。リソース・マネージャーは、リソースの名前をその値からコロンで分離し、リソース名の各部分をドットで区切ります。そのため、dtlogin は、リソース名を生成するときにドット (.
) およびコロン (:
) の代わりに下線 (_
) を使用します。
また、ディスプレイ名の代わりにクラス名を挿入することにより、クラス用にリソースを指定することもできます。XDMCP の管理対象でないディスプレイの場合は、servers リソースで参照されるファイル内にクラス所属を指定することができます。XDMCP を使用するディスプレイでは、XDMCP パケットの一部としてクラス所属が提供されます。
項目 | 説明 |
---|---|
authorize |
|
authName |
|
authFile |
|
chooser |
|
cpp |
|
environment |
|
failsafeClient |
|
grabServer |
|
grabTimeout |
|
language |
|
languageList |
|
languageName |
|
openDelay |
|
openRepeat |
|
openTimeout |
|
pingInterval |
|
pingTimeout |
|
reset |
|
resetForAuth |
|
resetSignal |
|
resources |
|
session |
|
setup |
|
startAttempts |
|
startup |
|
systemPath |
|
systemShell |
|
terminateServer |
|
termSignal |
|
userAuthDir |
|
userPath |
|
xdmMode |
|
xrdb |
|
ロゴ・リソース
Dtlogin*logo*
の前書きを付ける必要があります。
項目 | 説明 |
---|---|
bitmapFile |
|
background |
|
topShadowPixmap |
|
Dtlogin*greeting*
の前書きを付ける必要があります。
項目 | 説明 |
---|---|
foreground |
|
background |
|
fontlist |
|
labelString |
|
perLabelString |
|
alignment |
|
マット・リソース
Dtlogin*matte.
の前書きを付ける必要があります。
項目 | 説明 |
---|---|
width |
|
height |
|
ラベル・リソース
string Dtlogin*.
という前書きを付ける必要があります。
項目 | 説明 |
---|---|
labelFont |
|
textFont |
|
フラグ
フラグは、-config を除き、すべて構成ファイル内でリソースとしても指定できる値を指定します。典型的な場合は、カスタマイズはコマンド・ライン・オプションではなく構成ファイルを使用して行われます。これらのフラグは、デバッグおよび 1 回限りのテストで最も役に立ちます。
項目 | 説明 |
---|---|
-config configuration_file | 残りの構成パラメーターを指定するリソース・ファイルを指定します。このファイルは、dtlogin のデフォルト Xconfig ファイルに置き換わります。 詳しくは、『Xconfig ファイル』のセクションを参照してください。 |
-daemon | daemonMode リソースの値として true を指定します。この値により、dtlogin は、初めて起動されたときに (他のデーモンのホストと同様に) すべてのファイル・ディスクリプターをクローズし、制御端末を関連付け解除して、バックグラウンドに退きます。 |
-debug debug_level | debug_level リソースの数値を指定します。非ゼロ値を指定すると、dtlogin はデバッグ・ステートメントを端末に表示します。また、この指定により、daemonMode リソースが使用不可にされ、dtlogin は同期実行を強制されます。 |
-error error_log_file | error_log_file リソースの値を指定します。詳しくは、『Xerrors』ファイルのセクションを参照してください。 |
-nodaemon | リソースの値として false を指定します。 |
-resources resource_file | resource_file リソースの値を指定します。詳しくは、『Xresources ファイル』のセクションを参照してください。 |
-server server_entry | server_entry リソースの値を指定します。詳しくは、『Xservers ファイル』のセクションを参照してください。 |
-udpPort port_number | requestPort リソースの値を指定します。この指定により、dtlogin が XDMCP 要求をモニターするポート番号が設定されます。XDMCP は既知の登録済み udp ポート 177 を使用するため、デバッグの場合を除いてこのリソースの変更は避けてください。 |
-session session_program | session_program リソースの値を指定します。詳しくは、『Xconfig ファイル』のセクションを参照してください。 |
環境変数
dtlogin コマンドは、以下のデフォルト環境でユーザーのセッションを起動します。
項目 | 説明 |
---|---|
DISPLAY | 関連したディスプレイ名に設定されます。 |
EDITOR | /usr/dt/bin/dtpad に設定されます。 |
HOME | ユーザーのホーム・ディレクトリーに設定されます。 |
KBD_LANG | 適用可能な言語の LANG の値に設定されます。 |
LANG | 現行の NLS 言語があれば、その言語に設定されます。 |
LC_ALL | 現行の NLS 言語があれば、その言語に設定されます。 |
LC_MESSAGES | 現行の NLS 言語があれば、その言語に設定されます。 |
LOGNAME | ユーザー名に設定されます。 |
/usr/mail/$USER に設定されます (システム依存)。 | |
PATH | userPath リソースの値に設定されます。 |
USER | ユーザー名に設定されます。 |
SHELL | ユーザーのデフォルト・シェルに設定されます (/etc/passwd から)。 |
TERM | dtterm に設定されます。 |
TZ | timeZone リソースの値またはシステム・デフォルトに設定されます。 |
XAUTHORITY | 権限ファイルに設定されます。 |
環境リストへの追加
- exportList リソースを使用すると、親プロセスから dtlogin プロセスに提供される変数をエクスポートすることができます。このメソッドで指定される変数は、ディスプレイの X サーバー・プロセスとユーザーのセッションの両方で使用でき、デフォルトの設定をすべて指定変更します。このリソースは、少なくとも 1 つのスペースまたはタブで区切られた name=value の文字列を受け入れます。
- environment リソースは dtlogin 構成ファイルで使用できます。これを使用すると、環境変数をグローバルにまたはディスプレイ単位で設定することができます。
このメソッドで指定される変数は、ディスプレイの X サーバー・プロセスとユーザーのセッションの両方で使用でき、デフォルトの設定をすべて指定変更します。このリソースは、少なくとも 1 つのスペースまたはタブで区切られた name=value の文字列を受け入れます。この文字列を構文解析するシェルはないため、指定する値は定数でなければなりません。次に例を示します。
Dtlogin*environment:MAIL_HOST=blanco MAIL_SERVER=pablo
注: LANG 環境変数と TZ 環境変数には、構成ファイル内に専用のリソースがあります。これらの環境変数を環境で設定してはなりません。 - シェルに夜処理が必要な環境変数または他の環境変数の値に依存する環境変数は、起動スクリプト Xsession で指定できます。これらの変数はディスプレイ上のすべてのユーザーの環境にロードされますが、X サーバー・プロセスにはロードされません。これらの変数は同じ変数の前の設定をすべて指定変更します。Xsession スクリプトは、環境変数を設定するために ksh 構文を受け入れます。
次に例を示します。
MAIL=/usr/mail/$USER
- パーソナル環境変数は、$HOME/.dtprofile スクリプト・ファイル内にユーザー単位で設定できます。dtlogin コマンドは、このファイル内のコマンドのために、sh、ksh、または csh のいずれかの構文を受け入れます。このファイル内のコマンドは環境変数を設定するものだけで、端末入出力を実行するものではありません。ただし、tset または stty は例外です。.dtprofile の最初の行が
#!/bin/sh、 #!/bin/ksh
、または#!/bin/csh
の場合は、dtlogin は該当するシェルを使用して .dtprofile を構文解析します。それ以外の場合は、ユーザーのデフォルト・シェル ($SHELL) が使用されます。
終了状況
次の終了値が戻されます。
項目 | 説明 |
---|---|
0 | 正常終了。 |
>0 | エラーが発生しました。 |
例
- CDE ログイン・サービスをデーモンとして開始するには、次のように入力します。
/usr/dt/bin/dtlogin -daemon
- CDE ログイン・サービスをデバッグ・モードで開始するには、次のように入力します。
/usr/dt/bin/dtlogin -debug 1
位置
/usr/dt/bin/dtlogin
標準エラー
Login incorrect; please try again.
Unable to change to home directory.
Sorry. Maximum number of users already logged in.
Login error, invalid user ID.
Login error, invalid group ID.
Login error, invalid audit ID.
Login error, invalid audit flag.
Logins are currently disabled.
Your current password has expired.
ファイル
dtlogin コマンドは、広い範囲の環境で動作するように設計されており、特定のシステムに適するように変更できる 1 組の構成ファイルを提供します。デフォルトの dtlogin 構成ファイルは /usr/dt/config に入っています。ただし、Xsession は例外で、/usr/dt/bin に保管されています。構成ファイルは次のとおりです。
項目 | 説明 |
---|---|
/usr/dt/config/Xconfig | 他の dtlogin 構成ファイルおよび dtlogin の動作を指定します。 |
/usr/dt/config/Xaccess | XDMCP サービスを要求しているディスプレイからのアクセスを制御します。 |
/usr/dt/config/Xservers | dtlogin が明示的に管理するディスプレイのリストが入っています。 |
/usr/dt/config/Xresources | ログイン画面の外観を指定するリソース定義が入っています。 |
/usr/dt/config/Xsetup | ログイン画面を表示する前に root として実行されるスクリプト。 |
/usr/dt/config/Xstartup | ユーザーが正常に認証された後で root として実行されるスクリプト。 |
/usr/dt/bin/Xsession | ユーザーのセッションを開始する認証ユーザーとして実行されるスクリプト。 |
/usr/dt/config/Xfailsafe | 復旧セッションを開始する認証ユーザーとして実行されるスクリプト。 |
/usr/dt/config/Xreset | ユーザーのセッションが終了した後で root として実行されるスクリプト。 |
Xconfig ファイル
- Dtlogin.errorLogFile
- /var/dt/Xerrors
- Dtlogin.pidFile
- /var/dt/Xpid
- Dtlogin.accessFile
- Xaccess
- Dtlogin.servers
- Xservers
- Dtlogin*resources
- %L/Xresources
- Dtlogin*setup
- Xsetup
- Dtlogin*startup
- Xstartup
- Dtlogin*reset
- Xreset
- Dtlogin*failsafeClient
- Xfailsafe
- Dtlogin*session
- /usr/dt/bin/Xsession
*
でコンポーネントを分離して指定されます。これらのリソースは、*
をディスプレイ名で置き換えて、個別のディスプレイごとに固有にすることができます。詳しくは、『ディスプレイ・リソース』を参照してください。デフォルトの Xconfig ファイルは /usr/dt/config/Xconfig です。システム管理者は、 /usr/dt/config/Xconfig を /etc/dt/config/Xconfig にコピーし、/etc/dt/config/Xconfig を変更して、Xconfig をカスタマイズできます。デフォルトの Xconfig ファイルには、ベンダー固有のリソース定義および例のほかに、先行する構成ファイルおよびログ・ファイルのエントリーが入っています。
Xaccess ファイル
accessFile リソースによって指定されるデータベース・ファイルは、XDMCP サービスを要求しているディスプレイからのアクセスを制御するために dtlogin が使用する情報を提供します。このファイルには、直接照会およびブロードキャスト照会への応答を制御するエントリー、間接照会への応答を制御するエントリー、およびマクロ定義の、3 種類のエントリーが含まれています。
直接エントリーのフォーマットは、ホスト名またはパターンのいずれかです。パターンがホスト名と相違する点は、1 つ以上のメタキャラクターを含んでいることです (*
は 0 個以上の文字の任意のシーケンスに一致し、?
は任意の単一文字に一致します)。メタキャラクターはディスプレイ・デバイスのホスト名と比較されます。エントリーがホスト名の場合、比較はすべてネットワーク・アドレスを使用して行われるので、正しいネットワーク・アドレスに変換される名前はすべて使用できます。パターンの場合は、正規のホスト名だけが比較に使用されるので、別名を突き合わせないようにする必要があります。ホスト名またはパターンの前に感嘆符 (!
) 文字を付けると、そのエントリーに一致するホストは除外されます。
間接エントリーにもホスト名またはパターンが入っていますが、その後に間接照会の送信先のホスト名またはマクロのリストが続きます。 間接エントリーでは、ログイン画面を表示できるホストのメニューを提供するために、dtlogin が dtchooser を実行することを指定することもできます。
マクロ定義には、マクロ名と、ホスト名およびこのマクロの展開先の他のマクロのリストが入っています。マクロをホスト名から区別するために、マクロ名は %
文字で始まります。マクロはネスト可能です。
特定のディスプレイ・ホストへのアクセスを検査する場合、各エントリーが順にスキャンされ、最初に一致したエントリーが応答を決定します。間接エントリーのスキャン中は直接エントリーおよびブロードキャスト・エントリーは無視されます。また、その逆もいえます。ブランク行は無視されます。#
はコメント区切り文字として処理され、その行の残りは無視されます。¥newline
があると改行が無視され、複数行に及ぶ間接ホスト・リストが可能になります。
#
# Xaccess - XDMCP access control file
#
#
# Direct/Broadcast query entries
#
!xtra.lcs.mit.edu # disallow direct/broadcast service for xtra
bambi.ogi.edu # allow access from this particular display
*.lcs.mit.edu # allow access from any display in LCS
#
# Indirect query entries
#
#define %HOSTS macro
%HOSTS expo.lcs.mit.edu xenon.lcs.mit.edu ¥
excess.lcs.mit.edu kanga.lcs.mit.edu
#force extract to contact xenon
extract.lcs.mit.edu xenon.lcs.mit.edu
#disallow indirect access by xtra
!xtra.lcs.mit.edu dummy
#all others get to choose among %HOSTS
*.lcs.mit.edu %HOSTS
XDMCP アクセスが認可されている場合、X 端末用の許可情報が入っているディレクトリーを authDir で指定して、そのディレクトリー内に一時ファイルを作成することができます。セッションが開始されると、この一時ファイルは削除されます。
ブロードキャスト照会または間接照会用のホスト・メニューを提供しない X 端末の場合は、chooser プログラムを代わりに使用することができます。Xaccess ファイルで、間接ホスト・リストの最初のエントリーとして CHOOSER
を指定します。chooser プログラムは、リスト内の残りのホスト名のそれぞれに照会要求を送信し、応答のあったすべてのホストのメニューを表示します。リストに BROADCAST
という語を入れることができます。その場合、chooser はブロードキャストを送信します。応答のあったすべてのホストのメニューは、この場合も表示されます。オペレーティング・システムによっては、UDP パケットをブロードキャストできないものもあります。その場合、この機能は役に立ちません。
#offer a menu of these hosts to extract
extract.lcs.mit.edu CHOOSER %HOSTS
#offer a menu of all hosts to xtra
xtra.lcs.mit.edu CHOOSER BROADCAST
chooser 用に使用するプログラムは chooser リソースで指定します。このプログラム用のリソースは、resources によって名前を指定されたファイルに書き込むことができます。デフォルトの Xaccess ファイルは /usr/dt/config/Xaccess です。システム管理者は、/usr/dt/config/Xaccess を /etc/dt/config/Xaccess にコピーし、次に /etc/dt/config/Xaccess を変更して、Xaccess をカスタマイズすることができます。デフォルトの Xaccess ファイルにはエントリーがありません。
Xservers ファイル
Xservers ファイルには、管理するディスプレイのリストが入っています。デフォルトの Xservers ファイルは /usr/dt/config/Xservers です。システム管理者は、/usr/dt/config/Xservers を /etc/dt/config/Xservers にコピーし、次に /etc/dt/config/Xservers を変更して、Xservers をカスタマイズすることができます。デフォルトの Xservers ファイルには、1 つのローカル・ディスプレイのエントリーが 1 つ入っています。
Xresources ファイル
Xservers ファイルには、ログイン画面の外観を指定するリソース定義が入っています。デフォルトの Xresources ファイルは /usr/dt/config/Xresources です。システム管理者は、 /usr/dt/config/Xresources を /etc/dt/config/Xresources にコピーし、次に /etc/dt/config/Xresources を変更して、Xresources をカスタマイズすることができます。
Xsetup ファイル
Xsetup ファイルは通常はシェル・スクリプトです。root ユーザーだけがこのスクリプトを実行できます。実行の際は特にセキュリティーに注意する必要があります。 このスクリプトはログイン画面が表示される前に実行されます。どんな種類の引数もこのスクリプトには渡されません。dtlogin コマンドは、ログイン画面を表示する前に、このスクリプトの終了を待ちます。
デフォルトの Xsetup ファイルは /usr/dt/config/Xsetup です。システム管理者は、 /usr/dt/config/Xsetup を /etc/dt/config/Xsetup にコピーし、次に /etc/dt/config/Xsetup を変更して、Xsetup をカスタマイズすることができます。デフォルトの Xsetup ファイルには、ベンダー固有のコードが入っていますが、通常は、ログイン画面を表示する前に X サーバーをセットアップするコード (キーボード・マップのセットアップなど) が入っています。
Xstartup ファイル
- DISPLAY
- 関連したディスプレイ名に設定されます。
- HOME
- ユーザーのホーム・ディレクトリーに設定されます。
- PATH
- systemPath リソースの値に設定されます。
- USER
- ユーザー名に設定されます。
- SHELL
- systemShell リソースの値に設定されます。
どんな種類の引数もこのスクリプトには渡されません。dtlogin コマンドは、ユーザー・セッションを開始する前に、このスクリプトの終了を待ちます。このスクリプトの終了値がゼロ以外の値の場合、dtlogin はセッションを即時に中断し、別の認証サイクルを開始します。
デフォルトの Xstartup ファイルは /usr/dt/config/Xstartup です。システム管理者は、 /usr/dt/config/Xstartup を /etc/dt/config/Xstartup にコピーし、次に /etc/dt/config/Xstartup を変更して、Xstartup をカスタマイズすることができます。デフォルトの Xstartup ファイルには、コンソールでセッションが実行されるユーザーに /dev/console の所有権を変更するコードが入っています。
Xsession ファイル
Xsession スクリプトは、ユーザーのセッションを初期化し、デスクトップ・セッション・マネージャーを呼び出します。このスクリプトは許可ユーザーのアクセス権によって実行され、いくつかの環境変数が事前設定されています。 事前設定変数については、『環境変数』のリストを参照してください。
- ユーザーの $HOME/.dtprofile のソースとなる。
- すべての /etc/dt/config/Xsession.d/* スクリプトのソースとなる。
- すべての /usr/dt/config/Xsession.d/* スクリプトのソースとなる。
- デスクトップ・ウェルカム・クライアント dthello をバックグラウンドで起動する。
- アプリケーション検索パス・スクリプト dtsearchpath のソースとなる。
- ヘルプ・セットアップ・クライアント dthelpgen をバックグラウンドで起動する。
- アプリケーション・マネージャー・ディレクトリー・セットアップ・クライアント dtappgather をバックグラウンドで起動する。
- デスクトップ・セッション・マネージャー dtsession を実行する。
Xreset ファイル
Xreset スクリプトは、Xstartup と対称的に、ユーザー・セッションが終了した後で実行されます。Xreset スクリプトは root ユーザーによって実行されるので、Xstartup のコマンドの効果を元に戻すコマンド (ファイル・サーバーからディレクトリーをアンマウントするコマンドなど) を入れておく必要があります。Xstartup に渡された環境変数の収集は、Xreset にも渡されます。
デフォルトの Xreset ファイルは /usr/dt/config/Xreset です。システム管理者は、 /usr/dt/config/Xreset を /etc/dt/config/Xreset にコピーし、次に /etc/dt/config/Xreset を変更して、Xreset をカスタマイズすることができます。デフォルトの Xreset ファイルには、/dev/console の所有権を root に再変更するコードが入っています。
Xerrors ファイル
Xerrors スクリプトには、dtlogin からのエラー・メッセージと、Xsetup、Xstartup、または Xreset から stderr への出力が入ります。システム管理者は、このファイルの内容を dtlogin のトラブルシューティングに使用することができます。errorLogSize リソースは、Xerrors ファイルのサイズを制限して、無制限に肥大化することを防ぐことができます。ファイルが要求されたサイズより大きくなって、dtlogin により切り捨てが行われた場合、ファイルにアクセスするユーザー (例えば、cat または tail を使用するユーザー) は、(ファイルの切り捨てが行われた後) ファイルをクローズしてからアクセスのために再オープンして、ファイルに記録された後続の情報をみる必要があります。
システム管理者は、Xconfig ファイルに errorLogFile リソースを設定して、Xerrors のパス名を変更することができます。
Xpid ファイル
Xpid スクリプトには、マスター dtlogin プロセスのプロセス ID が入っています。この ID は dtlogin にシグナルを送信するときに使用できます。システム管理者は、Xconfig ファイルに pidFile リソースを設定して、Xpid のパス名を変更することができます。