インターネットからダウンロードしたアプリケーションをインストールして、すべて うまくいった様に見えたのですが、アプリケーションの名前を入力すると、 「コマンドが見付からない」というメッセージが出ます。名前は間違えない はずなのになぜ起動しないのでしょうか?
シェルプロンプトからアプリケーションを起動しようとして、うまくできない場合は、 アプリケーションの実行可能ファイル名の前に全長パス名を付けてみて下さい。 (例、/usr/local/bin/my-executable)
例えば、仮にsetiathomeクライアントアプリケーションを ダウンロードして、それを使用してみたいとします。ソフトウェアのインストールは その説明書に従います。そのインストールでホームディレクトリにseti/ というサブディレクトリが出来たとしましょう。ここで以下に示されているような手順で 実行可能ファイルへ全長パスを付けてアプリケーションを起動します。
/home/joe/seti/setiathome |
アプリケーションの起動に全長パス名が必要な理由は、実行ファイルが ユーザーシェル環境にとって見つけることの出来る認識対象ディレクトリに 置かれていなかったからです。(例えば、/usr/local/bin)
毎回アプリケーションへの全長パスをタイプする必要のないように 設定をカスタマイズできます。これを達成するにはパス環境変数を 編集する必要があります。
ユーザーシェルが検索するように設定されていない場所にあるプログラムを何回も 起動する場合は、ユーザーシェル設定ファイルを編集して起動したい実行ファイルを 含んでいるディレクトリを追加します。これは、そのディレクトリをPATH 環境変数に追加することで達成できます。
重要 | |
---|---|
この方法はユーザーアカウントだけにして下さい。rootの.bash_profileにこの変更を適用するのは、セキュリティ上問題があります。 |
シェルプロンプトでgeditや、 viなどのテキストエディタを 開きます。つぎの様に タイプして、.bash_profileというファイルを 開きます。
gedit .bash_profile |
すると次のようなPATH ステートメントがあるはずです。
PATH=$PATH:$HOME/bin:/usr/local/bin: |
このステートメントの最後に以下の例の様に $HOME/seti を追加します。
PATH=$PATH:$HOME/bin:/usr/local/bin/:$HOME/seti: |
ファイルを保存してテキストエディタを終了します。
これで、次のコマンドを入力すると.bash_profileへの変更がすぐに反映されます。
source .bash_profile |
ご自分の.bash_profileにパスを加える ことにより、自分のパスにユーティリティやプログラムを置くことができ、 コマンドの前に./を入力しなくてもこれらを実行 することができます。
ヒント | |
---|---|
シェルプロンプトの使い方、設定方法などの詳細は、 第13章を参照してください。 |