Subsections

1.3 X アプリケーションと &

1.3.1 X アプリケーションの特徴

X アプリケーションの起動は,これまでと同様にコマンド入力で行えます。 電卓プログラム (xcalc) を例に, X アプリケーションとこれまでのコマンドとの違いを確認しましょう。
  1. xcalc と打って,電卓プログラムを起動し,マウスを使って何か計算してみましょう。 また, キーボードから数値や +,-,*,/,= などを電卓に入力して 計算してみましょう。

  2. 次に xcalc コマンドを入力したウィンドウ内の様子を観察してください。
    wc コマンドを引数なしで実行したときと同様に, 新しいプロンプトが現れていません。 実行中の xcalc が実行元のウィンドウを占有しているためです。

    X アプリケーションは,通常,終了の操作をしないと止まりませんので, このままだと別のコマンドを実行できません。

  3. 電卓ウィンドウに対して q を打ち, xcalc を終了させましょう。
    新しいプロンプトが現れます。

  4. 再度 xcalc を実行してから,コマンドを入力したウィンドウで CTRL-c を押しましょう。
    xcalc を実行すると新しい電卓のウィンドウが現れますが,xcalc とい うコマンド自身はコマンドの入力元で動いていると考えてください。 そこに対して CTRL-c を入力すると,xcalc は強制終了します。

1.3.2 & の利用

コマンド行の終りに & を付けて X アプリケーションを起動すると, X アプリケーションを動かしながら,別のコマンドを実行できます。
  1. xcalc & で xcalc を起動して, 起動元のウィンドウに着目しましょう。
    プロンプトが現れましたね。
  2. プロンプトに対して,CTRL-c を押しましょう。 続いて ls と打ちましょう。
    & を付けてコマンドを実行すると, そのコマンドは起動元で裏側に隠れて動き出します 4。 この状態では,xcalc の起動元から xcalc を制御(終了)することはできません。 その代わりに別のコマンドを実行することが可能になります。

  3. xcalc は電卓のウィンドウに q を入力して終了できるので, この方法で xcalc を終了しましょう。

注意 1

& をつけてコマンドを実行するのは, X アプリケーション (起動時に新規ウィンドウを生成するコマンド) だけにしてください。 それ以外のコマンドに & を付けて実行し, 「中断」や Suspended 等と表示されたら,
fg
というコマンドを実行してください。 それでよくわからない状態になったら, CTRL-d や CTRL-c を打ってみてください。

注意 2

& は,リダイレクトの際の < 等と同じくシェルへの指示であり, コマンドの引数ではありません。

1.3.3 練習

  1. xclock コマンドを & を付けずに実行して終了しましょう。次に,& を付 けて実行してみましょう。 なお,資料作成者の知る限りにおいて, 時計のウィンドウにキー入力して xclock を終了する方法はありません。

  2. man man & を実行するとどうなるか,試してください。 続いて,今実行した man コマンドを正常に終了させてください。

  3. xterm はコマンド入力用のウィンドウを新たに作るコマンドです 5。 xterm コマンドに & を付けて実行し, 新しく現れた xterm のウィンドウで適当なコマンドを実行してみましょう。

    xterm を終了させるには,xterm のウィンドウ内で exit と打ちます。