Subsections

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

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

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

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

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

  3. 関数電卓ウィンドウの「電卓」メニューから gcalctool を終了させましょう。
    新しいプロンプトが現れます。

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

1.3.2 & の利用

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

  3. gcalctool を終了しましょう。

注意 1

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

注意 2

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

1.3.3 練習

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

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

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

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