マニュアルページ xdrecord.1




名前

     xdrecord - Motif/Xt プログラムに対して行なったユーザーのアク
     ションを記録します。


形式

     xdrecord [-x] [-f <スクリプト>] [-lang <ロケール>]  [-wViIO]
     [-use n] <プログラム> [<引数>...]


入力形式

     <スクリプト>     出力を書き込むファイル (デフォルトは標準出力)
     <ロケール>       使用する言語のロケール名
     <プログラム>     捕獲する実行可能ファイル
     <引数>           実行可能ファイルに渡す引数



機能説明

     xdrecord は、起動中の Motif/Xt アプリケーションを モ ニ ター
     し、  そのアプリケーションに対してユーザーが行なったアクショ
     ンの記録を取ります。 xdrecord は、X サーバーから送られるイベ
     ン ト列を解釈し、ユーザーが アプリケーションのウィジェットに
     対して行なったアクションを「高級な」記述に 翻訳します。




引数

     -x    xdrecord のコマンド行からの使用方法を表示します。

     -f    記録した情報を指定したスクリプトに保存します。-i オプ
           ションと組み合わせて使用することはできません。

     -lang GUI (グラフィカルユーザーインタフェース) やエラーメッ
           セージを含む xdrecord を、指定したロケールで起動し
           ます。LANG 設定は無視されます。

     -w    ディスプレイ、サーバー、ウィンドウマネージャの概要情報
           を表示します。


     -V    xdrecord のバージョン情報を表示します。


     -i    xdrecord の GUI を表示します。


     -I    捕獲するアプリケーションが捕獲するアプリケーションが
           xdcapture のインタフェースを読み込むことができない
           場合でも、xdcapture の GUI を強制的に表示します。   
      

     -O    捕獲しようとしたアプリケーションが Motif とリンクして
           いない場合でも、xdrecord を終了しません。   

     -use n
           n 番目に表示されるアプリケーションシェルを使用します。
           このオプションは、初期画面用のアプリケーションシェルが
           表示される、あるいは、最初に設定画面用のアプリケーショ
           ンシェルが使用されるプログラムに対して使用します。   
      




使用法

     xdrecord は、デフォルトではスクリプトを記録し、標準出力に 表
     示 します。-i オプションを指定すると、X-Designer Replay イン
     タフェースを 使用した対話型の記録/再現ツールが起動します。-i
     の 代わりに -f <スクリプト> と入力すると、記録された内容が指
     定されたスクリプトファイルに保存 されます。既存のスクリプ ト
     ファイルを上書きすることはできません。

     -O は、Motif に準拠していないアプリケーションを記録しよう と
     し た 場 合でも、 プログラムが終了しないようにします。アプリ
     ケーションが Motif に リンクしていないと、ほとんどの場 合 は
     xdrecord  の 使 用 す る  Motif ルーチンがコアダンプします。
     xdrecord は、デフォルトでは Motif に準拠していないアプリケー
     ショ ンには動作しないよう設定されています。 この設定は変更可
     能で、変更後でも -O オプションを使用することで 有益なデ バッ
     グ 情報を入手することができます。ただし、Motif を 必要とする
     ような処理は行わないことをお勧めします。


使用例

     xdrecord ダイアログを表示するには、次にように入力します。  


     $ xdrecord  -i <アプリケーション>

     アプリケーションに対して行なったアクションをスクリプトファイ
     ルに 記録するには、次にように入力します。  

     $ xdrecord  -f <スクリプト> <アプリケーション>

     アプリケーションに対して行なったアクションを記録して、その内
     容を 標準出力に表示するには、次のように入力します。   


     $ xdrecord <アプリケーション>




