用い - みる会図書館


検索対象: 入門X Window
90件見つかりました。

1. 入門X Window

246 第 11 章トラブルシューティング いた場合には悲しい結末になってしまう。 ・コピー & ペースト機能を用いて kterm から nemacs に日本語文字列が コピーできない 原因 . 対策 . Ⅱ emacs がべースにしている emacs がコピー & ペーストに用いているバッ フアと kterm が用いているバッフアが異なるからである ( 8.5 節参照 ) 。 これは正常な動作であり、日本語文字列は nemacs 間でしかコピー & ペー スト操作はできない。 emacs の次のバージョンであるバージョン 19 から はコピー & ペーストに kterm が用いているバッフアと同じものを用いる ようになるのでⅡ emacs も対応される可能性が高い。 ■ xterm 上でコピー & ペースト機能を用いて 1 画面以上の文字列を コピーしたい スクロールバーを使えば可能である。スクロールバーで、選択したい最初の部分 が画面に表示されるようにする。左ボタンで選択開始部分を指定する。スクロー ルバーで、選択したい最後の部分が画面に表示されるようにする。右ボタンで選 択終了部分を指定する。 選択の反転表示が狂って見えるかもしれないが、正しくコピーできるので惑わ されないようにする。 また、 xterm において、保存される行数は一 sl オプションあるいは SaveLines リソースで指定できる。 XTerm*SaveLines : 100 11.7 キーボードがおかしい ! ■キーポードに書かれているキーと違う文字が入力されてしまう ! 原因 : 対策 : 原因 : CapsLock や NumLock やカナロックが押されている。 CapsLock や NumLock やカナロックを外す。 . xinitrc や . xsession ファイノレで xmodmap を用いてキーのマッピング

2. 入門X Window

第 リソー ス X ウインドウシステムのクライアントは、 2 とおりの方法でカスタマイズする ことができる。 1 つはクライアントのオプション ( コマンドライン・オプション ) を 用いる方法であり、もう 1 つはリソースを用いる方法である。 クライアントのオプションを用いる方法は、通常の UNIX コマンドと同しで、 コマンドライン上でオプションを指定することによって、クライアントの見た目 や振る舞いを変更することができる。たとえば、 xterm の表示を反転表示にする ためには -rv オプションを用いる。 % xterm —rv & この方法については、 2.3.5 項で述べた。 X ウインドウシステムに特有なのは後 者のリソースによるクライアントのカスタマイズである。本章ではリソースによ るカスタマイズについて述べる。

3. 入門X Window

8.5 コピー & ペースト機能のメカニズム 189 このように、ウインドウ間でコピー & ペーストを行うためには共通のバッフアを 用いることになる。コピー & ペースト用のバッフアとして X サーバはセレクショ ンとカットバッフアという 2 つのメカニズムを提供している。前者は型を持つデー タを格納でき、後者は型を持たないデータ ( 英数字からなる文字列 ) だけしか格納 できない。 型を持っデータとは、たとえば、日本語文字列や図形データなどである。セレク ションには、データとそれに関する型情報の 2 つを格納できる。このようなセレ クションを用いたデータの受け渡しは X11R4 で導入された℃ CCM(Inter Client Communication Conventions Manual: クライアント間通信規約書 ) で規定されて いる。新しく作られるクライアントは、この ICCCM に準拠してコピー & ペースト 機能をサポートしなくてはならない。前述した xterm や xclipboard は ICCCM に準拠してコピー & ペースト機能を実現している。 ICCCM が規定されるより以前に、クライアント間のコピー & ペーストで主に 用いられていたのがカットバッフアである。カットノヾッフアもセレクションと同 様にクライアント間でコピー & ペーストするためのメカニズムだが、メカニズム がシンプルなため格納されるデータに型情報を持たせることができない。このた め、 ICCCM ではカットバッフアにはいわゆる半角英数字と改行とタブ以外の文 字を格納することを禁止している。 このような背景から、現在、セレクションを用いてコピー & ペーストを実現し ているクライアントとカットバッフアを用いている ( 古い ) クライアントの 2 種類 のクライアントが存在する。たとえば、後者のクライアントには emacs (nemacs) がある * 2 セレクションとカットバッフアは異なるメカニズムなので、セレクションにコ ピーしたデータをカットバッフアからペーストするクライアントではペーストす ることはできない。逆も同しである。つまり、 kterm でコピーしたデータをその まま nemacs でペーストすることはできないのである。 これを可能にするためにはセレクションとカットバッフアでデータをコピーす る必要がある。これが xcutsel クライアントである。 * 2 もちろん、カットバッフアを用いていても ICCCM に準拠した使い方をしている限りは問題 はない。

