Linuxで自作プログラムをどこからでも実行する方法:ステップバイステップ完全ガイド
多くの人は公式パッケージマネージャーからプログラムをインストールするため、Linux上でプログラムがどこに配置されるかを意識する必要はありません。インストール後はコマンド名を入力するだけで、問題なく動作します。しかし、自分で作成したシェルスクリプトを実行したい場合や、Webからダウンロードしたプログラムを実行したい場合はどうでしょうか。また、ソースからコンパイルしたプログラムが特定のディレクトリ外では動かないということもあります。もちろん、プログラムを実行する前に必ず安全性を確認すべきですが、安全が確認できたプログラムをどこからでも実行できるようにする方法はいくつか存在します。
まず、コマンドラインで作業する必要があります。Unityを使用している場合は、Ubuntu Dashで「Terminal」と検索してください。ほとんどのデスクトップ環境では、Ctrl+Alt+Tを押すことでターミナルを開けます。LXDE、Xfce4、KDEなどのデスクトップ環境のユーザーは、アプリケーションメニューから「システムツール」→「端末」と進んでください。プログラムの操作には通常管理者権限が必要ですが、この作業ではほとんどの場合sudoを使う必要はありません。
方法1:PATH変数を編集する
プログラムの場所が分かっていて、すでに実行可能な状態になっているなら、PATHに追加しましょう。検索パスとは、プロンプトで入力したプログラム名をbashがどこから探せばよいかを指示するものです。WindowsやMS-DOSのコマンドラインを使ったことがある人なら、この仕組みを覚えているかもしれません。例えば、ダウンロードフォルダに実行ファイルがあるとします。セッションが開いている間だけどこからでも実行できるようにしたい場合は、export PATH=$PATH:~/Downloadsと入力してEnterキーを押します。
この方法では現在のセッションのみパスが変更され、新しいウィンドウを開いたり現在のウィンドウを閉じたりするとデフォルトのパスに戻ってしまいます。そのため、一時的な実験には最適ですが、恒久的な設定には向いていません。永続的に変更したい場合は、コマンドラインでnano ~/.bashrcと入力してください。
viやvimなど別のエディタを使いたい場合は、コマンド内のnanoをお好みのターミナルテキストエディタ名に置き換えてください。PageDownキーまたはカーソルキーの下を押してファイルの末尾まで移動し、パス設定のコマンドを追加します。例えば、末尾にexport PATH=$PATH:/home/user/Downloadsという行を追加すれば、恒久的な場所として登録されます。
このファイルは新しいシェルウィンドウを開くたびに読み込まれます。ユーザー名はおそらくuserではないので、実際の環境に合わせて置き換えてください。nanoを使用している場合はCtrl+Oで保存し、Ctrl+Xで終了します。これで完了です。手間が最も少ないこの方法は、ほとんどのユーザーにとって十分でしょう。他にも選択肢はあります(言葉遊びです)。
方法2:~/.local/binディレクトリを作成する
~/.local/binディレクトリは実はほとんどのデフォルトのPATH設定に含まれていますが、多くの人気GNU/Linuxディストリビューションでは実際には作成されていません。シェルスクリプトなどをあらゆる場所から実行したい目的で自分で作成したのでなければ、まだこのディレクトリは存在しないはずです。とはいえ、デフォルトでPATHに含まれているため、一度作成すればすぐにプログラムを実行できます。
コマンドプロンプトでmkdir ~/.local/binと入力し、Enterキーを押します。出力は何も表示されないはずです。「mkdir: cannot create directory "/home/user/.local/bin"」のようなエラーメッセージが表示された場合(userの部分は実際のユーザー名によって異なります)、そのディレクトリはすでに存在します。この場合はエラーを無視しても問題ありません。単にディレクトリが既にあることを示しており、bashが同じ場所に重ねてディレクトリを作らないだけだからです。
以降、このディレクトリに移動したファイルは、どこからでも実行できるようになります。例えば、DownloadsフォルダにchkFileというシェルスクリプトがあり、事前に安全性を確認済みだとしましょう。もちろんこれは架空のファイル名なので、ls ~/Downloadsなどで実際のファイル名を確認してください。例の通りであれば、まずchmod +x ~/Downloads/chkFileで実行権限を付与し、次にmv ~/Downloads/chkFile ~/.local/binで適切なディレクトリへ移動します。これ以降、どの場所からでもこのスクリプトを実行できるようになります。
方法3:GUIからプログラムを実行する
多くのLinuxユーザーはコマンドラインを好みますが、必ずしもこの方法でスクリプトを実行する必要はありません。他にも選択肢があります。ほとんどのグラフィカルデスクトップ環境では、Superキー+Eキーを押すとファイルブラウザが開きます。あるいは、使用している環境に応じてUbuntu Unity Dashで「ファイルマネージャー」を検索してもよいでしょう。ホームディレクトリ内のすべてのフォルダが表示されるので、目的の実行ファイルが含まれるフォルダをダブルクリックします。ファイルを選択してEnterキーを押す方法でも構いません。
その後の動作は、ファイルマネージャーによって多少異なります。自動的にターミナルで実行したり、プログラムとして起動したりするものもあります。Lubuntuに含まれるPCManFMのように、確認ダイアログを表示するものもあります。
この方法はやや手間がかかるため、価値があると確信できるファイルに対してのみ使うべきです。とはいえ、スクリプトの作成中に素早くテスト実行できる非常に便利な方法であり、普段コマンドラインしか使わない人には見落とされがちなテクニックでもあります。
まとめ
Linuxで自作プログラムやダウンロードしたツールをどこからでも実行できるようにするには、主に3つのアプローチがあります。一時的な利用ならexportコマンドでPATHを追加し、恒久的な利用なら~/.bashrcに記述するのが基本です。さらに、デフォルトでPATHに含まれる~/.local/binディレクトリを活用すれば、実行ファイルを整理しながら管理できます。GUIでの実行も補助的な手段として有効です。用途に応じて最適な方法を選び、快適なLinuxライフを送りましょう。
著者について

