エラー: command not found
ログウィンドウの表示例
Starting ASTEC-X 4.30
rexec: Trying to connect unix1 ...
rexec: Executing 'xterm -display 192.168.1.100:0.0' on unix1 ...
bash: xterm: command not found
rexec: Trying to connect unix1 ...
rexec: Executing 'xterm -display 192.168.1.100:0.0' on unix1 ...
bash: xterm: command not found
エラーの原因
rexec 接続やセキュアシェル接続の際に、 実行するコマンドが見つからない場合に表示されます。 特にコマンドを絶対パスでなく、 "xterm", "kterm" など、コマンド名だけを指定した場合に起きやすい現象です。
rexec 接続やセキュアシェル接続では、 ~/.login や ~/.profile などの初期化ファイルは自動的には読み込まれません。 従って、これらの初期化ファイルにのみ PATH 環境変数の設定を行っている場合は、 telnet コマンドなどでログインした場合にはコマンドを実行する事が可能ですが、 ASTEC-X で rexec 接続やセキュアシェル接続を行った場合には コマンドの場所が見つからず、このエラーメッセージが表示されます。
対処方法
下記のいずれかの対策を行ってください。
- 起動するコマンドを絶対パスで指定する
-
例えば起動するコマンドとして xterm を使用する場合、
OS によっても異なりますが、
/usr/openwin/bin/xterm
のように絶対パスを指定することでエラーを回避する事ができます。
それぞれのコマンドの場所については、 あらかじめ telnet などで UNIX ホストにログインして、 which xterm (Cシェル系の場合) や type xterm (Bシェル系の場合) などとして確認してください。
- PATH 環境変数の設定を ~/.cshrc, ~/.bashrc に記述する
- PATH 環境変数の設定を ~/.login や ~/.profile などの ログイン用初期化ファイルで行うのではなく、 ~/.cshrc や ~/.bashrc などのシェル初期化ファイルに記述してください。