4. 入門X Window

251 11.12 その他 このような場合には色 てを拒否する。このため色が表示されなくなる。 を沢山使っているクライアントを終了させ、カラーマップのエントリを 解放する必要がある。 ■マウスカーソルがウインドウに入らないと色が正しく表示されない ! これは、実は正しい現象であり、トラブルではない。 上記の「色が表示されない ! 」で説明したように X では色の割り当てにカラーマッ プを用いており、カラーマップのエントリには上限がある。このようなカラーマッ プは 2 種類ある。それは、すべてのクライアントがアクセスできる共有力ラーマッ プと特定のクライアントしかアクセスできないプライベートカラーマップである。 これらのカラーマップのどちらを使うかはクライアントに依存する。ウインド ウにマウスカーソルが入らないと色が正しく表示されないのは、そのウインドウ がプライベートカラーマップを用いている場合である。 twm のようなウインドウ マネージャは、クライアントがプライベートカラーマップを使用している場合に は、そのクライアントが表示しているウインドウにマウスカーソルが入ったとき に、そのカラーマップを用いて色を表示する。このため、他のウインドウにマウ スカーソルがある場合には、そのウインドウのカラーマップ ( または、共有力ラー マップ ) が用いられるため、それ以外のウインドウの色表示が正しくされなくなる のである。 11.12 その他 ・マウスのボタンが 2 つしかない ! 両方のボタンを押してみる ( 真ん中ボタンを押したのと同し効果がある場合が ある ) 。それでだめな場合には X サーバのメーカーに問い合わせる。 ■デモをしたいのにスクリーンセーバが動いてしまう ! xset クライアントを用いるとスクリーンセーバを止めることができる。ター ナルエミュレータから次のコマンドを実行すればよい。 myhost% xset s 0ff

5. 入門X Window

161 第章 フォントの扱い X ウインドウシステムでは、 xterm などの文字を扱うクライアントや twm など のウインドウマネージャのタイトルバーで用いられる文字のフォント ( 字体 ) をユー サーの好みに合わせて変更 ( カスタマイズ ) できる。 たとえば、 xterm では -fn オプションでフォント名を指定することで文字表示 に用いるフォントを変更できる。次のようにオプションを指定して xterm を起動 してみよう。 % xterm -fn 10X20 & シェルのプロンプトなどの文字表示が大きくなった xterm が起動されたはすで ある。この xterm で ls コマンドを実行するとファイル名が大きな文字で表示さ れる。これは、 xterm が X サーバの持ついろいろなフォントを表示する機能 ( マ ルチフォント機能 ) を用いて、文字を表示するフォントを変更しているのである。 本章では、このような X ウインドウシステムのマルチフォント機能のべースと なるフォントの扱いとそのメカニズムについて述べる。

6. 入門X Window