TIPS

     xdreplay、xdrecord、xdcapture に関して 頻繁に問い合わせの あ
     る内容について説明します。



     1.  Netscape  
      ?

     典型的な原因としては、次のいずれかの場合が考えられます。

     a)  アプリケーションが、Xt ライブラリと動的にでなく、静的 に
     リンクされている。

     b)  アプリケーションが、Xt 動作手続きを許可しない独自の マル
     チスレッド方式を採用している。

     c)  その製品が複数のアプリケーションシェルを使用している (質
     問 4 を 参照してください)。

     ご自身で作成したソフトウェアを記録および再現できない場合は、
     そ の ソフトウェアが libXt.so を使用するように再度リンクを行
     なってください。

     2.  
      ?

     すべての「位置に敏感な」Motif ウィジェットの記録および再現に
     は、 特別な xdreplay ルーチンが使用されます。 このようなルー
     チンのソースコードは、src/examples/replay/libcvtXm ディレ ク
     トリに あります。

     XmText および XmTextField に対する変換ルーチンは、デフォルト
     で は構築されません。 テストという目的に関しては、ほとんどの
     場合、テキストフィールドを単なるデー タ入力フィールドと見 な
     し、 内容を自由に置き換えるようにするだけで十分です。 たとえ
     ば、例 1 の方が例 2 よりも明確です。

     < 1>
          1. doubleclick mytextwidget
          2. type halloworld



     < 2>
          1. doubleclick mytextwidget( position, 25)
          2. type halloworld

     また、特定の位置の文字をダブルクリックすることで、すべて の
     テキストが選択されるかどうかを確認することは、困難でもありま
     す。

     テストによっては、テキストフィールドの内容を変更する場合もあ
     り ます。 重要なものはテキストウィジェットの名前であって、そ
     の中に入力する値ではありません。

     アプリケーション内で XmText ウィジェットの編集機能をテストし
     た い 場合は、cc コマンドに -DHANDLE_TEXT オプションを追加し
     て libcvtXm ディレクトリを再構築する必要があります。次に、共
     有オブジェクト libcvtXm.so を lib/xds にコピーして標準のライ
     ブラリを上書きしてください。



     3. xdreplay 
     xdreplay 

     xdreplay は、再現しようとしているアプリケーションが Motif で
     はないと 判断した場合には、終了します。

     -O オプションを使用すると、Motif 以外のアプリケーションを 再
     現 しようと した場合にも xdreplay は終了せず、強制的にそのア
     プリケーションの機能を 再現することができます。

     注: 再現しようとするアプリケーションが Motif であっても、 ア
     プリケーションシェル が複数存在する場合は、xdreplay が終了す
     る場合があります (以下の内容を 参照してください)。



     4. xdreplay 

     典型的な原因としては、次のいずれかの場合が考えられます。

     a)  アプリケーションに、起動直後に瞬間的に表示されるア プ リ
     ケーションシェルが 存在する、または 1 つ以上のアプリケーショ
     ンシェルが起動直後に一時的に作成される。 デフォル ト で は、
     xdreplay  は 1 番目のアプリケーションシェルを 記憶し、参照対
     象として使用します。通常は、最初に表示された  アプリケーショ
     ンシェルが 1 番目のシェルとして認識されますが、 次のようにオ
     プションを指定して、4 番目のシェルを記憶するように 変更す る
     ことができます。

     コマンド行で次のように入力します。
            -use 4

     または、環境変数 XDSUSESHELL を次にように設定します。

            setenv XDSUSESHELL 4

     注:「本当の」アプリケーションシェルが参照対象として使用さ れ
     て いる かどうかを確認するには、そのアプリケーションを記録し
     てください。 正しいアプリケーションシェルが使用されている 場
     合は、記録されたログに 次にように記述されています。

          in ApplicationShell
               ......

     次のように記述されている場合は、正しいアプリケーションシェル
     が 参照対象として使用されていない可能性があります。
          in myapp
               .....

     ただし、記録したアプリケーションに、マップされていないアプリ
     ケー ション シェルがあり、かつ最上位シェルが複数存在する場合
     は、上述の例でも問題は ありません。

     現在の設定が正しくない場合は、-use オプションで現在よりも 大
     き な値を指定 します。再度アプリケーションを記録し、記録され
     たログの in myapp が  in ApplicationShell に変更されたかどう
     か を確認します。 本当のアプリケーションシェルが何番目のシェ
     ルか確認できない場合は、 すべてのアプリケーションシェルを 無
     視 するように設定します。このように 設定すると、いずれのアプ
     リケーションシェルも記録、再現、捕獲されません。

     b)  記録しようとしたアプリケーションが、Xt イベント処理を 再
     実行または 破壊した。

     具体的には、次のような例が挙げられます。

     -i オプションで xdreplay を起動した。再現しようとした アプリ
     ケーションは表示されたが、xdreplay のダイアログは 表示されな
     い。

     -I オプションで xdreplay を起動した。xdreplay のダイアログの
     方が、 再現するアプリケーションよりも先に表示された。

     このような場合には、デザインを捕獲することはできますが、再現
     することはできま せん。

     c)  捕獲/再現しようとするアプリケーションが Motif にリンクし
     ていない。

     この場合、デフォルトでは、xdreplay は異常終了します。 -O  オ
     プ ションを指定すると、この設定は変更することができます。 た
     だし、Motif に依存する機能は、記録または再現することができま
     せん。



     5. 使 
      ?

     捕獲機構では、捕獲したデザインのファイルを xdesigner の  .xd
     形 式  で作成します。つまり、標準の xdesigner が使用されてい
     て、Motif 以外の  ウィジェットが追加されていないと仮定してい
     ま す。デフォルトでは、Motif 以外の ウィジェットは、捕獲ファ
     イルの中では Motif の描画領域ウィジェットに置き換え られてい
     ます。

     他社製のウィジェットも捕獲できるような xdesigner を使用す る
     には、 リソースを次のように設定する必要があります。
     *xdsCaptureUserWidgets:true



     6. xdreplay 使
      ?


     はい、できます。テキストフィールドに入力されたテキストの内容
     が記録され、 テキストの入力がそのまま再現されます。

     この機能は、Motif のテキストウィジェットおよびテキストフィー
     ル ドウィジェット に対してのみ有効であるように設定されていま
     す。 設定ソフトウェアは、以下の場所にありますす。

     src/examples/replay/motif/motif4.c

     また、このソフトウェアを登録するための機構は、以下のとおりで
     す。

     src/examples/replay/motif/register.c

     この構成機能には、データの取得/設定 (get/put) ルーチンが含ま
     れ ています。 入力メソッドによっては、このルーチンにアクセス
     できる場合があります。 デフォルトの動作は「ウィジェットの 中
     にある文字列にアクセスする」です。

     Control + Space キーは、入力メソッドに対する作成要求にハード
     コードされて います。また、代替手段の "compose" キーシムのリ
     ソースが、デフォルトで変換キーに 設定されています。

     たとえば、作成キーが F3 キーである入力メソッドを持つソ フ ト
     ウェ アを記録する 場合は、次のように設定してソフトウェアを実
     行してください。

          -xrm *xdsImComposeKeySym:F3

     または、このリソースを defaults ファイルに設定する か、 xrdb
     を使用して設定 してください。




     7.  
     / ?

     一般ユーザーが xdreplay を使用して、あなたの作成したア プ リ
     ケー ションを 記録および再現できるようにするには、コードに次
     の行を挿入し、さらに アプリケーションを libxdsclient.a ラ イ
     ブラリとリンクする必要があります。

     xdsAllowUserAccess()



関連項目

     xdreplay(1) xdcapture(1)