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

追加セッション起動のカスタマイズ

この節では、次の作業について説明します。

環境変数を設定するには

    システム共通環境変数を設定するには、変数を設定してエクスポートする /etc/dt/config/Xsession.d ディレクトリにファイルを作成します。

たとえば、実行可能な sh または ksh スクリプトである /etc/dt/config/Xsession.d/myvars を作成すると、次の行が含まれています。

export MYVARIABLE="value"

変数 MYVARIABLE は、次のログイン時に各ユーザの環境に設定されます。

    個人用環境変数を設定するには、HomeDirectory/.dtprofile に変数を設定します。

たとえば次の行により、変数 MYVARIABLE は、次のログイン時に各ユーザの環境に設定されます。

export MYVARIABLE="value"

注 -

セッション・マネージャは .profile または .login ファイルを自動的に読み込みません。しかし、これらのファイルを使用するために構成することはできます。詳細は、「オプションとしての .profile または .login スクリプトの参照」を参照してください。


リソースを設定するには

    システム共通リソースを設定するには、/etc/dt/config/language/sys.resources ファイルにリソースを追加します (ファイルを作成する必要がある場合があります)。


注 -

.dtprofile は、/bin/sh または /bin/ksh 構文だけをサポートします。


たとえば、/etc/dt/config/C/sys.resources に下記の行を指定すると、リソース AnApplication*resource は、次のログイン時に各ユーザの RESOURCE_MANAGER 属性に設定されます。

AnApplication*resource: value

    個人用リソースを設定するには、HomeDirectory/.Xdefaults ファイルにリソースを追加します。

ディスプレイに固有のリソースを設定するには

システム上のすべてのデスクトップ・ユーザに対してディスプレイに固有のリソースを設定できます。また、ユーザのセッションに制限されたディスプレイに固有のリソースを設定できます。この設定により、ユーザがデスクトップにログインするディスプレイに応じて、リソースを指定できるようになります。

    システム上のすべてのデスクトップ・ユーザのディスプレイに固有のリソースを設定するには、ディスプレイに固有のリソースを指定する /etc/dt/config/language/sys.resources ファイルを作成します。

    個人用ディスプレイに固有のリソースを設定するには、HomeDirectory/.Xdefaults ファイルにリソースを指定します。

cpp 条件文でこれらのリソースを囲むことにより、リソースを区切ります。DISPLAY_displayname マクロが $DISPLAY 変数の値に応じて定義されます。これは、すべての . (ピリオド) と : (コロン) 文字を _ (下線文字) に変換し、画面の指定を取り除き、最後に DISPLAY_ という接頭辞をその結果に付けます。

たとえば、:0$DISPLAYDISPLAY_0 になり、blanco.gato.com:0.0$DISPLAYDISPLAY_blanco_gato_com_0 になります。結果の値は、セッションのリソース・ファイルの cpp テストの一部として使用できます。たとえば、/etc/dt/config/C/sys.resources では、次のように指定します。

Myapp*resource: value
#ifdef DISPLAY_blanco_gato_com_0
    Myapp*resource: specialvalue1
    #endif
#ifdef DISPLAY_pablo_gato_com_0
    Myapp*resource: specialvalue2
    #endif

この場合、リソース MyApp*resource は、ディスプレイ blanco.gato.com:0 にログインするときは specialvalue1 に対して、pablo.gato.com:0; にログインするときは specialvalue2 に対して、別のディスプレイにログインするときは value に対して、それぞれ RESOURCE_MANAGER に設定されます。

初期セッションのアプリケーションを変更するには

ユーザの初期セッションの一部として起動する代わりのアプリケーションを指定できます。

  1. /usr/dt/config/language/sys.session/etc/dt/config/language/sys.session にコピーします。

  2. 新規の sys.session ファイルを変更します。

    sys.session にある各エントリは次のように表示されます。

       dtsmcmd -cmd command_and_options
    

    ユーザの初期セッションの一部として追加のアプリケーションを起動するには、絶対パス名で新しい sys.session エントリを指定します。たとえば、ユーザの初期セッションの一部として /usr/bin/X11/xclock を起動するには、xclock エントリを /etc/dt/config/C/sys.session に追加します。

       #
    # Start up xclock...
    #
    dtsmcmd -cmd "/usr/bin/X11/xclock -digital"