#def ine の隣がキーシムのマクロ名で右側の数字がキーシムのコードである。 実際にクライアントのカスタマイズなどで用いる場合にはマクロ名 ( たとえば XK-BackSpace) から XK ーを取り除いたもの ( たとえば BackSpace) を用いることが 多い。この XK- を取り除いたものをキーシム名と呼ぶ。 キーコードからキーシムへの変換はテープルを用いて行われる。変換テープル はサーバが管理している。これは、クライアント起動時にサーバからクライアン トにコピーされる。あるキーが押されたときに、サーバはクライアントに発生し たキーコードを送る。クライアントは送られてきたキーコードを変換テープルを もとに変換できるものはキーシムに変換する ( 図 6 ー 1 ) 。このためクライアントは ューサーが押したキーの識別に、キーコードとキーシムの両方を使用できる。た とえば、 4.6.2 項で説明した . twmrc ファイルでキーに twm の関数を割り当てる場 合には、このキーシム名を用いて指定する。 キーポード上の主要なキーとキーシムの一覧を表 6 ー 4 に示しておく。 キーコート 144 コードからキーシムへの変換 第 6 章 #define XK_A #define XK_B #define XK_C クライアント以外のカスタマイズ 0X041 0X042 0X043 キーコード X サーバ キーコード 図 6 ー 1 1 押す キーホード キー 4 クライアント キーコード キーコード 変換テープル

7. 入門X Window

5.9 ディテーノレ トランスレー ン・ヨン 5 イベントに関する、、詳細〃を指定する。主に前項で説明したく KeyPress> のキー の種類を指定するのに用いられる。たとえば回キーで皿 set ( ) する場合に は、、く KeyPress> q:unset()" となる。キーを指定する場合にはキーに付けら れた別名であるキーシム名 ( 表 6 ー 4 参照 ) を用いる。 ■指示語 指示語は、このようなトランスレーションをどのようにクライアントに設定 するかを指定するためのものである。 #override と #argument が指定できる。 #override はすでに同し指定がクライアントにある場合には新しい指定で上書き し、 #argument を指定すると既存のものが用いられる。 5.9.2 xterm でのサンプル 最後に少々実用的な例を紹介しよう。このようなトランスレーションの指定で 最も便利なのが xterm の画面スクロールの制御であろう。次のようにリソースに 指定しておくとファンクションキー ( と回 ) で画面のスクロールアップ とスクロールダウンを行うことができる。 XTerm*VT100. Trans1ations : #override \ く KeyPress> FI : scroll-back(l , halfpage)\n\ く KeyPress> F2 : scroll-forw(l , halfpage) この例のように複数個のトランスレーションを指定する場合には、途中のトラ ンスレーションに、、 \ Ⅱ \ 〃を付けて改行することを忘れないようにしてほしい。 以上でリソースの説明は終わりである。リソースやトランスレーションは、 こで説明した以上に詳しい書式を持っており、いろいろな指定をすることができ る。リソースやトランスレーションを正しく理解するには、 X ウインドウシステ ムを用いたプログラミング ( ツールキットプログラミング ) の知識が必要である。

8. 入門X Window

3.3 すばしっこい一狐がのろまな犬の上を ローマ kinput2 の、の、の、、ショの 図 3 ー 5 kinput の変換ウインドウ 以下の説明では cannaserver は canna ver2.2 のものを用いる。 に置かれている。 cannaserver はそのままコマンドを入力すれば起動する。 77 kinput2 を cannaserver に接続するときは、 -canna と -cs オプションを用い る。たとえば、 remotehostl で起動している cannaserver をかな漢字変換サー バとして用いる場合には次のように指定すればよい。 % kinput2 —canna —cs remotehostl & かな漢字変換を行う場合には、 3.3.2 項のようにトランスレーションを指定した kterm で、、シフトースペース〃と入力すればよい。今度は jserver をかな漢字変換 サーバにした場合と異なり、、、 [ あ ]" と表示された小さなウインドウが表示される。 表 3 ー 3 canna を用いた場合の kinput2 のキーバインド 機能 変換モード ( 開始、終了 ) かな漢字変換 確定 ューティリティ機能 候補選択 文節伸ばし / 縮め 文節移動 候補表示 字種変換 ( カタカナ変換 ) キーバインド シフトースペース CTRL— スペース F ( またはスペース ) 、 CTRL-B CTRL-O ( 伸はし ) 、 CTRL-I ( 縮め ) CTRL-F ( 右 ) 、 CTRL-B ( 左 ) スペース ( 2 回目 ) CTRL-P または CTRL-N 録、環境設定 ) Help ( 記号入力、コード入力、部首入力、単語登

