Solaris 共通デスクトップ環境 上級ユーザ及びシステム管理者ガイド

ログイン画面表示の変更

ログイン画面表示をカスタマイズするため、ロゴまたはグラフィック、ウェルカム・メッセージ、およびフォントを変更できます。

Xresources を変更するには、Xresources/usr/dt/config/language から /etc/dt/config/language にコピーします。次回からは、すべての変更を反映したログイン画面が表示されます。ログイン画面を強制的に再表示させるには、ログイン画面の [オプション] メニューから [ログイン画面のリセット] を選択します。

Xresources ファイルのリソース指定によって決定されるログイン画面の属性は次のとおりです。

Dtlogin*logo*bitmapFile - ロゴ・イメージとして表示するビットマップ・ファイルまたはピックスマップ・ファイル

Dtlogin*greeting*persLabelString - 個人用ウェルカム・メッセージ

Dtlogin*greeting*labelString - ウェルカム・メッセージ

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 hostname を表示します。このメッセージは、次の方法で変更できます。

    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 に置き換える %s を指定できます。

次の例は、個人用ウェルカム・メッセージを Hell0 username に変更します。

Dtlogin*greeting*persLabelString: Hello %s 

フォントを変更するには

ログイン画面で使用するフォントを、次のフォント・リソースのいずれかを Xresources に設定することにより変更できます。

Dtlogin*greeting*fontList - ウェルカム・メッセージ用フォント

Dtlogin*labelFont - プッシュ・ボタンとラベル用フォント

Dtlogin*textFont - ヘルプ・メッセージとエラー・メッセージ用フォント

使用可能なフォントを一覧表示するには、次のように入力します。

xlsfonts [-options] [-fn pattern]

次の例は、ウェルカム・メッセージを大きいフォントで表示します (指定する値は、必ず一行に入れてください)。

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 ファイルに指定するリソースは次のとおりです。

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 - XsetupXstartupXfailsafe 用 PATH 環境変数

Dtlogin*systemShell - XsetupXstartupXfailsafe 用 SHELL 環境変数

Dtlogin.timeZone - 全スクリプト用タイムゾーン

ディスプレイごとのログイン画面動作の変更

次の例では、Xconfig リソースを変更して、全ディスプレイのログイン画面動作を変更します。リストで * (アスタリスク) の付いたリソースは、ディスプレイごとに指定できます。これにより、あるディスプレイのログイン画面動作のカスタマイズを指定できます。特定のディスプレイのリソースを指定するには、リソースを Dtlogin*displayName*resource と指定します。たとえば、ディスプレイ expo:0 のユーザによるアクセス・コントロールをオフにして、他のディスプレイはそのままオンにする場合は、次のように指定します。

Dtlogin*expo_0*authorize: False

注 -

ディスプレイ名の : (コロン) や . (ピリオド) などの特殊文字は、_ (下線) に置き換えることができます。


X サーバ・アクセスの変更

デフォルトでは、ログイン・サーバが、ユーザごとに X サーバのアクセスをコントロールできるようにします。ログイン・サーバは、HomeDirectory/.Xauthority ファイルに格納され保護されている権限データに基づきます。このファイルを読み込めるユーザだけが X サーバに接続できます。通常、これが望ましい X サーバ・アクセス・コントロールの方法です。

ユーザベースのアクセス・コントロールの代わりに、ホストベースのアクセス・コントロールも可能です。この方法を使用すると、ホストが X サーバへのアクセスを与えられている場合、そのホストのすべてのユーザが X サーバに接続できます。ホストベースのコントロールを使用するのは、次のような理由からです。

Xconfig Dtlogin*authorize リソースは、ユーザベースの X サーバ・アクセス・コントロールを使用することをログイン・サーバに通知します。ホストベースのアクセス・コントロールを使用する場合は、次のように承認リソース値を False に変更します。

Dtlogin*authorize: False

X サーバ環境を変更するには

ログイン・サーバによって起動されたときに 1 つ以上の環境変数と値を X サーバに指定する場合は、XconfigDtlogin*environment リソースを使用して指定できます。

Dtlogin*environment: VAR1=foo VAR2=bar

たとえば上記は、ローカルな X サーバ・プロセスで変数 VAR1 および VAR2 を使用できるようにします。これらの変数も、Xsession および Xfailsafe スクリプトへエクスポートされます。

デフォルト言語を変更するには

ログイン画面からデスクトップにログインする場合、ユーザ・セッションは、[オプション] メニューの [言語] サブメニューから選択されたロケールで実行されます。言語を選択しない場合、ログイン・サーバはデフォルト言語を使用します。XconfigDtlogin*language リソースを次のように設定することにより、デフォルト言語の値をコントロールできます。

Dtlogin*language: Ja_JP

システムのマニュアルを調べて、システムにインストールされている言語を判定してください。

ログイン画面の[言語]メニューの内容を変更するには

デフォルトでは、ログイン・サーバは、システムにインストールされたすべてのロケールのリストが入っているログイン画面の [言語] メニューを作成します。そのリストからロケールを選択すると、ログイン・サーバは選択されたロケールでログイン画面を再表示します。その後ログインすると、ログイン・サーバはそのロケールでデスクトップ・セッションを起動します。