ディスプレイに固有のセッションを設定するには

特定のディスプレイに合わせてセッションを調節するように、ディスプレイに、固有のセッションを設定できます。

    HomeDirectory/.dt/sessions ディレクトリを HomeDirectory/.dt/display にコピーします。この場合 display は実際に存在する修飾していないホスト名です (pablo:0 は有効で、pablo.gato.com:0unix:0 は無効です)。

たとえば、ディスプレイ pablo.gato.com:0 のディスプレイに固有のセッションを作成するには、次のように指定します。

cp -r HomeDirectory/.dt/sessions HomeDirectory/.dt/pablo:0

ディスプレイ pablo.gato.com:0 に次にログインしたときには、セッション・マネージャはそのディスプレイに固有のセッションを起動します。

セッションの起動時とログアウト時の追加コマンドの実行

デスクトップ・セッションにログインしたときに、追加コマンドが起動されるように指定できます。これは、セッション・マネージャが保存しない X の設定を行う場合に有用です。たとえば、ユーザは xsetroot を使用してルート (ワークスペース)・ポインタをカスタマイズできます。もう 1 つの使用方法は、セッション・マネージャによって保存および復元できないアプリケーションを起動することです。セッションが復元されたときにアプリケーションが再起動しない場合、ユーザはこの方法を使用して、クライアントを起動できます。

セッションの起動時に追加コマンドを実行するには

    コマンドが入っている HomeDirectory/.dt/sessions/sessionetc ファイルを作成します。

    通常、このファイルはスクリプトで、実行権を持っていなければなりません。sessionetc で起動されるプロセスはバックグラウンドで実行されなければなりません。


注 -

セッション・マネージャによって自動的に復元されるクライアントを起動するために、sessionetc を使用しないでください。使用すると、複数のアプリケーションのコピーが起動されてしまいます。ウィンドウは、もう 1 つのウィンドウの上部に重なることがあるので、コピーをすぐに見つけられない可能性があります。


ログアウト時に追加コマンドを実行するには

sessionetc に付属したファイルは sessionexit です。セッション・マネージャが処理しないセッション終了時のオペレーションのいくつかを実行するには、sessionexit を使用します。

    HomeDirectory/.dt/sessions/sessionexit ファイルを作成します。

    sessionetc と同様に、このファイルは通常は実行権を持っているスクリプトです。

バックアップからセッションを復元するには

セッション・マネージャがセッションを保存すると、ディスプレイに固有のセッションを使用している場合は、セッション情報が HomeDirectory/.dt/sessions ディレクトリまたは HomeDirectory/.dt/display ディレクトリに保存されます。現在のセッションまたはホーム・セッションそれぞれに関する情報を格納するために、セッション・マネージャは current または home という名前のサブディレクトリをこれらのディレクトリに作成します。セッション情報が格納される前に、セッション・マネージャはその名前で以前のセッションのバックアップを作成し、current.oldhome.old に格納します。

  1. ログイン画面から [復旧セッション] か [コマンド行ログイン] を使用してログインします。

  2. バックアップのセッション・ディレクトリを有効な名前にコピーします。たとえば、バックアップのホーム・セッションを復元するには、次のようにします。

       cp -r HomeDirectory/.dt/sessions/home.old  HomeDirectory/.dt/sessions/home

ディスプレイに固有のセッションも同じ方法で復元できます。

セッションの起動に関する問題を調べるには

    HomeDirectory/.dt/startlog ファイルをチェックします。

    セッション・マネージャは、このファイルに各ユーザのセッション起動の経過状況を記録します。