HP OpenVMS Systems Documentation |
本章には, DECwindows起動後に行う作業の情報が含まれています。
トピック | セクション |
---|---|
ディスプレイの設定 | 第4.1節 |
SHOW DISPLAYコマンドの使用 | 第4.1.2 項 |
ログイン・シーケンス | 第4.2節 |
セッション・マネージャ環境のカスタマイズ | 第4.3節 |
ロゴの変更 | 第4.3.1 項 |
専用アカウントの作成 | 第4.3.2項 |
システム・リソース・ファイルの変更 | 第4.5節 |
プリント・フォーマットのカスタマイズ | 第4.6節 |
クライアント・アプリケーションが起動すると,アプリケーションはディスプレイ・ サーバとの接続を一つあるいは複数オープンします。ディスプレイ・ サーバは,ローカルまたは遠隔ノードに設置できます。アプリケーションは, 基礎となるツールキット,組み込みルーチンやXlibルーチンにディスプレイ・ サーバのノード名やほかの属性を伝えなければなりません。 この情報は, "display name"(ディスプレイ名)と呼ばれる文字列に含まれています。
アプリケーションはディスプレイ名を基礎ルーチンに渡せます。しかし通常, アプリケーションは基礎ルーチンにヌルのディスプレイ名を渡します。Xlib がディスプレイをオープンする際に,ディスプレイ名を探すために論理名DECW$DISPLAY を変換します。DECW$DISPLAYが定義されていない場合は, Xlib は論理名SYS$OUTPUTを変換します。
ディスプレイ名のフォーマットは以下のいずれかとなります(大括弧[] は,オプションの構文を表し,ディスプレイ名の一部としては含まれていません) 。
node::server[.screen] node:server[.screen] WSAn:
ノード | ディスプレイ・サーバが実行されているノード名を指定します。
ノード名の次にコロン(:)が2つある場合,
XlibはDECnetトランスポートを使用してディスプレイ・サーバとの接続を行います。
ノード名の次にコロンが1つある場合, XlibはTCP/IPトランスポートを使用します。 コロンが1つの構文は,日本語DECwindows Motif for OpenVMS V1.2以前のバージョンではサポートされておりませんので注意してください。 |
サーバ | ホスト・コンピュータのディスプレイ・ サーバの番号(10進数)を指定します。1台のCPU に1台以上のディスプレイを割り当てることができます。複数のディスプレイの番号は通常, 0 から始まります。 |
画面 | 指定サーバが使用する画面を10進数で指定します。1 台のサーバは複数の画面に表示できます。また,画面番号は0 から始まります。画面番号はオプションです。 |
WSAn: | トランスポート,ノードおよびサーバ番号,画面番号が入っているWS デバイスのデバイス名を指定します。 |
通常,ディスプレイは親プロセスから受け継ぐか,あるいはDCLコマンド, SET DISPLAYで指定します。SET DISPLAYコマンドはWSAn:デバイスを作成, あるいは変更し,トランスポート,ノード名,サーバ番号,画面番号を設定します。
SET DISPLAYコマンドはまた,このデバイスを指すためにDECW$DISPLAY論理名を定義します。DECW$DISPLAY がWSAn:デバイスを指していることがXlib にわかれば,アプリケーションが明確に指定した場合と同様, Xlibはトランスポート, ノード名,その他の情報を読むことができます。
以下は,ディスプレイの設定方法をいくつか示した例です。
$ DEFINE DECW$DISPLAY DOG::0 $ RUN SYS$SYSTEM:DECW$CLOCK
$ SET DISPLAY/CREATE/NODE=DOG $ RUN SYS$SYSTEM:DECW$CLOCK
SET DISPLAYコマンドでは,トランスポートの省略時設定はDECnetで, サーバと画面番号の省略時設定は共に0であることに注意してください。/CREATE 修飾子は,新しいWSAn:デバイスが作成されるという意味です。
$ DEFINE DECW$DISPLAY DOG:0.1 $ RUN SYS$SYSTEM:DECW$CLOCK
$ SET DISPLAY/TRANSPORT=TCPIP/SCREEN=1 $ RUN SYS$SYSTEM:DECW$CLOCK
SET DISPLAYコマンドは, WSAn:が既に作成され,ノード名がDOGと設定されていることを前提とします。
$ SET DISPLAY/CREATE/TRANSPORT=LOCAL $ RUN/DETACH/OUTPUT='F$TRNLNM("DECW$DISPLAY")' - _$ SYS$SYSTEM:DECW$CLOCK
この方法は, DECW$DISPLAYが定義されていない場合, Xlibが論理名SYS $OUTPUTを変換してディスプレイ名を探すという点を利用しています。 XlibはSET DISPLAYコマンドを使用してWSAn:デバイスを作成してから, DECW$DESPLAY論理名を変換してWSデバイスのデバイス名を探します。 Xlibは,切り離されたプロセスのSYS$OUTPUTとしてこのデバイス名を渡します。
WSデバイスではNLデバイスと同様に,デバイスからのQIO読み取りがEOF を返し,デバイスへのQIO書き込みが無視されます。
$ SET DISPLAY/CREATE/TRANSPORT=LOCAL $ CREATE TEST.COM $ RUN SYS$SYSTEM:DECW$CLOCK $ RUN/DETACH/ERROR='F$TRNLNM("DECW$DISPLAY")' - /INPUT=TEST.COM/OUTPUT=TEST.LOG - SYS$SYSTEM:LOGINOUT
SHOW DISPLAYコマンドを使って, WSデバイスからの情報を表示できます。 以下は同コマンド・シーケンスの例です。
$ SET DISPLAY/CREATE $ SHOW DISPLAY
Device: WSA9: [super] Node: 0 Transport: DECNET Server: 0 Screen: 0
/SYMBOL修飾子を使用して以下の例のように, SHOW DISPLAYコマンドからの情報をDCL シンボルに格納できます。
$ SHOW DISPLAY/SYMBOL $ SHOW SYMBOL DECW$*
DECW$DISPLAY_NODE == "0" DECW$DISPLAY_SCREEN == "0" DECW$DISPLAY_SERVER == "0" DECW$DISPLAY_TRANSPORT == "DECNET"
上記の前の例では, WSA9:はスーパーバイザ・モードで作成されています。
SYSNAM特権を持つユーザは,監視モードでディスプレイを作成することもできます。 スーパーバイザ・モードのWSデバイスは,このデバイスに対する最後のチャネルの割当が解除されると削除されます。 しかし監視モードのWS デバイスは,ユーザーがSET DISPLAY/DELETEコマンドで直接削除しない限り削除されません。
以下は, SYSNAM特権を持つユーザが監視モードのWSデバイスを作成する方法例です。
$ SET DISPLAY/CREATE/EXEC $ SHOW DISPLAY
Device: WSA10: [exec] Node: 0 Transport: DECNET Server: 0 Screen: 0
システムの再起動後にDECwindowsが起動すると, DECW$STARTAPPS.COMコマンド・ プロシージャが監視モードのWSデバイス(最初はWSA1:)を作成し,これをDECwindows ログイン・プロシージャに渡して,「セッション起動」画面を作成します。 ユーザがログインすると,これと同じWSデバイスを使って「セッション・ マネージャ」を作成します。
セッション・マネージャがアプリケーションを起動すると, WSデバイスは 第4.1節で説明のDECW$DISPLAYメカニズムによりアプリケーションに渡されます。 この例として,セッション・マネージャから作成される「漢字端末エミュレータ」ウィンドウ( このウィンドウでは, SET DISPLAY コマンドが発行されていないと仮定した場合)があります。
「漢字端末エミュレータ」ウィンドウから起動されたDECwindowsのアプリケーションは, ユーザーがSET DISPLAYコマンドを発行しなくともローカル・ ノードに表示されることに注意してください。
この節では,「セッション起動」ダイアログ・ボックスが現れてからセッション・ マネージャが起動するまでのDECwindowsのログイン手順を説明します。
正しいユーザ名とパスワードを「セッション起動」ダイアログ・ボックスに入力すると, 次の処理が行われます。
DECwindows Motifには,ログイン・シーケンスを変更してカスタマイズできるテンプレート・ ファイルが備わっています。下記がテンプレート・ファイルです。
SYS$MANAGER:DECW$PRIVATE_APPS_SETUP.TEMPLATE
このファイルを使用して, 表 4-1 のクライアント領域を変更します。
クライアント領域 | グローバル・シンボル | 省略時設定 |
---|---|---|
オンライン・ ブックを探すのにブックリーダが使用するディレクトリ | DECW$BOOK | SYS$COMMON:[DECW$BOOK] |
ファイルビュー・コマンド・ファイルのディレクトリ | VUE$LIBRARY | DECW$SYSCOMMON:[VUE$LIBRARY.USER], DECW$SYSCOMMON: [VUE$LIBRARY.SYSTEM] |
キーマップ・ ファイルのディレクトリ | DECW$KEYMAP | DECW$SYSCOMMON: [SYS$KEYMAP.DECW.USER], DECW$SYSCOMMON: [SYS$KEYMAP.DECW.SYSTEM] |
DECwindowsプログラム例のディレクトリ | DECW$EXAMPLES | SYS$COMMON:[SYSHLP.EXAMPLES.DECW] |
XDPSプログラム例のディレクトリ | XDPS$EXAMPLES | SYS$COMMON:[SYSHLP.EXAMPLES.XDPS] |
DECwindows起動が完了すると実行されるDCLコマンド | DECW$MAINAPP | SYS$SYSTEM:DECW$STARTLOGIN を実行 |
ログイン・ロゴ | DECW$LOGINLOGO | 無し |
SET DISPLAYコマンドのパラメータ | DECW$APPSNODE DECW$APPSSERVER DECW$APPSSCREEN | ノード0 サーバ0 画面0 |
ユーザ確認が完了すると実行されるコマンド・ プロシージャ | DECW$SESSIO NCOM | SYS$MANAGER:DECW$STARTSM.COM |
DECwindowsのSYLOGINコマンド・プロシージャ | DECW$SYLOGINCOM | 無し |
正しいユーザ・リソース値でワークステーションを初期化するコマンド | DECW$SESSIONINIT | SYS$SYSTEM:DECW$WSINIT を実行 |
セッションを実行するコマンド | DECW$SESSIONMAIN | SYS$SYSTEM:DECW$SESSIONを実行 |
セッションをリセットするコマンド | DECW$SESSIONEND | 無し |
DECwindows LOGINOUTのログ・ ファイル | DECW$LOGINLOG | 無し |
ログインアウト中の複数接続の使用 | DECW$LOGINMANY | 許可されていない |
セッション・マネージャをオフにできるログ・ ファイル | DECW$SESSIONLOG | ログ・ファイルはオン |
コンピュータ・ ベース命令ファイルのディレクトリ | DECW$CBI | SYS$SYSROOT:[SYSCBI.DECW$CBI] |
ファイルビューが共用プロファイル・ファイルを作成するディレクトリ | VUE$LIBRARY_ WRITE | SYS$COMMON:[VUE$LIBRARY.USER] |
ユーティリティのディレクトリ | DECW$UTILS | SYS$SYSROOT: [SYSHLP.EXAMPLES.DECW.UTILS] |
サブプロセスで実行可能なログイン・ ロゴ | DECW$LOGINLOGOSUB | 偽(切り離されたプロセス) |
UNIXとの互換性定義論理名 | DECW$UNIXLOGICALS | 真 |
スナップショットを実行するために必要なログインまたはポーズ | DECW$SNAPSHOT_SECURITY | 真 |
これらの領域のいずれかをカスタマイズするには, SYS$MANAGER:DECW$PRIVATE_APPS_SETUP.TEMPLATEファイルを以下の要領でSYS$MANAGER:DECW$PRIVATE_APPS_SETUP.COM にコピーします。
$ COPY SYS$COMMON:[SYSMGR]DECW$PRIVATE_APPS_SETUP.TEMPLATE - _$ SYS$SPECIFIC:[SYSMGR]DECW$PRIVATE_APPS_SETUP.COM/LOG
その後,ファイルを編集して該当するシンボルを変更します。
本章の残りの節では,テンプレート・ファイルを使用してDECwindowsのクライアント環境をカスタマイズする実行例を説明します。
DECwindowsにログインするには,「セッション起動」画面を使用しなければなりませんが, ユーザのロゴを表示するアプリケーションを実行すると, digitalロゴをユーザのロゴで置き換えることができます。
これには, DECW$PRIVATE_APPS_SETUP.COMファイルにグローバル・シンボルを定義し, ユーザのロゴを表示するコマンドを含むDCLコマンド・ファイルを作成する必要があります。
ユーザのロゴをログイン画面に表示するには,以下を実行する必要があります。
$ COPY SYS$COMMON:[SYSMGR]DECW$PRIVATE_APPS_SETUP.TEMPLATE - _$ SYS$SPECIFIC:[SYSMGR]DECW$PRIVATE_APPS_SETUP.COM/LOG
以下の行を加えます。
$ DECW$LOGINLOGO == "SYS$MANAGER:MYLOGO.COM"
たとえば, SYS$MANAGER:MYLOGO.COMファイルにこのコマンドを入れて, プログラム例として供給されている二十面体を表示することも可能です。
$ RUN DECW$EXAMPLES:ICO
$ @SYS$STARTUP:DECW$STARTUP RESTART
Digitalロゴを復元するには, DECW$PRIVATE_APPS_SETUP.COMファイルからDECW$LOGINLOGO の定義を取り除き, DECwindowsを再起動します。
システム管理者は,特定のアプリケーションだけを実行するユーザ・アカウントをセットアップできます。 たとえば,一般ユーザーに「ブックリーダ」アプリケーションだけを使用させる場合が考えられます。
本節では,専用DECwindowsアカウントをセットアップする次の三種類の方法を説明します。
グローバル・シンボルDECW$SESSIONCOM をSYS$MANAGER:DECW$PRIVATE_APPS_SETUP.COMファイルに定義すると, ユーザがログインした時, LOGINOUTがDECW$STARTSM.COM以外のコマンド・ ファイルを実行します。これにより,セッション・マネージャをバイパスします。
例 4-1では, DECW$SESSIONCOMはDECW$PRIVATE_APPS_SETUP.COM に定義され,私用コマンド・プロシージャであるSYS$MANAGER:PRIVATE_SESSIONCOM.COM を指すようになっています。 省略時設定のコマンド・ファイルは, SYS$MANAGER:DECW$STARTSM.COM です。
DECW$SESSIONCOMはシステム論理名テーブルに定義されているため,すべてのユーザ名についてセッション・ マネージャの起動に影響します。私用コマンド・ ファイルは実行中のユーザ名をチェックして,非専用アカウントの通常のDECW$STARTSM.COM プロシージャを実行する必要があります。
セッション・マネージャのコマンド・プロシージャを変更する場合は以下の手順で行ってください。
$ CREATE SYS$MANAGER:PRIVATE_SESSIONCOM.COM $! $! Check to see whether this is the dedicated DECwindows account. $! If it isn't, run the normal procedure to start the $! Session Manager. $! $ username = F$USER() $ IF F$LOCATE("BOOK_READER", username) .NE. F$LENGTH(username) - THEN GOTO dedicated $! $! Normal, nondedicated DECwindows login $! $ @SYS$MANAGER:DECW$STARTSM $ EXIT $! $! Dedicated DECwindows login. Run Bookreader and then exit. $! $ dedicated: $! $ RUN SYS$SYSTEM:DECW$WSINIT $ display = F$LOGICAL("decw$display") $ RUN/DETACHED/OUTPUT='display' SYS$SYSTEM:DECW$MWM 【1】 $ RUN SYS$SYSTEM:DECW$BOOKREADER $ endsession := $DECW$ENDSESSION 【2】 $ endsession -noprompt 【3】 $ STOP/ID=0 【4】
$ DECW$SESSIONCOM :== SYS$MANAGER:PRIVATE_SESSIONCOM.COM
SYS$MANAGER:DECW$PRIVATE_APPS_SETUP.COMが存在しない場合には,以下のようにテンプレート・ ファイルから作成します。
$ COPY SYS$MANAGER:DECW$PRIVATE_APPS_SETUP.TEMPLATE - _$ SYS$COMMON:[SYSMGR]DECW$PRIVATE_APPS_SETUP.COM
$ @SYS$MANAGER:DECW$STARTUP RESTART
この処理は, DECW$PRIVATE_APPS_SETUP.COMに加えた変更を有効にするために必要です。
ユーザ名と専用アカウントのパスワードを入力すると,ブックリーダが起動し, セッション・マネージャは表示されません。ユーザがブックリーダを終了すると, PRIVATE_SESSIONCOM.COM プロシージャがセッションを終了して, ログアウトします。セッション終了コマンドが「セッション起動」画面を表示します。
DECW$SESSIONMAINをSYS$MANAGER:DECW$PRIVATE_APPS_SETUP.COMファイルに定義すると, DECW$STARTSM.COM がDECW$SESSION.EXEの代わりに,指定されたコマンド・ ファイルを実行します。セッション・マネージャはリソース・ ファイルを読み込み,ログイン・コマンド・ファイルを実行しますが, セッション・マネージャのメニュー・バーは表示されません。この方法では, セッション終了コマンドが確認を求めないことを確かめる必要があります。
DECW$STARTSM.COMが起動すると(つまり, DECW$SESSIONCOMに省略時設定の値が設定されている場合), 論理名DECW$SESSIONMAINに定義されているDCL コマンドを実行してセッション・マネージャを起動します。この論理名を定義するには, グローバル・シンボルDECW$SESSIONMAINを実行するDCLコマンドとして定義するよう, SYS$MANAGER:PRIVATE_APPS_SETUP.COM を編集します。
この方法は, 第4.3.2.1項で説明された方法に似ていますが, 以下の点が異なります。この方法では, DECW$STARTSM.COM がSYLOGIN.COM, LOGIN.COM, DECW$SYLOGIN.COM, DECW$LOGIN.COMの各コマンド・ プロシージャを実行します。またDECW$STARTSM.COMがDECW$WSINIT.EXE を実行するため,私用コマンド・プロシージャがこれを実行する必要はありません。
セッション・マネージャの実行可能ファイルを変更するには以下の手順に従ってください。
$ CREATE SYS$MANAGER:PRIVATE_SESSIONMAIN.COM $! $! Check to see whether this is the dedicated DECwindows account. $! If it isn't, run the normal procedure to start the $! Session Manager. $! $ username = F$USER() $ IF F$LOCATE("BOOK_READER", USERNAME) .NE. F$LENGTH(USERNAME) - THEN GOTO dedicated $! $! Normal, nondedicated DECwindows login $! $ RUN SYS$SYSTEM:DECW$SESSION $ EXIT $! $! Dedicated DECwindows login. Run Bookreader and then exit. $! $ dedicated: $! $ display = F$LOGICAL("decw$display") $ RUN/DETACHED/OUTPUT='display' SYS$SYSTEM:DECW$MWM 【1】 $ RUN SYS$SYSTEM:DECW$BOOKREADER $ endsession := $DECW$ENDSESSION 【2】 $ endsession -noprompt 【3】 $ STOP/ID=0 【4】
このコマンド・プロシージャを編集し, DECW$SESSIONMAINを定義します。 このシンボルはDCLコマンドとして定義しなければなりません(コマンド・ プロシージャ名として定義されるDECW$SESSIONCOMとは異なる) 。
$ DECW$SESSIONMAIN :== @SYS$MANAGER:PRIVATE_SESSIONMAIN.COM
SYS$MANAGER:DECW$PRIVATE_APPS_SETUP.COMが存在しない場合は,以下のようにテンプレート・ ファイルから作成します。
$ COPY SYS$MANAGER:DECW$PRIVATE_APPS_SETUP.TEMPLATE - _$ SYS$COMMON:[SYSMGR]DECW$PRIVATE_APPS_SETUP.COM
$ @SYS$MANAGER:DECW$STARTUP RESTART
この処理は, DECW$PRIVATE_APPS_SETUP.COMに加えた変更を有効にするために必要です。
専用アカウンドのユーザ名とパスワードを入力すると,ブックリーダが起動し, セッション・マネージャのメニュー・バーは表示されません。ブックリーダを終了すると, PRIVATE_SESSIONMAIN.COM プロシージャがセッション終了操作を行ってからログアウトします。 セッション終了コマンドはDECwindows 「セッション起動」画面を表示します。
この方法ではセッション・マネージャを通常通りに起動しますが,システム管理者は自動的に起動しないアプリケーションを削除して, メニューをカスタマイズします。 システム管理者はある種のアプリケーションを削除することによって, ユーザのアプリケーションへのアクセスを制限します。
この方法では,セッション・マネージャのメニュー・バーは表示され,ユーザは, システム管理者がオフにしないどのダイアログ・ボックスとも対話できます。
セッション・マネージャのプロファイル・ファイルを変更するには,以下の手順に従ってください。
専用アカウントのユーザ名とパスワードを入力すると,セッション・マネージャが起動します。
セッション・マネージャの「オプション」メニューから「自動起動... 」を選びます。セッション・マネージャが「自動起動」ダイアログ・ ボックスを表示します。
このダイアログ・ボックスを使用して,「ファイルビュー」などの不要なアプリケーションを自動起動リストから削除します(自動起動」ダイアログ・ ボックスの使用に関して詳しくは, 『VMS DECwindows Motif User's Guide』を参照してください)。
この例ではリストに「ブックリーダ」を加え,「了解」でクリックします。
セッション・マネージャの「オプション」メニューから「メニュー・ バー...」を選択します。セッション・マネージャは「メニュー・バー」ダイアログ・ ボックスを表示します。
このダイアログ・ボックスを使用して,表示したくないアプリケーションを削除します。( 「メニュー」ダイアログ・ボックスの使用に関しては, 『VMS DECwindows Motif User's Guide』を参照してください。)
「了解」でクリックして変更を保管し,ダイアログ・ボックスを消します。
セッション・マネージャの「オプション」メニューから「メニュー... 」を選択し,セッション・マネージャの「オプション」メニューから以下のメニュー項目を削除します。
専用アカウントで一般ユーザにアクセスを許可したくない「セキュリティ」などの他のメニュー項目も削除する必要があります。
メニュー項目を削除したら,「了解」でクリックしてダイアログ・ボックスを消し, メニュー設定を保管します。
ここで専用アカウントからログアウトし,セッション・マネージャがDECwindows のログイン・ボックスを表示します。
変更をテストするには, DECwindowsログイン・ボックスから専用アカウントにログインします。 ブックリーダとセッション・マネージャが省略時設定で起動し, これ以外のアプリケーションは起動できないはずです。ログアウトするには, セッション・メニューから「セッション終了」を選択します。
アカウントを非専用アカウントに戻すか,あるいはシステムのメニュー・ バーから削除したダイアログ・ボックスに変更を加えるには,専用アカウントのSYS$LOGIN ディレクトリからVUE$PROFILE.VUE$DATファイルを削除または名称変更します。
DECwindowsのセッション・マネージャの動作を,いくつかの論理名を使用して変更できます。 これらの論理名は,通常は使用されませんが,同一システム上で二つのセッション・ マネージャを実行している場合などの特別な状況では役に立つことがあります。 表 4-2はこれらの論理名とその意味の表です。
論理名 | 意味 |
---|---|
DECW$VUENOAUTOSTART | セッション・マネージャの自動起動リストのアプリケーションを起動させない。 |
DECW$VUENORESET | セッション・マネージャ終了時, ディスプレイ・サーバをリセットしない。 |
DECW$VUELOGINOUTPUT | セッション・マネージャからアプリケーションが起動する時, ログイン・コマンド・ファイル(SYSLOGIN, LOGIN, DECW$LOGIN) からの出力を保管する。「セッション・ マネージャ」ウィンドウのセッション・メニューにある,「処理中」ダイアログ・ ボックスの「出力表示」ボタンをクリックするとこの情報にアクセスできる。 |
これらの論理名は,漢字端末エミュレータあるいはログイン・コマンド・ ファイル(SYSLOGIN, LOGIN, DECW$LOGINファイル)で定義できます。これらの論理名を設定するには, 以下の例のように論理名に値を定義します。
$ DEFINE DECW$VUENOAUTOSTART 1
大部分のDECwindowsアプリケーションには, DECwidnows環境のカスタマイズとユーザーの設定保管用のオプションがあるダイアログ・ ボックスが備わっています。 たとえばセッション・マネージャの「オプション」メニューを使用すると, 事前に定義された設定を調べてから,新しい設定を選択, 保管できます。
ただしすべてのアプリケーションに,設定の変更,保管用のダイアログ・ボックスが備わっているわけではありません。 たとえば,あるアプリケーションでアプリケーションの主要ウィンドウのサイズや位置を変更, 保管できても, ほかのアプリケーションではできません。ダイアログ・ボックスでは行えない設定の変更, 保管は, DECW$XDEFAULTS.DATファイルにリソースを指定することで可能です。
リソースを使用してアプリケーションの設定を変更する場合は,論理名DECW$USER_DEFAULTS で指定されているディレクトリに,ファイル(DECW$XDEFAULTS.DAT) を作成します。このファイルに,変更したいアプリケーション用リソースの設定を指定します。 または,変更がある一つのアプリケーション専用である場合は, そのアプリケーションのリソース・ ファイル(たとえば, DECW$MAIL.DAT)を変更することで行うことができます。
DCW$XDEFAULTS.DATファイルの各リソース指定は,構文規則に厳密に従っていることに注意してください。 リソースの構文について詳しくは, 『VMS DECwindows Guide to Xlib (Release 4) Programming: MIT C Binding』または『X Window System 』を参照してください。
以下のアプリケーションのリソースについては, 『VMS DECwindows Motif User's Guide』を参照してください。
本節では,プリント・フォーマットの設定方法を説明し, DECwindows Motifソフトウェア用の論理名および関連プリント・ フォーマットを示します。構成によっては, DECwindows Motif のカスタマイズ・ タスクにプリント・フォーマットを指定する論理名の定義を含むことも可能です。
システムを起動する前に,日本語OpenVMS起動プロシージャを編集し, プリント・キューをプリント・フォーマットに対応させる論理名を定義します。 この起動プロシージャは続いてDECwindows Motif起動プロシージャを呼び出します。
多くのDECwindows Motifアプリケーションで, 「印刷」ダイアログ・ボックスを使用してファイルや画面をプリンタ・ キューに入れます。省略時設定では,システムのすべての印刷デバイスが「プリンタ」リスト・ ボックスに表示されます。ただし論理名を定義すれば, 印刷キューをプリント・フォーマットに対応させることもできます。DECwindows Motif 起動プロシージャを呼び出す前に, 日本語OpenVMS起動コマンド・プロシージャに論理名を定義します。 プリント・キューはコンマまたはスペースで区切って並べます。 この場合,最初のキューが省略時の設定となります。
表 4-3の論理名のいずれかを定義すれば, 「印刷」ダイアログ・ボックスに表示されるプリンタ・キューのリストをカスタマイズできます。 この方法は,「印刷」ダイアログ・ボックスを使用してシステム上のすべてのキューの名称(このうち多くは, 該当するプリンタ・ フォーマットに当てはまりません)を導き出すより,早く実行できます。 下記は,日本語OpenVMS起動ファイルにプリント・フォーマットの論理名を定義する方法例です。
$ Define DECW$PRINTER_FORMAT_TEXT "CLUSTER_LN03,CLUSTER_PRINT, - _$ ANSI_ARTWRK,ANSI_PROTON" $ Define DECW$PRINTER_FORMAT_LINE "CLUSTER_PRINT" $ Define DECW$PRINTER_FORMAT_ANSI2 "CLUSTER_LN03,ANSI_ARTWRK,ANSI2_PROTON" $ Define DECW$PRINTER_FORMAT_ANSI "CLUSTER_LN03,ANSI_ARTWRK,ANSI_PROTON" $ Define DECW$PRINTER_FORMAT_PS "PS_ARTWRK,PS_PROTON" $ Define DECW$PRINTER_FORMAT_REGIS "SYS$NULL"
たとえば, DECW$PRINTER_FORMAT_ANSI2がCLUSTER_LN03, ANSI_ARTWRK, ANSI2_PROTONと定義されていると,プリント・フォーマット・リスト・ ボックスからANSI2を選択した時に, CLUSTER_LN03, ANSI_ARTWRKおよびANSI2_PROTON のみが「プリンタ」リスト・ボックスに表示されます。この場合, CLUSTER_LN03 が省略時の設定となります。
表 4-3は, DECwindows Motif ソフトウエアの論理名と対応プリント・フォーマットの表です。
論理名 | プリント・フォーマット |
---|---|
DECW$PRINTER_FORMAT_DEFAULT | 省略時の設定 |
DECW$PRINTER_FORMAT_TEXT | テキスト |
DECW$PRINTER_FORMAT_ LINE | ラインプリンタ |
DECW$PRINTER_FORMAT_TERM | 端末 |
DECW$PRINTER_FORMAT_ANSI2 | ANSI2 |
DECW$PRINTER_FORMAT_ANSI | ANSI |
DECW$PRINTER_ FORMAT_PS | PostScript |
DECW$PRINTER_FORMAT_REGIS | ReGIS |
DECW$PRINTER_FORMAT_TEK | Tektronix |
DECW$PRINTER_FORMAT_ DDIF | DDIF |
システム全体に適用される論理名テーブルに論理名を定義して,ユーザが論理名を必要に応じてオーバーライドすることもできます。