XconfigDtlogin*languageList リソースを変更することにより、独自の言語のリストを指定できます。

Dtlogin*languageList: En_US De_DE

上記のように指定すると、ログイン・サーバは En_US および De_DE だけをログイン画面の [言語] メニューに表示します。

ログイン画面が表示される前にコマンドを発行する

X サーバの起動後でログイン画面が表示される前に、ログイン・サーバは Xsetup スクリプトを実行します。Xsetup は root の権限に合わせて実行され、ログイン画面を表示する前に実行する必要のあるコマンドを発行します。

Xsetup を変更するには、Xsetup/usr/dt/config から /etc/dt/config へコピーします。次にログイン画面が表示されるときは、変更された Xsetup が実行されます。

ユーザ・セッション起動前のコマンドの発行

ユーザ名とパスワードを入力し、それが認証された後で、ユーザ・セッションが起動される前に、ログイン・サーバは Xstartup スクリプトを実行します。Xstartup は root の権限に合わせて実行され、ユーザ・セッションを起動する前に root として実行する必要のあるコマンドを発行します。

Xstartup を変更するには、Xstartup/usr/dt/config から /etc/dt/config へコピーします。次にログイン画面が表示されるときは、変更された Xstartup が実行されます。

デスクトップ・セッションの起動

デフォルトでは、ログイン・サーバは Xsession スクリプトを実行することによりユーザ・セッションを起動します。Xsession はユーザの権限に合わせて実行され、デスクトップの起動に必要なコマンドを発行します。


注 -

Xsession スクリプトは、直接変更しないでください。


ユーザのデスクトップ・セッション起動のカスタマイズの方法については、第 2 章「セッション・マネージャの構成」を参照してください。

復旧セッションの起動

ログイン画面の [オプション] メニューの [セッション] サブメニューから [復旧セッション] を選択する場合、ログイン・サーバは Xfailsafe スクリプトを実行します。Xfailsafe はユーザの権限に合わせて実行され、アイコン化されたウィンドウ (通常は [端末] ウィンドウとオプションのウィンドウ・マネージャ) 環境の起動に必要なコマンドを発行します。

Xfailsafe を変更するには、Xfailsafe/usr/dt/config から /etc/dt/config へコピーします。次にログイン画面が表示されるときは、変更された Xfailsafe が実行されます。

ユーザのセッションが終了した後で

ユーザがデスクトップまたは復旧セッションを終了した後、ログイン・サーバは Xreset スクリプトを実行します。Xreset は root の権限に合わせて実行され、ユーザセッションの終了後に root として実行する必要のあるコマンドを発行します。

Xreset を変更するには、Xreset/usr/dt/config から /etc/dt/config へコピーします。次にログイン画面が表示されるときは、変更された Xreset が実行されます。

ログイン・サーバ環境

ログイン・サーバは、XsetupXstartupXsessionXfailsafeXreset スクリプトへエクスポートする環境を提供します。この環境は表 1-1 で説明します。これら以外の変数も、ログイン・サーバによってエクスポートされることがあります。

表 1-1 ログイン・サーバ環境

環境 

変数 

Xsetup

Xstartup

Xsession

Xfailsafe

Xreset

説明 

LANG

デフォルト言語または選択された言語 

XAUTHORITY

(省略可能) 代替 X 許可ファイル 

PATH

Dtlogin*userPath リソース (XsessionXfailsafe) または Dtlogin*systemPath リソース (XsetupXstartupXreset) の値

DISPLAY

X サーバ接続番号 

SHELL

/etc/passwd に指定されたシェル (XsessionXfailsafe) または Dtlogin*systemShell リソース (XsetupXstartupXreset)

TZ

Dtlogin.timeZone リソースまたはシステムで決められたタイムゾーンの値

USER

 

ユーザ名 

HOME

 

/etc/passwd に指定したホーム・ディレクトリ

LOGNAME

 

ユーザ名 

ユーザ・パスまたはシステム・パスの変更

ログイン・サーバは、Xsession スクリプトと Xfailsafe スクリプトの実行時に PATH 環境変数を設定します。これらのスクリプトの代替パスを指定できます。

ユーザ・パスを変更するには

    XconfigDtlogin*userPath リソースを設定します。次に例を示します。

       Dtlogin*userPath:/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11

システム・パスを変更するには

    XconfigDtlogin*systemPath リソースを設定します。次に例を示します。

       Dtlogin*systemPath: /usr/bin/X11:/etc:/bin:/usr/bin:/usr/ucb

システム・シェルを変更するには

ログイン・サーバは、XsetupXstartupXfailsafe スクリプトの実行時に SHELL 環境変数を設定します。デフォルトは /bin/sh です。これらのスクリプトに別のシェルを指定する場合は、次のように XconfigDtlogin*systemShell リソースを設定します。

Dtlogin*systemShell: /bin/ksh

タイムゾーンを変更するには

ログイン・サーバは、XsetupXstartupXsessionXfailsafeXreset スクリプトの実行時に TZ 環境変数を設定します。デフォルト値はシステムから派生するので、通常はこの動作を変更する必要はありません。これらのスクリプトに別のタイムゾーンを指定する場合は、次のように XconfigDtlogin.timeZone リソースを設定します。

Dtlogin.timeZone: CST6CDT