ログイン・マネージャの構成
ログイン・マネージャは、ログイン画面の表示、ユーザの認証、ユーザのセッションの起動を行うサーバです。グラフィカルなログインは、従来のビットマップ・ディスプレイ用のキャラクタ・モードでのログインに代わる魅力的な方法です。ログイン・サーバが管理するログイン画面は、ログイン・。サーバのディスプレイに直接表示することも、ネットワーク上のX端末またはワークステーションのディスプレイに表示することもできます。
ログイン・マネージャログイン・サーバも参照してください。ログイン・マネージャ定義ログイン・サーバログイン画面の表示ログイン・サーバユーザの認証ログイン・サーバセッションの起動ログイン・サーバディスプレイの接続
ログイン・サーバを起動、停止、カスタマイズするときは、必ず root ユーザで行ってください。
ログイン・サーバには次の機能があります。
ログイン・マネージャカスタマイズログイン・サーバ概要
特に指示しなければビットマップ・ディスプレイに、指示すればローカルなビットマップ・ディスプレイおよびネットワーク上のビットマップ・ディスプレイにログイン画面を表示できます。
キャラクタ・コンソール・ディスプレイに直接接続できます。
ネットワーク上の他のログイン・サーバからユーザがログイン画面を表示できるようにする選択画面を表示できます。
ログイン・サーバへのアクセスをコントロールできます。
従来のキャラクタ・モード・ログインにアクセスできます。
ログイン・マネージャが管理するディスプレイは、ログイン・マネージャのサーバに接続することも、ネットワーク上のX端末またはワークステーションに接続することもできます。ローカル・ディスプレイでは、ログイン・サーバが自動的にXサーバを起動し、ログイン画面を表示します。X端末などのネットワーク・ディスプレイでは、ログイン・サーバはXディスプレイ・マネージャ・プロトコル (XDMCP)
XDMCP
1.0 をサポートします。このプロトコルにより、ディスプレイは、ログイン・サーバがディスプレイにログイン画面を表示するよう要求できます。
ログイン・サーバの起動
ログイン・サーバは、通常、システムのブート時に起動されます。コマンド行からもログイン・サーバを起動できます。
ログイン・サーバ起動ログイン・サーバコマンド行からの起動
システムのブート時にログイン・サーバを起動するよう設定するには、次のように入力します。
/usr/dt/bin/dtconfig -e
ログイン・サーバは、リブート時に自動的に起動されます。
コマンド行からログイン・サーバを起動するには、次のように入力します。
/usr/dt/bin/dtlogin -daemon
一時的に構成をテストするためにログイン・サーバをコマンド行から起動することはできますが、通常はシステムのブート時にログイン・サーバを起動してください。
ローカル・ディスプレイおよびネットワーク・ディスプレイの管理
にログイン・サーバの構成を示します。
ログイン・サーバのプロセスIDの検出ログイン・サーバプロセスID
デフォルトでは、ログイン・サーバはプロセスIDを /var/dt/Xpid
Xpid ファイル
に格納します。
これを変更するため、Dtlogin.pidFile リソースを XconfigXconfig ファイル変更 ファイルに設定できます。変更を行った場合、ログイン・サーバの起動時に指定したディレクトリが存在していなければなりません。
Xconfig を変更するには、Xconfig を /usr/dt/config から /etc/dt/config へコピーします。/etc/dt/config/Xconfig を変更した後で、次のように入力し、Xconfig をもう一度読み込むようログイン・サーバに通知します。
/usr/dt/bin/dtconfig -reset
これは、コマンド kill -HUP login server process ID を発行します。
たとえば、ログイン・サーバのプロセスIDを /var/myservers/Dtpid に格納するには、Xconfig ファイルで次のように設定してください。
Dtlogin.pidFile: /var/myservers/Dtpid
ログイン・サーバを再起動すると、ログイン・サーバはプロセスIDを /var/myservers/DtpidDtpid ファイル に格納します。/var/myservers ディレクトリは、ログイン・サーバの起動時に存在しなければなりません。
ローカル・ディスプレイでのログイン画面の表示
起動時、ログイン・サーバは XserversXservers ファイルサーバの起動 ファイルを検索して、Xサーバを起動する必要があるかどうか、ログイン画面をローカル・ディスプレイまたはネットワーク・ディスプレイに表示するかどうかとその方法を決定します。
Xservers を変更するには、Xservers を /usr/dt/config から /etc/dt/config へコピーします。/etc/dt/config/Xservers を変更した後で、次のように入力し、Xservers をもう一度読み込むようログイン・サーバに通知します。
/usr/dt/bin/dtconfig -reset
これは、コマンド kill -HUP login server process ID を発行します。
Xservers ファイル構文Xservers 行の書式は以下のとおりです。
display_name display_class display_type X_server_command
次に説明を示します。
display_name
Xサーバに接続するときに使用する接続名(以下の例では :0)をログイン・サーバに通知します。* (アスタリスク) の値は host name:0 に展開されます。指定した番号は、X_server_command 接続番号で指定した番号と一致しなければなりません。
display_class
このディスプレイに固有のリソース(以下の例では Local)を識別します。
display_type
ディスプレイがローカル・ディスプレイとネットワーク・ディスプレイのどちらであるかと、ログイン画面の [コマンド行ログイン] オプションを管理する方法(以下の例では local@console)を、ログイン・サーバに通知します。
X_server_command
Xサーバの起動にログイン・サーバが使用するコマンド行、接続番号、他のオプション(以下の例では /usr/bin/X11/X :0)を識別します。指定した接続番号は display_name で指定した番号と一致しなければなりません。
デフォルトの Xservers 行は、次のようになります。
:0 Local local@console /usr/bin/X11/X :0
ローカル・ディスプレイなしでのログイン・サーバの実行ビットマップ・ディスプレイ、〜なしでのログイン・サーバの実行
ログイン・サーバ・システムにログイン・サーバビットマップ・ディスプレイがないビットマップ・ディスプレイがない場合は、# (ポンド記号) を使用してローカル・ディスプレイ
の XserversXservers ファイルデフォルト を注釈行にすることにより、ローカル・ディスプレイなしでログイン・サーバローカル・ディスプレイなしの実行ログイン・サーバを実行してください。以下に例を示します。
# :0 Local local@console /usr/bin/X11/X :0
ログイン・サーバは、起動されるとバックグラウンドで実行され、ネットワーク・ディスプレイからの要求を待ちます。
ローカル・ディスプレイでのコマンド行ログインへのアクセス
ログイン画面で[コマンド行ログイン]ログイン・サーバコマンド行ログインをユーザが選択すると、ログイン・サーバが一時的にXサーバを終了させ、ビットマップ・ディスプレイ端末デバイスで実行中の、従来のコマンド行ログインにアクセスできるようになります。ユーザがログインしてからログアウトした後、または指定したタイムアウト時間が経過した後、ログイン・サーバはXサーバを再起動します。
ネットワーク・ディスプレイでは、コマンド行ログイン[コマンド行ログイン]オプションは使用できません。
display_type は、[コマンド行ログイン]の動作を制御します。display_type の書式は次のとおりです。
local@display_ terminal_device
local ディスプレイ・タイプ
local
foreign ディスプレイ・タイプ
foreign
local@display_terminal_device を指定すると、ログイン・サーバは、Xサーバおよび /dev/display_terminal_device が同じ物理デバイス上に存在し、コマンド行ログイン(通常は getty)がそのデバイスで実行されているものとみなします。ユーザが[コマンド行ログイン]を選択すると、Xサーバが終了し、/dev/display_terminal_device で実行されているコマンド行ログイン(getty)にアクセスできるようになります。
ディスプレイの[コマンド行ログイン]オプションを指定しないようにするには、display_terminal_device に none を指定します。デフォルトの display_terminal_device は console です。local を指定すると、display_terminal_device はデフォルトの console になります。foreign を指定すると、[コマンド行ログイン]オプションは使用できません。
ログイン・サーバをコマンド行から起動したときは、ローカル・ディスプレイの[コマンド行ログイン]オプションは使用できません。
キャラクタ・ディスプレイ・コンソールの適用キャラクタ・ディスプレイ・コンソール
ログイン・サーバ・システムに、直接接続されているキャラクタ・ディスプレイログイン・サーバキャラクタ・ディスプレイ・コンソールがコンソールとして備えられている場合、display_terminal_device に none を設定して、ビットマップ・ディスプレイ・ログイン画面の[コマンド行ログイン]オプションを使用できないようにすることもできます。
コマンド行ログイン(gettygetty)を、キャラクタ・ディスプレイ・コンソールおよびビットマップ・ディスプレイの両方で実行している場合、display_terminal_device をビットマップ・ディスプレイのコマンド行ログイン(getty)デバイスに変更することができます。
たとえば、ビットマップ・ディスプレイ・コマンド行ログイン(getty)がデバイス /dev/tty01 にある場合、display_type を local@tty01 に変更します。
ネットワーク・ディスプレイでのログイン画面の表示ログイン画面ネットワーク・ディスプレイでの表示
ログイン・サーバは、ネットワーク・ディスプレイからの要求でログイン画面を特定のディスプレイに表示させることができます。ネットワーク・ディスプレイは通常X端末ですが、ワークステーションの場合もあります。
ネットワーク・ディスプレイからの要求を管理するため、ログイン・サーバはXディスプレイ・マネージャ・プロトコル (XDMCP)XDMCP定義 1.0 をサポートします。このプロトコルは、ログイン・サーバがネットワーク・ディスプレイからの要求を受け入れたり拒否したりできるようにします。ほとんどのX端末に XDMCP が組み込まれています。
ネットワーク・ディスプレイからの XDMCP の直接要求XDMCP直接要求X端末XDMCP-direct
XDMCP 直接モードXDMCP照会モード(照会モード)を使用するようにX端末を構成するときは、ログイン・サーバのホスト名をX端末に通知します。X端末をブートすると、自動的にログイン・サーバに通信し、ログイン・サーバがX端末にログイン画面を表示します。XDMCP 直接モード用にX端末を構成する方法については、X端末のマニュアルを参照してください。
ほとんどのXサーバは -query オプション-query オプション もサポートしています。このモードでは、XサーバはX端末のように動作して、ログイン・サーバ・ホストに直接通信し、Xサーバにログイン画面を表示するよう要求します。たとえば、Xサーバをワークステーション bridget のビットマップ・ディスプレイで起動すると、ログイン・サーバ anita がXサーバにログイン画面を表示します。
X -query anita
ネットワーク・ディスプレイからの XDMCP の間接要求XDMCP間接要求X端末XDMCP-indirect
XDMCP 間接モードを使用するようにX端末を構成するときは、ログイン・サーバのホスト名をX端末に通知します。X端末をブートすると、ログイン・サーバに通信し、ログイン・サーバが、ネットワークの他のログイン・サーバ・ホストのリストを選択画面で表示します。このリストからユーザはホストを選択でき、そのホストがユーザのX端末にログイン画面を表示します。XDMCP 間接モード用にX端末を構成する方法については、X端末のマニュアルを参照してください。
直接モード同様、ほとんどのXサーバが -indirect オプション-indirect オプション をサポートしています。このオプションを指定するとXサーバは XDMCP 間接モードでログイン・サーバと通信します。
非 XDMCP ネットワーク・ディスプレイの管理X端末非 XDMCP ディスプレイ
旧式のX端末は XDMCP をサポートしていない可能性があります。このようなX端末にログイン・サーバがログイン画面を表示するには、Xservers ファイルにX端末名を記入します。
例
次に示す Xservers ファイルの行は、ruby および wolfie という2つの非 XDMCP X端末に、ログイン・サーバがログイン画面を表示します。
ruby.blackdog.com:0 AcmeXsta foreign
wolfie:0 PandaCo foreign
ディスプレイはネットワーク上にあるので、display_name はホスト名を名前の一部として取り込みます。display class は、特定のクラスのX端末に固有のリソースを指定するのに使用します(X端末のマニュアルに、X端末のディスプレイ・クラスが記載されています)。foreign の display_type はログイン・サーバに、ログイン・サーバ自身を起動するのではなく、既存のXサーバに接続するよう通知します。この場合、X_server_command は指定されません。
ログイン・サーバへのアクセスのコントロールログイン・サーバアクセスのコントロール
デフォルトでは、ログイン・サーバ・ホストにアクセスするネットワークのホストはすべて、ログイン画面を表示するよう要求できます。Xaccess ファイルXaccess ファイル を変更すると、ログイン・サーバへのアクセスを制御できます。
Xaccess を変更するには、Xaccess を /usr/dt/config から /etc/dt/config へコピーします。/etc/dt/config/Xaccess を変更したら、次のように入力して Xaccess をもう一度読み込むようログイン・サーバに通知します。
/usr/dt/bin/dtconfig -reset
これは、コマンド kill -HUP login server process ID を発行します。
XDMCP 直接モードX端末XDMCP-direct
ホストが XDMCP直接アクセス XDMCP 直接モードによってログイン・サーバに接続しようとすると、ホスト名が X端末Xaccess リスト Xaccess エントリと比較されて、ホストがログイン・サーバにアクセスできるかどうか決定されます。Xaccess の各エントリは、ワイルドカード * (アスタリスク) および ? (疑問符) を含むホスト名です。* (アスタリスク) は0以上の文字に、? (疑問符) は任意の1文字に一致します。! (感嘆符) がエントリの前に付くとアクセスできず、これがなければアクセスできます。
たとえば、Xaccess に次の3つのエントリが含まれているとします。
amazon.waterloo.com
*.dept5.waterloo.com
!*
最初のエントリはホスト amazon.waterloo.com から、2番目のエントリはフルドメイン名が dept5.waterloo.com で終わっている任意のホストからログイン・サーバがアクセスできるようにし、最後のエントリはいずれのホストからもアクセスできないようにします。
XDMCP 間接モードX端末XDMCP-indirect
ホストが XDMCP 間接モードによってログイン・サーバに接続しようとすると、ホスト名が Xaccess エントリと比較されて、ホストがログイン・サーバにアクセスできるかどうかが決定されます。Xaccess の各エントリは XDMCP 直接モードと同様で、ワイルドカードを含んでいますが、各エントリに CHOOSER 文字列がマークされていることころが異なります。例を次に示します。
XDMCP間接アクセスCHOOSER 文字列定義X端末CHOOSER 文字列
amazon.waterloo.com CHOOSER BROADCAST
*.dept5.waterloo.com CHOOSER BROADCAST
!* CHOOSER BROADCAST
最初のエントリはホスト amazon.waterloo.com から、2番目のエントリはフルドメイン名が dept5.waterloo.com で終わっている任意のホストからログイン・サーバがアクセスできるようにし、最後のエントリはいずれのホストからもアクセスできないようにします。
CHOOSERCHOOSER 文字列識別 の後は次のいずれかが続きます。
BROADCAST, XDMCP-indirect で使用される
BROADCAST
list of host names
BROADCAST は、ログイン・サーバにログイン・サーバ・サブネットワークへ同報通信させて、使用可能なログイン・サーバ・ホストのリストを生成します。ホスト名のリストは、使用可能なログイン・ホストのリストとしてそのリストを使用するように、ログイン・サーバに通知します。例を次に示します。
amazon.waterloo.com CHOOSER shoal.waterloo.com alum.waterloo.com
*.dept5.waterloo.com CHOOSER BROADCAST
!* CHOOSER BROADCAST
amazon.waterloo.com が XDMCP 間接モードによって接続する場合、shoal および alum を含むリストが表示されます。alice.dept5.waterloo.com を接続する場合は、ログイン・サーバ・サブネットワークで使用可能な全ログイン・サーバ・ホストのリストが表示されます。他の XDMCP 間接モードは拒否されます。
ホスト名のリストを指定するもうひとつの方法は、ホスト名のリストを含む1つ以上のマクロを定義することです。例を次に示します。
%list1 shoal.waterloo.com alum.waterloo.com
amazon.waterloo.com CHOOSER %list1
エラー検査ログイン・サーバトラブルジュートログイン・マネージャエラー
デフォルトでは、ログイン・サーバは Xerrors ファイル/var/dt/Xerrors ファイルにエラーを記録します。これを変更するため、Dtlogin.errorLogFile リソースを Xconfig ファイルに設定できます。指定したディレクトリは、ログイン・サーバの起動時に必ず存在しなければなりません。
たとえば、ログイン・サーバが /var/mylogs/Dterrors ファイルにエラーを記録するようにするには、Xconfig ファイルで次のように設定してください。
Dtlogin.errorLogFile: /var/mylogs/Dterrors
ログイン・サーバが再起動すると、ログイン・サーバは /var/mylogs/Dterrors ファイルDterrors ファイルにエラーを記録します。/var/mylogs ディレクトリは、ログイン・サーバの起動時に必ず存在しなければなりません。
ログイン・サーバの停止ログイン・サーバ停止
システムのブート時にログイン・サーバ抑止ログイン・サーバを起動しないようにするには、次のように入力します。
/usr/dt/bin/dtconfig -d
dtconfig コマンド
この設定により、次回のリブート時にシステムはログイン・サーバを起動しません。
プロセスIDを Kill してログイン・サーバを停止するには、次のように入力します。
/usr/dt/bin/dtconfig -kill
これは、コマンド kill login server process ID を発行します。
ログイン・サーバのプロセスを終了すると、ログイン・サーバプロセスIDのkillログイン・サーバが管理するユーザ・セッションはすべて終了します。
プロセスIDを kill してログイン・サーバを停止することもできます。ログイン・サーバのプロセスIDは /var/dt/Xpid か、Dtlogin.pidFile リソースによって Xconfig に指定したファイルに格納されます。
ログイン・サーバを強制終了したときにデスクトップにログインすると、デスクトップ・セッションはすぐに終了します。
ログイン画面
ログイン・サーバが表示するログイン画面は、従来のキャラクタ・モードでのログイン画面に代わるもので、キャラクタ・モードでのログインを超える能力を備えています。
キャラクタ・モードでのログイン同様、ユーザ名の後にパスワードを入力します。認証されれば、ログイン・サーバはデスクトップ・セッションを起動します。デスクトップ・セッションを終了すると、ログイン・サーバは新しいログイン画面を表示し、処理が再開されます。
次のようなログイン画面のカスタマイズができます。
ログイン画面カスタマイズ
ログイン画面表示の変更
Xサーバ権限の設定
デフォルト言語の変更
ログイン画面を表示する前にコマンドを発行する
ログイン画面の[言語]メニューの内容変更
ユーザのセッションを起動するコマンドの指定
ユーザのデスクトップ・セッションを起動する前にコマンドを発行する
ユーザのセッションが終了した後にコマンドを発行する
上記はいずれも、ディスプレイの全部、あるいはディスプレイごとに行うことができます。
ログイン画面表示の変更
ログイン画面表示の変更ログイン画面表示をカスタマイズするため、ロゴまたはグラフィック、ウェルカム・メッセージ、フォントを変更できます。
Xresources を変更するには、Xresources を /usr/dt/config/language から /etc/dt/config/language にコピーします。次回からは、すべての変更を反映したログイン画面が表示されます。ログイン画面を強制的に再表示させるには、ログイン画面の[オプション]メニューから[ログイン画面のリセット]を選択します。
XresourcesXresources ファイル ファイルのリソース指定によって決定されるログイン画面の属性は次のとおりです。
Dtlogin*logo*bitmapFileログイン・マネージャリソースログイン画面リソース
ロゴ・イメージとして表示するビットマップ・ファイルまたはピックスマップ・ファイル
Dtlogin*greeting*labelString
ウェルカム・メッセージ
Dtlogin*greeting*persLabelString
個人用ウェルカム・メッセージ
Dtlogin*greeting*fontList
ウェルカム・メッセージ用フォント
Dtlogin*labelFont
プッシュ・ボタンおよびラベル用フォント
Dtlogin*textFont
ヘルプ・メッセージおよびエラー・メッセージ用フォント
Dtlogin*language*languageName
ロケール名 language 用の選択テキスト
ロゴを変更するには
Dtlogin*logo*bitmapFile リソースを Xresources に設定します。
ロゴはカラー・ピックスマップ・ファイルまたはビットマップ・ファイルです。
次の例は、ロゴに Mylogo ビットマップを使用します。
Dtlogin*logo*bitmapFile: /usr/local/lib/X11/dt/bitmaps/Mylogo.bm
ウェルカム・メッセージを変更するにはログイン画面ウェルカム・メッセージの変更ログイン画面挨拶ウェルカム・メッセージ変更
デフォルトでは、ログイン・サーバはログイン画面にメッセージ Welcome to host name を表示します。このメッセージは次の方法で変更できます。
ウェルカム・メッセージデフォルト
Dtlogin*greeting*labelString リソースを Xresources に設定します。
labelString リソースの値には、ログイン・サーバ・ホスト名に置き換える%LocalHost% と、Xサーバ・ディスプレイ名に置き換える %DisplayName% を指定できます。
次の例は、ウェルカム・メッセージを Here's host name! に変更します。
Dtlogin*greeting*labelString: Here's %LocalHost%!
ユーザ名を一度入力すると、ログイン・サーバはデフォルトで Welcome username というメッセージを表示します。このメッセージは Dtlogin*greeting*persLabelString リソースを Xresources に設定すると変更できます。persLabelString の値には、username に置き換える percnt;s を指定できます。
次の例は個人用ウェルカム・メッセージを Hello username に変更します。
Dtlogin*greeting*persLabelString: Hello %s
フォントを変更するにはログイン画面フォント
ログイン画面で使用するフォントを、次のフォント・リソースのいずれかを XresourcesXresources ファイル に設定することにより変更できます。
使用可能なフォントの一覧を表示するには、次のように入力します。
xlsfonts [-options] [-fn pattern]
Dtlogin*greeting*fontList
ウェルカム・メッセージ用フォント
Dtlogin*labelFont
プッシュ・ボタンおよびラベル用フォント
Dtlogin*textFont
ヘルプ・メッセージおよびエラー・メッセージ用フォント
次の例は、ウェルカム・メッセージを大きいフォントで表示します(指定する値は必ず1行に入れてください)。
Dtlogin*greeting*fontList: -dt-interface system-medium-r-normal-xxl*-*-*-*-*-*-*-*-*:
各言語を表示するためのテキストを提供するにはログイン画面ローカライズローカライゼーションログイン画面
ログイン画面の[言語]メニューに、ロケール名のデフォルト・ディスプレイではなく、ロケールごとのテキストを表示するには、Dtlogin*language*languageName リソースを Xresources に設定します。
Dtlogin*En_US*languageName: American
ロケール名 En_US ではなく、テキスト American が表示されます。
ログイン画面動作の変更ログイン画面動作の変更
ログイン画面の動作をカスタマイズするには、Xconfig ファイルに指定したリソースを変更します。
Xconfig を変更するには、Xconfig を /usr/dt/config から /etc/dt/config にコピーします。/etc/dt/config/Xconfig を変更したら、次のように入力して Xconfig をもう一度読み込むようログイン・サーバに通知します。
/usr/dt/bin/dtconfig -reset
これは、コマンド kill -HUP login server process ID を発行します。
Xconfig ファイルXconfig ファイル〜のリソースの設定 に指定するリソースログイン・マネージャリソースは次のとおりです。
Dtlogin*authorize
Xaccess ファイル仕様
Dtlogin*environment
Xサーバ環境
Dtlogin*language
デフォルト言語
Dtlogin*languageList
ログイン画面の[言語]メニューの言語リスト
Dtlogin*resources
Xresources 仕様
Dtlogin*setup
Xsetup ファイル仕様
Dtlogin*startup
Xstartup ファイル仕様
Dtlogin*session
Xsession ファイル仕様
Dtlogin*failsafeClient
Xfailsafe スクリプト仕様
Dtlogin*reset
Xreset スクリプト仕様
Dtlogin*userPath
Xsession および Xfailsafe 用 PATH 環境変数
Dtlogin*systemPath
Xsetup、Xstartup および
Xfailsafe 用 PATH 環境変数
Dtlogin*systemShell
Xsetup、Xstartup および
Xfailsafe 用 SHELL 環境変数
Dtlogin.timeZone
全スクリプト用タイムゾーン
ディスプレイごとのログイン画面動作の変更ログイン画面ディスプレイ依存動作複数ディスプレイログイン・マネージャ
以下の例では、Xconfig リソースを変更して、全ディスプレイのログイン画面動作を変更します。リストで * (アスタリスク) の付いたリソースは、ディスプレイごとに指定できます。これにより、あるディスプレイのログイン画面動作のカスタマイズを指定できます。特定のディスプレイのリソースを指定するには、リソースを Dtlogin*displayName*resource と指定します。たとえば、ディスプレイ expo:0 のユーザによるアクセス・コントロールをオフにして、他のディスプレイはそのままオンにする場合は、次のように指定します。
Dtlogin*expo_0*authorize: False
ディスプレイ名の : (コロン) や . (ピリオド) などの特殊文字は、_ (下線) に置き換えられます。
Xサーバ・アクセスの変更ログイン画面Xサーバ・アクセスXサーバアクセスの変更
デフォルトでは、ログイン・サーバが、ユーザごとにXサーバのアクセスを制御できるようにします。ログイン・サーバは HomeDirectory/.Xauthority ファイルに格納され保護されている権限データに基づきます。このファイルを読み込めるユーザだけがXサーバに接続できます。一般に、これが望ましいXサーバ・アクセス・コントロールの方法です。
ユーザベースのアクセス・コントロールの代わりに、ホストベースのアクセス・コントロールも可能です。この方法を使用すると、ホストがXサーバへのアクセスを与えられている場合、そのホストのすべてのユーザがXサーバに接続できます。ホストベースのコントロールを使用するのは、次のような理由からです。
古い R2 および R3 のXのクライアントは、ユーザベースのアクセス・コントロールではXサーバに接続できません。
安全性が確立されていないネットワークでは、ネットワークのXクライアントとXサーバとの間で渡される認証データを盗まれる可能性があります。
Xconfig Dtlogin*authorize リソースauthorize リソースは、ユーザベースのXサーバ・アクセス・コントロールを使用することをログイン・サーバに通知します。ホストベースのアクセス・コントロールを使用するときは、次のように authorize リソース値を False に変更します。
Dtlogin*authorize: False
Xサーバ環境を変更するにはXサーバ環境の変更ログイン画面Xサーバ環境
ログイン・サーバによって起動されたときにひとつ以上の環境変数と値をXサーバに指定する場合は、Xconfig の Dtlogin*environment リソースを使用して指定できます。次に例を示します。
Dtlogin*environment: VAR1=foo VAR2=bar
この例は、ローカルなXサーバ・プロセスで変数 VAR1 および VAR2 を使用できるようにします。これらの変数も、Xsession および Xfailsafe スクリプトへエクスポートされます。
デフォルト言語を変更するにはログイン画面デフォルト言語の変更
ログイン画面からデスクトップにログインするとき、ユーザ・セッションは、[オプション]メニューの[言語]サブメニューから選択されたロケールで実行されます。言語を選択しない場合、ログイン・サーバはデフォルト言語を使用します。Xconfig の Dtlogin*languageDtlogin*language リソース リソースを次のように設定することにより、デフォルト言語の値をコントロールできます。
Dtlogin*language: Ja_JP
システムのマニュアルを調べて、システムにインストールされている言語を判定してください。
ログイン画面の[言語]メニューの内容を変更するにはログイン画面[言語]メニューの内容の変更[言語]メニュー、カスタマイズ
デフォルトでは、ログイン・サーバは、システムにインストールされたすべてのロケールのリストが入っているログイン画面の[言語]メニューを作成します。そのリストからロケールを選択すると、ログイン・サーバは選択されたロケールでログイン画面を再表示します。その後ログインすると、ログイン・サーバはそのロケールでデスクトップ・セッションを起動します。
Xconfig の Dtlogin*languageList リソースを変更することにより、独自の言語のリストを指定できます。
Dtlogin*languageList: En_US De_DE
このように指定すると、ログイン・サーバは En_US および De_DE だけをログイン画面の[言語]メニューに表示します。
ログイン画面が表示される前にコマンドを発行するログイン・マネージャコマンドの発行
Xサーバの起動後でログイン画面が表示される前に、ログイン・サーバは Xsetup スクリプトを実行します。XsetupXsetup ファイル は root の権限に合わせて実行され、ログイン画面を表示する前に実行する必要のあるコマンドを発行します。
Xsetup を変更するには、Xsetup を /usr/dt/config から /etc/dt/config へコピーします。次にログイン画面が表示されるときは、変更された Xsetup が実行されます。
ユーザ・セッション起動前のコマンドの発行
ユーザ名とパスワードを入力し、それが認証された後で、ユーザ・セッションが起動される前に、ログイン・サーバは Xstartup スクリプトを実行します。XstartupXstartup ファイル は root の権限に合わせて実行され、ユーザ・セッションを起動する前に root として実行する必要のあるコマンドを発行します。
Xstartup を変更するには、Xstartup を /usr/dt/config から /etc/dt/config へコピーします。次にログイン画面が表示されるときは、変更された Xstartup が実行されます。
.
デスクトップ・セッションの実行
デフォルトでは、ログイン・サーバは Xsession スクリプトを実行することによりユーザ・セッションを起動します。XsessionXsession ファイルログイン・サーバによる実行 はユーザの権限に合わせて実行され、デスクトップの起動に必要なコマンドを発行します。
Xsession スクリプトは直接変更しないでください。
ユーザのデスクトップ・セッション起動のカスタマイズ方法については、
を参照してください。
復旧セッションの起動セッション復旧
ログイン画面の[オプション]メニューの[セッション]サブメニューから[復旧セッション]復旧セッションを選択する場合、ログイン・サーバは Xfailsafe スクリプトを実行します。Xfailsafe はユーザの権限に合わせて実行され、アイコン化されたウィンドウ(通常は[端末]ウィンドウおよびオプションのウィンドウ・マネージャ)環境の起動に必要なコマンドを発行します。Xfailsafe ファイル
Xfailsafe を変更するには、Xfailsafe を /usr/dt/config から /etc/dt/config へコピーします。次にログイン画面が表示されるときは、変更された Xfailsafe が実行されます。
ユーザのセッションが終了した後でセッション終了時のスクリプト実行
ユーザがデスクトップまたは復旧セッションを終了した後、ログイン・サーバは Xreset スクリプトを実行します。XresetXreset ファイル は root の権限に合わせて実行され、ユーザのセッションを終了した後で root として実行する必要のあるコマンドを発行します。
Xreset を変更するには、Xreset を /usr/dt/config から /etc/dt/config へコピーします。次にログイン画面が表示されるときは、変更された Xreset が実行されます。
ログイン・サーバ環境
ログイン・サーバは、Xsetup、Xstartup、Xsession、Xfailsafe および Xreset スクリプトへエクスポートする環境を提供します。この環境は
で説明します。これら以外の変数もログイン・サーバによってエクスポートされることがあります。
ログイン・サーバ環境ログイン・サーバ環境
環境変数
Xsetup
Xstartup
Xsession
Xreset
説明
LANG 変数
ログイン・マネージャで設定
LANG
×
×
×
×
デフォルト言語または選択された言語
XAUTHORITY 変数、ログイン・マネージャで設定
XAUTHORITY
×
×
×
×
代替X許可ファイル(オプション)
PATH 変数
ログイン・マネージャで設定
PATH
×
×
×
×
Dtlogin*userPath リソース (Xsession, Xfailsafe) または Dtlogin*systemPath リソース (Xsetup, Xstartup, Xreset) の値
DISPLAY 変数、ログイン・マネージャで設定
DISPLAY
×
×
×
×
Xサーバ接続番号
SHELL 変数、ログイン・マネージャで設定
SHELL
×
×
×
×
/etc/passwd に指定されたシェル
(Xsession、Xfailsafe) または
Dtlogin*systemShell リソース
(Xsetup、Xstartup、Xreset)
TZ 変数
TZ
×
×
×
×
Dtlogin.timeZone リソースまたはシステムで決められたタイムゾーンの値
USER 変数
USER
×
×
×
ユーザ名
HOME 変数
HOME
×
×
×
/etc/passwd に指定したホーム・ディレクトリ
LOGNAME 変数
LOGNAME
×
×
×
ユーザ名
ユーザ・パスまたはシステム・パスの変更
ログイン・サーバは、Xsession ファイルPATH の設定Xsession スクリプトおよび Xfailsafe ファイルXfailsafe スクリプトを実行するときに PATH ログイン・サーバユーザ・パス 環境変数を設定します。これらのスクリプトの代替パスを指定できます。
ユーザ・パスを変更するにはパスユーザ
Xconfig に Dtlogin*userPathuserPath リソース リソースを設定します。次に例を示します。
環境変数ログイン・マネージャ
Dtlogin*userPath:/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11
システム・パスを変更するにはパスシステム
Xconfig に Dtlogin*systemPath リソースsystemPath リソースを設定します。次に例を示します。
Dtlogin*systemPath: /usr/bin/X11:/etc:/bin:/usr/bin:/usr/ucb
システム・シェルを変更するには
ログイン・サーバは、Xsetup、Xstartup および ログイン・サーバシステム・シェルXfailsafe スクリプトを実行するときに SHELL 環境変数を設定します。デフォルトは /bin/sh です。これらのスクリプトに別のシェルを指定したい場合は、次のように Xconfig に Dtlogin*systemShell リソースを設定します。
Dtlogin*systemShell: /bin/ksh
タイムゾーンを変更するには
ログイン・サーバは、Xsetup、Xstartup、Xsession、Xfailsafe、および Xreset スクリプトを実行するときに TZTZ 変数 環境変数を設定します。デフォルト値はシステムから派生するので、通常はこの動作をログイン・サーバタイムゾーンの変更タイムゾーン、変更変更する必要はありません。これらのスクリプトに別のタイムゾーンを指定したい場合は、次のように Xconfig に Dtlogin.timeZone リソースtimeZone リソースを指定します。次に例を示します。
Dtlogin.timeZone: CST6CDT
ログイン・マネージャの管理
ログイン・サーバが起動すると、ひとつの dtlogin プロセスが起動します。dtlogin プロセスは、Xconfig ファイルを読み込んで、最初のログイン・サーバ構成を判定し、他のログイン・サーバ構成ファイルを配置します。それから Xservers ファイルを読み込んで、明示的に管理するディスプレイがあるかどうかを調べ、Xaccess ファイルを読み込んでログイン・サーバへのアクセスをコントロールします。
ログイン・サーバが、ローカル・ディスプレイを管理する必要があることを XserversXservers ファイルローカル・ディスプレイの管理 ファイルで知ると、Xservers ファイルで指定したようにXサーバを起動し、そのディスプレイにログイン画面を表示します。
ログイン・サーバが、ネットワーク・ディスプレイを管理する必要があることを Xservers ファイルで知ると、Xサーバがすでに指定したディスプレイ名で実行されているものと見なし、そのディスプレイにログイン画面を表示します。
その後、ログイン・サーバはネットワークからの XDMCP 要求を待ちます。
管理されている各ディスプレイに対して、ログイン・サーバはそのディスプレイ用の新しい dtlogin プロセスを最初に作成します。つまり、ログイン・サーバが n 個のディスプレイを管理している場合、n+1 個の dtlogin プロセスが存在します。ログイン・サーバは Xsetup スクリプトを実行し、Xresources ファイルを読み込んでから、dtgreet を実行してログイン画面を表示します。ユーザ名とパスワードを入力して認証されると、ログイン・サーバは Xstartup スクリプトを実行してから Xsession または XfailsafeXfailsafe ファイル スクリプトを実行します。セッションを終了すると、ログイン・サーバは Xreset スクリプトを実行します。
ログイン・サーバがXDMCP間接モード要求 XDMCP 間接モード要求を獲得すると、dtchooser を実行してディスプレイのログイン・サーバ・ホストのリストを表示します。リストからホストを選択すると、そのホスト名のログイン・サーバがディスプレイを管理します。
Xaccess、Xconfig、Xfailsafe、Xreset、language/Xresources、Xservers、Xsetupw、および Xstartup 構成ファイルについては、デフォルトではログイン・サーバが最初に /etc/dt/config を調べ、次に /usr/dt/config を調べて最初に見つけたファイルを使用します。
ログイン・マネージャ・ファイル構成ファイルログイン・マネージャ
ログイン・マネージャ・ファイルのデフォルト位置は次のとおりです。
ログイン・マネージャ構成ファイル
/usr/dt/bin/dtlogindtloginログイン・マネージャを参照してください
ログイン・サーバおよびディスプレイ・マネージャ
/usr/dt/bin/dtgreetdtgreet file
ディスプレイ用ログイン画面の表示
/usr/dt/bin/dtchooserdtchooser file
ディスプレイ用選択画面の表示
/usr/dt/bin/Xsession
デスクトップ・セッションの起動
/usr/dt/config/Xfailsafe
復旧セッションの起動
/usr/dt/config/Xconfig
ログイン・サーバ構成ファイル
/usr/dt/config/Xservers
ログイン・サーバ・ディスプレイ記述ファイル
/usr/dt/config/Xaccess
ログイン・サーバ・アクセス記述ファイル
/usr/dt/config/language/Xresources
レイアウト・リソースの表示
/usr/dt/config/Xsetup
セットアップ・ファイルの表示
/usr/dt/config/Xstartup
セッション起動ファイル
/usr/dt/config/Xreset
セッション開始後のリセット・ファイル
/var/dt/Xpid
ログイン・サーバのプロセスID
/var/dt/Xerrors
ログイン・サーバのエラー記録ファイル