myhost - みる会図書館


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

1. 入門X Window

60 第 2 章 X ウインドウシステム・ツアー myhost% xhost remotehost あるいは次のようにする。 myhost% て 10g 土Ⅱ remotehost ら別のマシンにリモートログインしてしまうことだ。 っかの方法がある。いちばん簡単なのは、いま表示したローカルなターミナルか まず、別のマシン remotehost の kterm を画面に出してみよう。これにはいく ていく必要はない。すべては自分の使っている X サーバを通して実行できる。 立ち上げてみよう。といっても、マシン remotehost のターミナルの前まで走っ それでは、自分のマシン myhost の X サーバー E に、 remotehost から xbiff を myhost% xb 土土土 -display unix : 0.0 & myhost% xclock —display remotehost : 0.0 & xbiff は myhost に接続する。 ことができる。次の例では、 xclock は remotehost の X サーバに接続するが、 なお、自分のマシンを明示的に指定する場合は、マシン名として unix を使う remotehost% xbiff & remotehost% xclock & remotehost% setenv DISPLAY myhost : 0.0 例では、 xclock と xbiff は myhost 上の X サーバに接続する。 定しなくても DISPLAY の示す X サーバに接続するようになる。たとえば、次の 環境変数 DISPLAY に次のようにして設定しておくと、いちいちオプションで指 ので、同しようにして他のクライアントを別のマシンから起動することができる。 -display というオプションは、ほとんどすべての X クライアントで利用できる いの場合は、各マシンの X サーバは 1 つなので、 0.0 と指定しておけばよい ) 。 持っている場合に、そのどれに接続するかを指定するための番号である ( たいて ンに複数個の X サーバがある場合、また X サーバがさらに複数のスクリーンを myh 。 st が X サーバのあるマシンの名前である。 0.0 という数字は、 1 つのマシ これが、 xcl 。 ck が接続する先の X サーバを指定するためのオプションである。 こで、 xclock にオプション一 display が付いていることに注意してほしい。 remotehost% xclock —display myhost : 0.0 &

2. 入門X Window

2.5 myhost% telnet remotehost 別のマシン上でのクライアントの起動 これで別のマシンのターミナルを画面に出したことになるわけだが、実際に使っ てみるといくつか不便なことに気づく。たとえばターミナルの大きさを変更して も、それがログインした先に伝わらないので、 more や vi などのコマンドの表示 がおかしくなってしまう。また、ログインしたターミナルからさらに X のコマン ドを実行するときに いちいち remotehost% xclock —diplay myhost : 0.0 のようにして X サーバを指定しなければならない。 -display オプションを指定 しないと、場合によっては remotehost 上で X を使っている別のユーザーのとこ ろにウインドウを出してしまうことになるかもしれない。 それでは、どうすればよいのだろうか。勧められるのは次の方法である。 remotehost% kterm —display myhost : 0.0 myhost% て 10g 土皿 remotehost myhost% xhOSt remotehost で kterm プロセスを起動し、自分の X サーバに表示させる。 これは次のようなコマンド系列を実行するのとほば同しで、相手のシステム上 myhost% xon remotehost kterm よく使うマシンは . rhosts ファイルに記述しておくとよい。 xon がうまく働か ファイルにローカルマシンが登録されている場合にしか利用できない。 シンが登録されているか、リモートマシン上のホームディレクトリにある . ⅶ。 sts うことである。具体的には、リモートマシン上の /etc/hosts ・ equiv にローカルマ にクライアントを作るので、て sh の実行許可がないマシンに対しては使えないとい こで注意しなければならないのは、 xon はて s れを利用してリモートマシン上 コマンドなどでのぞいてみてほしい ) 。 スクリプトなので、どうなっているのかを知りたい方は、直接 more または less を一 display のオプションなしに起動することができる ( x 。 n 自身は単なるシェル シンの X サーバに設定されているので、ローカルな kterm と同様、 X のコマンド さらに、開いた kterm 上のシェルでは、環境変数 DISPLAY が自動的に自分のマ

3. 入門X Window

234 第 11 章トラブルシューティング ある。これは、 X サーバとクライアント間の通信に socket ( ) システム コールを使っている場合に起こる可能性がある。 X での unix : 0.0 の実 体は /tmp/. XII-unix/XO というファイルになっている。このファイルが なんらかの理由で消されるとこのような現象が起こる。たとえば、 cron などで定期的に / tmp にあるファイルを消していないだろうか ? 皿 ix : 0.0 を使えるようにするためには、サーバを再起動するしかない。再起動し たくない場合には、とりあえずホスト名を指定してクライアントを起動 してほしい。 ■起動すると、、 X server not responding. 〃と表示され起動できない たとえば、次のように表示される。 limbo% xclock -display myhost : 0.0 & X server not responding. Check your DISPLAY environment variable. 原因・ 対策・ myhost で起動されている X サーバのアクセスコントロール・リストに limbo というホストが登録されていない。 xhost コマンドで myhost で起動している X サーバのアクセスコント ロール・リストにこのワークステーション (limbo) が登録されているか どうかを確認し、登録されていない場合には次のようにして登録すれば myhost% xhost + 1 土 mb0 Iimb0 being added tO access control list ■起動すると、、 No more process" と表示され起動できない 原因 : 対策 : UNIX ではシステム全体で起動できるコマンド ( つまりプロセス ) の総数 に上限値が決まっており、その上限値を超えてしまった可能性がある。 現在起動しているプロセスのうちいすれかを終了させ、総数を減らさな くてはならない。とりあえす不要なプロセス ( たとえば xeyes や ico) を 消してみるとよい。ただし、 UNIX はマルチタスク機能を持っオペレー

4. 入門X Window

11.2 myhost% て 10g 土 n remotehostl Password : クライアントが起動できない ! 237 このような場合には、 xon で指定したホストのホームディレクトリにあ る . rhosts ファイル ( ない場合にはエデイタなどで作成する ) に x 。 n を実 行するホスト名を書いておけばよい。上の例では、 remotehostl のホー ムディレクトリの . rhosts に myhost と指定すればよい。 remotehostl% cat ~ / . て五 osts remotehost3 remotehost2 myhost remotehostl% ちゃんと設定できたかどうかは、再びそのホストに rlogin すれば確認 できる。パスワードを聞かれなくなったら OK である。 ■ xon でクライアントを実行すると、、 Stty: Operation not supported on socket" と表示されクライアントが起動できない 原因 . 対策 . xon で指定したホストのホームディレクトリにある . cshrc ファイルに端 末に関する設定 ( stty ) や画面に表示する設定 ( ech 。 ) がされている。 これは xon が指定されたホストでクライアントを実行する前に . cshrc の内容を実行するために起こる。端末に関する設定 ( stty ) や画面に表示 する設定 (echo) は . login ファイルで行うようにする。 ・ xon でクライアントを実行してしばらくすると、、 Connection ⅱ meout 〃 と表示され起動できない 原因 . 対策 : xon で指定したホストが落ちている場合にこのメッセージが表示される。 指定したホスト名を持っワークステーションが正常に動いているかどう かを確認する。また、ネットワークが非常に混んでいる場合もある。ネッ トワークが混んでいる場合には、電話回線が混んでいるときに電話が繋 がりにくいのと同様にどうしようもないので、しばらくしてから再度起 動してみてほしい。

5. 入門X Window

ロ 2 第 5 章リソース これらのシンポルをリソースファイル内で利用することによって、使用する X サーバやホストごとに柔軟なカスタマイズを行うことができる。この機能を用い #if HEIGHT > 1280 & & WIDTH > 1024 た簡単なカスタマイズの例を以下に示す。 #define KANA #define ASCII a14 #define KANJI k14 #elseif #def ine KANA #define ASCII 8X16 #define KANJI kanji16 r14 r16 remotehost% xrdb —display myhost : 0.0 -symbol できる。以下は EWS4800 の X サーバに対して実行した結果である。 xrdb が使用するシンポルの一覧とその値は一 symbol オプションで調べることが #endif / * COLOR * / XC10ck*foreground : blue #ifdef COLOR KTerm*romanKanaFont : KANA KTerm*font : ASCII KTerm*kanj iFont : KANJI #endif / * HEIGHT > 1280 & & WIDTH > 1024 * / —DHEIGHT=1024 -DX_RESOLUTION=4655 —DY_RESOLUTION=4655 —DPLANES=8 —DREVISION=O —DVENDOR="NEC Corporation" -DRELEASE=5000 —DWIDTH=1280 —DHOST=myhost -DSERVERHOST=myhost —DCLIENTHOST=remote —DVERSION=II -DBITS_PER_RGB=8 -DCLASS=PseudoC010r —DCOLOR remotehost% 5.9 トランスレーション 最後に、少し高度なリソースについて説明しよう。 こまでのリソースによる カスタマイズは、主にクライアントの見栄えに関するものが中心であったが、リ ソースにはクライアントの振る舞いを変更する機能も含まれている。 クライアントの振る舞いを指定するためのリソースがトランスレーションリソー スである ( リソース名は translations 、クラス名は Trans1ations)0 このリソー スはほとんどのクライアントが持っている。

6. 入門X Window

106 第 4 章 twm ウインドウマネー ジャ 図 4 ー 6 アイコンマネージャを用いたキー入力制御 でそのホスト名を付けるようにし * 2 、次のように . twmrc に記述しておけば、ウィ remotehostl 、 remotehost2 カゞある士易 , 合、 xterm のタイトノレに—title オプション ウスカーソルが移動できるようにすればよい。たとえば、ホストとして myh 。 st 、 また、頻繁に文字入力を行うウインドウに対しては、 f. warpt 。関数で直接マ せる指定である。 イコンからウインドウに戻したときにそのウインドウへマウスカーソルを移動さ ソルの上下移動を行う機能を持ち、 w 矼 pcurs 。 r 変数の指定は、ウインドウをア ンドウ間の移動が簡単にキーで行える。 Warp Unmapped "F2" " F3 " al 1 al 1 al 1 f . warpto f . warpto f . warpto "myhost" "remotehostl'l "remotehost2 " それぞれのファンクションキーにホスト名を書いたシールを貼っておけば分か * 2 たとえば、次のように指定する。 % xterm —title remotehostl -display myhost : 0.0 &

7. 入門X Window

第 5 章リソース 128 5.8 xrdb クライアント xrdb クライアントは、リソースファイルの内容を X サーパ内のリソースデー タベースに読み込ませるためのクライアントである ( 図 5 ー 3 ) 。 xrdb は、ネット ワークを介して複数台のワークステーションでクライアントを使用しているよう な環境で、すべてのクライアントを同じリソースファイルで一元管理したい場合 に用いる。 ク 、ワ 〉ネ リソース データベース み 込 み xrdb remotehost X サーバ myhost リソースファイル ( . Xdefau1ts) 図 5 ー 3 xrdb クライアント 5.2 節で説明した . XdefauIts ファイルは、クライアントを実行するワークス テーションのホームディレクトリにあるものが参照される。たとえば、いまネット ワークに myhost と remotehostl 、 remoteh0St2 という 3 つのワークステーショ ンが接続されているとしよう。 myh 。 st で X サーバを起動し、 remotehostl と remotehost2 でそれぞれ xterm を起動したとする。 NFS などでホームディレクト リが共有されていない場合には、 remotehostl で起動した xterm は remotehostl のホームディレクトリの . Xdefau1ts ファイルの内容にしたがい、 remotehost2 で起動した xterm は remotehost2 のホームディレクトリの . Xdefau1ts ファイル の内容にしたがう。 このことは、 remotehostl と remotehost2 の . Xdefau1ts ファイノレで xterm に 関して異なったリソース指定をしてあると同し xterm を起動しても異なったカス

8. 入門X Window

11.2 クライアントが起動できない ! 233 対策 . 原因 . 対策 . set コマンドでコマンドバスを表示させ、 X のクライアントが置かれて いるディレクトリが登録されているかどうかを確認する。クライアント が置かれているディレクトリは標準では /usr/bin/X11 であるが、シス テムによって異なる場合がある。管理者に確認すること。登録されてな い場合は、次のように . cshrc ファイルのバス設定に加えればよい ( 2.1 節 参照 ) 。 set path=(/usr/bin/X11 /bin /usr/bin その他のディレクトリ ) 起動しようとしたクライアントがインストールされていない。 起動しようとしたクライアント自体がそのシステムに存在しない場合に もこのエラーメッセージが出力される。この場合には、管理者にたのん でインストールしてもらうか自分でインストールしなくてはならない。 ■起動すると、、 Can't open display" または、、 Unable t0 open display" と 表示され起動できない これには次の 2 つの原因が考えられる。 原因 . 対策 . 原因 . 対策 . ディスプレイ名が間違っている。 ディスプレイ名をもう一度確認してほしい。 DISPLAY 環境変数に設定し ている場合には p て inte Ⅱ v コマンドで調べることができる。 % printenv DISPLAY myhost : 0.0 たとえば、ディスプレイ名のうちホスト名が間違っていないかどうかな どをチェックする ( 2.3.7 項参照 ) 。 UNIX domain socket が消えた。 ディスプレイ名に unix : 0.0 ( または : 0.0 ) を指定して起動すると、℃ an't opendisplay 〃と表示されて起動できないが、そのワークステーション のホスト名 ( たとえば myhost : 0.0 ) を指定して起動すると動くことが

9. 入門X Window

2.5 別のマシン上でのクライアントの起動 59 リソースは、 X ウインドウの使い方を理解する上で非常に重要な概念なので、 こでは、とりあえすリソースという 5 章で改めて詳しく説明することにする。 キーワードが X にはある、という程度のことを認識していればいいだろう。 2.5 別のマシン上でのクライアントの起動 こまでの説明では、立ち上げたすべてのクライアントは、 X サーバのあるマ シンのプロセスだった。しかし、 X ウインドウが他のウインドウシステムよりも 優れているのは、ネットワークで通信ができる別のマシン上でクライアントを起 動し、そのウインドウを自分のマシンの X サーバで表示することができる点に 別のマシンのクライアントを起動するには、次のような 2 つのステップを踏む 必要がある ( 以下の説明では、 my 。 st % がサーバのあるマシン上のシェルプロンプ トを、 remotehost% がネットワーク上の他のマシンのシェルプロンプトを表すこ とにする ) 。 ます、別のマシンのクライアントが、自分の X サーバに接続するできるように 許可してやる必要がある。標準状態では、勝手に人の X にウインドウを作れない ように ( 他の人の邪魔をしないように ! ) 、接続ができない状態になっている。 たとえば、マシン remotehost 1 からの接続を許可するには、次のコマンドを X サーバのあるマシンで実行する。 myhost% xhost remotehost 1 逆に、 ( すでに接続を許可した ) マシン rem 。 teh 。 st2 からの接続許可を取り消 すには、次のようにすればよい。 myhost% xhost —remotehost2 接続許可の設定には、 xhost のほかに xauth という、より細かな制御ができる コマンドがある ( 詳しくはマニュアルを参照 ) 。 このように xh 。 st で接続許可を設定した上で、次のようにすれば、別のマシン のクライアントのウインドウを自分のマシンの X サーバ上に表示させることがで

10. 入門X Window

リソース 指定する。リソースファイル名にはユーザーが好きなファイル名を用いることが おけばよい。 具体的には . xinitrc ファイルや . xsession ファイルに次のような指定を書いて クライアントも同じリソースファイルの内容を参照するようにできるのである。 内容を xrdb でリソースデータベースに登録しておけば、どのホストで起動した 解決できる。つまり、 1 つのホストで . Xdefau1ts ファイルを管理しておき、その ストごとに . Xdefau1t s ファイルを管理しなければならないという問題が簡単に このようなリソースデータベースのメカニズムを使えば、前に述べたようなホ たので、 xcl 。 ck の目盛りの色は赤で表示される。 データベースに登録してみよう。今度はリソースデータベースの内容が更新され それでは、もう一度 xrdb を起動して . Xdefau1ts ファイルの内容をリソース 容を参照しなくなるからである ( コラム「リソースファイルの検索順序」を参照 ) 。 べースにリソースが登録されているとクライアントは . Xdefau1ts ファイルの内 れは、 X サーバが管理するリソースデータベースが持っ機能で、リソースデータ 起動される。つまり . Xdefau1ts ファイルの変更が無視されているのである。 変更後、もう 1 つ xclock を起動してみよう。今度も目盛りの青い xclock が xclock*foreground : red である。こで . Xdef ault s ファイルの内容を次のように変更してみよう。 さて、この状態で xcl 。 ck を起動すると目盛りの青い xcl 。 ck が起動されたはす 登録が終わるとシェルのプロンプトに戻る。 ファイルはて em 。 teh 。 stl で管理したものを用いている。リソースデータベースに ここで myhost は X サーバを起動しているワークステーションであり . Xdefau1ts remotehostl% xrdb —display myhost : 0.0 ~ /. Xdefau1ts リソース指定のあるものとする。 タベースに登録してみよう。 . Xdefau1ts ファイルには 5.2 節で用いた xclock の たとえば、次のようにして xrdb を起動して . XdefauIts ファイルをリソースデー できる ( 実際には . xresources というファイル名を用いることが多い ) 。 130 第 5 章