Kevin Arrows(ケビン・アローズ)
Kevin Arrowsは、10年以上の業界経験を持つ高度に熟練したテクノロジースペシャリストです。Microsoft Certified Technology Specialist(MCTS)の資格を保有し、最新の技術動向を追いかけることに深い情熱を持っています。ソフトウェア開発、サイバーセキュリティ、クラウドコンピューティングなど幅広い技術関連テーマについて数多く執筆しており、複雑な技術的概念を明確かつ簡潔に説明する能力で高く評価されています。
-
Bashで乱数を生成する4つの方法:コマンドライン活用ガイド
Bashのプロンプトからは簡単に乱数を生成でき、その数値をそのまま変数に設定することもできます。これは特定の種類のスクリプト作成から、テーブルトップRPGのセッション運営まで、幅広い場面で役立ちます。D&Dキャンペーンの準備でも、強力なbash言語を使ったユーティリティ開発でも、多くの場合たった1行のコードで済みます。また、特定のセキュリティチェックを行う際にも便利なツールですが、熟練したクラッカーであればこうした単純な乱数生成器を回避できる点には留意が必要です。それでも、パスワードやコードの生成には十分有用であり、セキュリティ維持の一助となるでしょう。 乱数の生成方法はいくつかあり、すべての
-
Ubuntuデスクトップのアイコンサイズを変更・調整する方法【ステップ別ガイド】
Ubuntuデスクトップのアイコンが急に大きすぎると感じたら、誤って表示倍率を変更してしまった可能性があります。これはマウスのスクロールホイールの操作ミスや、タッチパッド・タッチスクリーンの誤触でも簡単に起こり得ます。まずはデスクトップ上でCtrlキーを押しながらスクロールホイールを回してみてください。これで元に戻れば、単にズーム倍率が変わっていただけなので、そのまま快適に使い続けられます。もしアイコンそのものではなく、下に表示されるラベル文字が問題である場合は、端末で次のコマンドを実行してみましょう。gsettings set org.gnome.nautilus.desktop font