dtsession コマンド
目的
CDE セッションを管理します。
構文
dtsession [options] ...
説明
dtsession コマンドは、ログインからログアウトまでのユーザー・セッション中に、ICCCM 1.1 準拠のセッション管理機能を提供します。このコマンドによってウィンドウ・マネージャーが開始され、ユーザーは、セッションの保管、セッションの復元、セッションのロック、スクリーンセーバーの開始、およびデスクトップ互換クライアントに対する色の割り当てを行うことができます。
- セッションを初期化する
- ウィンドウ・マネージャーを開始する
- ホーム・セッションまたは現行セッションを復元する
- コマンドが出されたときまたはタイムアウトが発生したときにセッション・ロックを提供する
- コマンドが出されたときまたはタイムアウトが発生したときにセッション・スクリーンセーバーを提供する
- 他のデスクトップ・クライアントに対して色割り当てサーバーとして機能する
- ホーム・セッションまたは現行セッションを保管する
- ログアウト時に確認ダイアログを表示する
- ログアウト時にセッション選択ダイアログを表示する
- セッションを終了する
「Sessions (セッション)」
セッションとは、ユーザーのデスクトップに存在するアプリケーション、設定値、およびリソースの集合です。セッション管理は、特殊なセッション・マネージャー (dtsession など) がユーザー・セッションを保管および復元できるようにする、規則とプロトコルのセットです。システムにログインしたユーザーは、ログオフしたときに使用していたものと同じ実行中のアプリケーション、設定値、およびリソースを提供されます。 ユーザーが初めてデスクトップにログインしたときは、デフォルトの初期セッションがロードされます。 それ以後は、dtsession は現行セッションおよびホーム・セッションの概念をサポートします。
- 初期セッション
- ユーザーが初めてデスクトップにログインすると、dtsession はシステム・デフォルト値を使用してユーザーの初期セッションを生成します。詳しくは、『セッション・リソース管理』および『セッション・アプリケーション管理』を参照してください。
- 現行セッション
- 実行中のユーザー・セッションは、保管されたホーム・セッションまたは保管された現行セッションからログイン時に復元された場合も、システム・デフォルトの初期セッションの場合も、常に現行セッションと見なされます。ユーザーがセッションを終了すると、ユーザーのスタイル・マネージャーの起動設定に基づいて現行セッションが自動的に保管されます。 ユーザーが次回にデスクトップにログインすると、前に保管された現行セッションが再起動されます。 デスクトップは前回にユーザーがログアウトしたときと同じ状態に復元されます。
- ホーム・セッション
- もう 1 つのオプションでは、ユーザーがログアウトしたときの状態にかかわりなく、デスクトップはユーザーがログインするたびに同じ状態に復元されます。 ユーザーは、現行セッションの状態を保管してから、ログインするたびにデスクトップでこの状態のセッションが開始されるように、スタイル・マネージャーの起動を設定することができます。
- ディスプレイ固有のセッション
- 特定のディスプレイ用に特定のセッションを実行するために、ユーザーはディスプレイ固有のセッションを作成することができます。
そのためには、ユーザーは $HOME/.dt/sessions ディレクトリーを $HOME/.dt/display にコピーすることができます。ここで、display は、実際の非修飾ホスト名です (例えば、
pablo:0は有効ですが、pablo.gato.com:0またはlocal:0は無効です) 。ユーザーがディスプレイpablo:0でログインすると、そのデザイン・パターン固有のセッションが優先されます。
ICCCM セッション管理プロトコル
アプリケーションがログアウト時に保管され、ログイン時に再始動されるためには、そのアプリケーションは単純なセッション管理プロトコルに参加している必要があります。 dtsession コマンドは ICCCM 1.1 セッション管理プロトコルをサポートします。
その状態の保管が必要なアプリケーションは、WM_SAVE_YOURSELF プロトコルに参加することができます。 そのためには、アプリケーションは、その最上位ウィンドウの 1 つのみに WM_SAVE_YOURSELF プロパティーを設定する必要があります。セッションが保管されると、dtsession はアプリケーションの最上位ウィンドウに WM_SAVE_YOURSELF クライアント・メッセージを送信します。 アプリケーションはその状態の静止保管に進みます。状態の保管中は、アプリケーションはユーザーとどのような対話もできません。 アプリケーションはその状態をファイルに保管すると考えられますから、セッション・マネージャーは DtSessionSavePath という便利な関数を提供しています。この関数は、アプリケーションがその状態を保管できるファイルの絶対パス名を戻します。アプリケーションがその状態を保管している間、dtsession はアプリケーションからの完了通知を待ちます。 保管が完了したことを dtsession に伝えるために、アプリケーションは最上位ウィンドウの WM_COMMAND プロパティーを更新する必要があります。
アプリケーションの最上位ウィンドウの WM_COMMAND プロパティーは 2 つの目的に奉仕します。 第 1 に、このプロパティーの変化により、アプリケーションがその状態の保管を完了し、dtsession が次のアプリケーションに進むことが可能になったことが、dtsession に示されます。 第 2 に、WM_COMMAND プロパティーの値には、セッションの開始時にアプリケーションを再起動するために dtsession が使用するコマンド・ラインが含まれていると予想されます。 アプリケーションは、絶対パス名を指定して開始された場合、WM_COMMAND 値を設定するときに絶対パス名を使用する必要があります。状態の保管は必要でないが再始動が必要なアプリケーションは、アプリケーションの開始時に WM_COMMAND 値を 1 回だけ設定できます。
セッションの復元
- ディスプレイ固有の現行セッションまたはホーム・セッション
- 現行セッションまたはホーム・セッション
- 初期セッション
セッション・リソース管理
- システム・デフォルト・リソースをロードする。
- システム管理者固有のリソースをマージする。
- ユーザー指定のリソースをマージする。
デスクトップのデフォルト・リソースは、/usr/dt/config/$LANG/sys.resources ファイルにあります。 これらのリソースは、RESOURCE_MANAGER プロパティーを通して各ユーザー・セッションに使用可能にされます。このファイルは、以降のデスクトップ・インストール時に無条件に上書きされるため、編集しないでください。
システム管理者は、/etc/dt/config/$LANG/sys.resources ファイルを作成することにより、システム・デフォルト・リソースを指定変更するか、さらに多くのリソースを指定することができます。このファイルはセッションの起動時にデスクトップ・デフォルト・リソースにマージされるため、このファイルには新しいリソース仕様または更新されたリソース仕様のみを入れるようにしてください。それはデスクトップ・デフォルト・リソース・ファイルのコピーを作成するよりも好ましいといえます。このファイルで指定されたリソースは、RESOURCE_MANAGER プロパティーを通して各ユーザー・セッションに使用可能にされます。このファイルで指定されたリソースは、デスクトップ・デフォルト・リソース・ファイルで指定されたものより優先されます。
ユーザーは、$HOME/.Xdefaults ファイルを編集して、デスクトップ・デフォルト・リソースとシステム管理者リソースを指定変更することができます。 このファイルで指定されたリソースは、RESOURCE_MANAGER プロパティーを通してそのユーザー・セッションのみに使用可能にされ、デスクトップ・デフォルト・リソース・ファイルやシステム管理者リソース・ファイルで指定されたリソースより優先されます。
ReloadResources アクションは、システム指定のリソース、システム管理者指定のリソース、およびユーザー指定のリソースと一緒に、RESOURCE_MANAGER を再ロードするように、セッション・マネージャーに指示します。それによって、システム管理者指定またはユーザー指定のリソース・ファイルに対して行われた変更が、新しいアプリケーションに使用可能になります。
セッション・アプリケーション管理
セッション起動時に、セッション・マネージャーはセッションの一部として保管されたアプリケーションをすべて再起動します。 ユーザーの初期セッションの一環として復元される、システムのデフォルトのアプリケーション・セットは、/usr/dt/config/$LANG/sys.session ファイルにあります。 このファイルは、以降のデスクトップ・インストール時に無条件に上書きされるため、編集しないでください。
システム管理者は、/etc/dt/config/$LANG/sys.session ファイルを作成して、ユーザーの初期セッションの一部として復元されたアプリケーションのセットを置き換えることができます。このファイルは、リソース・ファイルと異なり、デスクトップ・デフォルト・ファイルを完全に置き換えるので、システム・デフォルト・ファイルのコピーを作成して必要なすべて変更を行うことができます。
ウィンドウ・マネージャー
dtsession コマンドはウィンドウ・マネージャーを開始します。 デフォルトでは、/usr/dt/bin/dtwm が開始されます。 wmStartupCommand リソースを使用すれば、代替ウィンドウ・マネージャーを指定することができます。詳しくは、ワークスペース・マネージャーの仕様を参照してください。
スタイル・マネージャー
スタイル・マネージャーは、ユーザーが現行セッションについてデスクトップおよび X サーバーのさまざまな設定を変更するためのインターフェースを提供します。 詳しくは、スタイル・マネージャの仕様を参照してください。
カラー・サーバー
- foregroundColor
- 前景色にピクセルを割り当てるかどうかを制御します。
- dynamicColor
- 読み取り専用の色を割り当てるかどうかを指定します。
- shadowPixmaps
- トップ・シャドーまたはボトム・シャドーに色を割り当てるかどうかを指定します。
- colorUse
- 色の割り当てを制限します。
- writeXrdbColors
- *background リソースと *foreground リソースをリソース・データベースに書き込むかどうかを指定します。
セッション・ロック
dtsession コマンドは、セッションのロックを提供します。現行セッションは、フロント・パネルのロック・アイコンを押して直接ロックできます。 X サーバーがサポートしている場合は、指定された非アクティブ期間後に現行セッションをロックすることができます。 セッションをアンロックするには、ユーザーは、自分のログイン・パスワード、root ユーザーのログイン・パスワード、または keys リソースで指定されたいずれかのユーザーのログイン・パスワードを入力する必要があります。 keys リソースについて詳しくは、『画面ロックと画面保管のリソース』を参照してください。
dtsession コマンドは、サービス名 dtsession の PAM 対応セッション・マネージャーです。 このプログラムは、セッションのアンロックのために従来型の UNIX 認証のほかに PAM 認証をサポートします。 DCE で必要とされるような追加の再認証機能を、個別ベンダーが追加することもできます。
認証に PAM を使用するようにシステム全体の構成を設定するには、root ユーザー・アクセス権を確立し、/etc/security/login.cfg ファイルの usw スタンザの auth_type 属性の値を PAM_AUTH に変更します。
dtsession auth required /usr/lib/security/pam_aix
スクリーンセーバー
dtsession コマンドは、セッション・ロックの一部として外部スクリーンセーバーをフロント・パネルから起動するためのサポートを提供します。また、X サーバーによるサポートがある場合は、指定された非アクティブ期間後のスクリーンセーバーの起動をサポートします。 スクリーンセーバーをデスクトップに統合する方法については、スクリーンセーバーの仕様を参照してください。
X サーバーのスクリーンセーバー拡張機能
dtsession コマンドが指定された非アクティブ期間後にセッション・ロックまたはスクリーンセーバー起動を提供できるかどうかは、X サーバーのスクリーンセーバー拡張機能が使用可能かどうかで決まります。 dtsession コマンドは、X Consortium Sample X11 Screen Saver Extension 1.0 と HP X Screen Saver Extension をサポートします。 dtsession コマンドがこれらの拡張機能の両方またはいずれかを認識できるかどうかは、ベンダーに依存します。
セッション・マネージャーの始動
dtsession コマンドは、Xsession スクリプトから開始する必要があります。Xsession はログイン・マネージャーの仕様で説明されています。 Xsession の開始は、デフォルトのログイン・シーケンスの一環として dtlogin から行うことをお勧めします。ただし、一部のシステムでは、xinit、x11start、startx などのプロキシー・プログラムから Xsession を開始することもできます。
カラー・サーバー・リソース
| 項目 | 説明 |
|---|---|
| colorUse |
|
| dynamicColor |
|
| foregroundColor |
|
| shadowPixmaps |
|
| writeXrdbColors |
|
画面ロックと画面保管のリソース
| 項目 | 説明 |
|---|---|
| keys |
|
| passwordTimeout |
|
その他のリソース
| 項目 | 説明 |
|---|---|
| queryServerSettings |
|
| saveFontPath |
|
| wmStartupCommand |
|
終了状況
次の終了値が戻されます。
| 項目 | 説明 |
|---|---|
| 0 | 正常終了。 |
| >0 | エラーが発生しました。 |
例
- 前のセッションを復元せずにコマンド・ラインからセッション・マネージャーを起動するには、次のように入力します。
dtsession -norestore
位置
/usr/dt/bin/dtsession
ファイル
| 項目 | 説明 |
|---|---|
| /usr/dt/config/$LANG/sys.session | ユーザーの初期セッション用のアプリケーションのデスクトップ・デフォルト・セット。 |
| /etc/dt/config/$LANG/sys.session | ユーザーの初期セッション用のシステム管理者指定のアプリケーション・セット。 |
| /usr/dt/config/$LANG/sys.resources | デスクトップ・デフォルト・リソース。 |
| /etc/dt/config/$LANG/sys.resources | システム管理者指定のリソース。 |
| $HOME/.Xdefaults | ユーザー指定のリソース。 注: dtsession コマンドはセッション情報を $HOME/.dt/display または $HOME/.dt/sessions に保管します。
これらのディレクトリーの内容をユーザーが直接編集してはなりません。
|
| /usr/dt/app-defaults/$LANG/Dtsession | デフォルトの dtsession リソース。 |