9. 入門X Window

目 ・起動しようとするとエラーメッセージが表示されて起動できない・ 次 11.5 11.6 11.7 11.8 11.9 ・ . twm 「 c ファイルを作成したらルートウインドウでメニューが表示されなくなった・ 242 ・Ⅳ m のメニューからシェルコマンドを実行しようとしたら ハングアップしてしまった xload 、 xhost 、 xclock 、 oclock 、 xfd 、 xsetroot がおかしい ! •xload が *xload :cannot open /dev/kmem" と表示されて 起動できない ! ■ xclock 、 oclock の時問がおかしい ! ■ oclock や xeyes が丸いウインドウで表示されない ! ■ xhost で一 dis ay オプションが指定できない ! ・ xfd でフォントが表示されない ! ・ xset 「 00t でルートウインドウのバターンが設定できない ! コピー & ペースト機能がおかしい ! ■コピー & ペースト機能を用いてⅵに文字列を入力したらⅵが 変な動作をした ! ・コピー & ペースト機能を用いて kte 「 m から nemacs に日本語文字列が コピーできない・ ・ xte 「 m 上でコピー & ペースト機能を用いて 1 画面以上の文字列を コピーしたい・ キーポードがおかしい ! ・キーポードに書かれているキーと違う文字が入力されてしまう ! ーメタキーがキーポードにない ! リソースファイルを変更したがクライアントに反映しない ! ■ . Xdefau は s を変更したがクライアントに反映しない ! ・・ 242 ・ 243 ・・ 242 ・・ 243 ・・ 243 ・・ 244 ・・ 244 ・・ 245 ・・ 245 ・・ 245 ・・ 245 ・・ 246 ・・ 246 ・・ 246 ・・ 246 ・・ 247 ・・ 247 ・・ 247 ・ x 「 db でちゃんと登録している。または x 「 db を用いていない・・・・・・・・・・・・・・・・・・・ 247 ・エラーメッセージが表示される・ xwd 、 xwud がおかしい ! ・ xwd で画面ダンプがとれない・・・・・・・・・・ ■ xwd でダンプしたファイルカⅸ wud で表示できない・ ・ ( カラー画像を ) xwud で表示すると色が化ける・ ・・ 248 ・・ 248 ・・ 248 ・・ 248 ・・ 249

10. 入門X Window

6.2 キーポード / マウスをカスタマイズする (xmodmap) 147 この構文を用いてキーやマウスポタンのマッピングの変更するためのオプショ 6.2.4 キーのマッピングを変える とすることで構文で指定した内容が実行される。以下ではこの構文について説明 xmodmap -e 構文 ンが -e である。つまり、 キーのマッピングを変えるためには表 6 ー 1 のような 2 つの構文のうちいすれか を押して、、 t 〃が入力されるようにキーのマッピングを変更できるのである。 を用いるとこの変換テープルの内容を変えることができる。早い話が、回キー との対応付けは変換テープルがどのようになっているかによって決まる。 xmodmap この例から分かるように、キーポード上で押されたキーと実際に入力される文字 シムから ASCII コードへの変換は X でライプラリ関数が用意されている。 変換して、、 n 〃が xterm 上で起動されているシェルに入力される。このようなキー て対応するキーシム ( XK ー n ) に変換し、そのキーシムから ASCII コードの、、 n 〃に が発生し、それが xterm に渡される。 xterm はキーコードを変換テープルを用い たとえば、 xterm でキーポードから回キーを押すと、、 n " キーのキーコード が割り当てられているのである。 発生するキーコードには、そのキートップに印刷された文字に対応するキーシム 上のキーに印刷された文字と一致している。つまり、あるキーが押された場合に デフォルトではキーコードとキーシムの対応 ( キーのマッピング ) はキーボード を用いる。 構文 keycode キーコード 表 6 ー 1 keycode/keysym 構文 キーシム名 . keys キーシム名 1 = キーシム名 2 . 機能 指定したキーコードにキーシム名を 割り当てる 指定したキーシム名 1 にキーシム名 2 を割り当てる