端末コマンドを実行できません:「コマンド 'sudo'は '/ usr / bin / sudo'で使用可能です」


12

私はかなり長い間Ubuntu 12.04を使用していますが、このように突然問題が発生することはありませんでした。UbuntuシステムにPython 3.2をインストールしようとしていますが、Pythonソースをコンパイルするコードを実行するたびに、次のエラーが発生します。

'Command 'sudo' is available in '/usr/bin/sudo'
The command could not be located because '/usr/bin' is not included in the PATH environment variable.
sudo: command not found'

また、gksudoコマンドを実行して環境が示すものを表示しようとしましたが、ほとんど同じエラーが発生します。


コマンドラインからアプリケーションを実行しようとすると、おそらく同じエラーが表示されるはずです。の出力はcat /etc/environment何ですか?
アラアアリ

実行しようとしているプログラムを教えてください。一部のプログラムはPATH変数を変更しますが、名前がないと確認できません。
ブライアム

回答:


24

エラーが言う/usr/binように、PATH環境変数にディレクトリを追加する必要があります。これを行うには、ターミナルで次のコマンドを実行します。

export PATH=$PATH:/usr/bin

を使用した後sudo/etc/environmentファイルを編集して変更を永続的にすることができるため、ターミナルで実行します。

sudo nano /etc/environment

ファイルを編集します。パスが次のようなものであることを確認してください。

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

Ctrl+ Xでファイルを保存して閉じ、Y求められたらを押します。

関連項目:PATHにディレクトリを追加する方法は?


ただし、これは永続的なものではありません。彼が再起動すると、再び消えます。
アラアアリ

1
はい。ユーザーのための恒久的な設定はでおそらくある~/.profile~/.bashrc~/.pam_environmentまたは~/.xsessionrc。すべてのユーザーの設定はでおそらくあります/etc/profile/etc/profile.d/*/etc/environment/etc/bash/bashrc/etc/lightdm/xsession。おそらく、ユーザーファイルの1つがデフォルトのシステム全体の設定を上書きします。別のユーザーまたはゲストアカウントを有効にしている場合は、他のユーザーで試して、その他のユーザーにも問題が存在するかどうかを確認します。そうでない場合は、自分のユーザーの起動スクリプトファイルを確認してください。
-soulsource

1
完璧に機能しました。どうもありがとうございました!しかし、この変更を永久に行う方法についての詳細を追加していただけますか?前もって感謝します。
OscaRoCa 14

このエラーが発生しました:MY_USER_NAMEがsudoersファイルにありません。このインシデントは報告されます。、私は私が何をすべきか...管理者ではないよ...
ガーネム

6

問題が発生し、.bashrcファイルを編集して修正しました

  1. nanoを使用して.bashrcファイルを開きます

    $ sudo nano ~/.bashrc
    
  2. 次の行をbashrcファイルに追加します

    export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:   /usr/local/games"
    
  3. Ctrl + Xを押してファイルを保存します

  4. ファイルを変更するように求められ、yを押してEnter

できました。


1
~を使用してホームディレクトリ()のファイルを操作しないでくださいsudo。解決できないほど多くの問題を引き起こす可能性があります。
メレビウス

1

PATHシステム変数に新しい値を追加する場合、ほとんどの場合、新しい行~/.bashrcまたは~/.bash_profileファイルを追加します。

たとえば、に追加/opt/netbeans/binするPATH場合は、次の行を~/.bashrcファイルの最後に追加する必要があります。

export PATH=$PATH:/opt/netbeans/bin

この行を分解してみましょう。

  • export PATH-ここでPATH変数を参照します
  • =- 演算子を使用して新しい値を割り当てます=(残りの文字列はに格納される値ですPATH
  • $PATH- 現在のコマンドの前に変数にあっPATHた値に変数を割り当てます
  • : -新しい値にセパレータを追加します
  • /opt/netbeans/bin -そして、新しい値を追加します PATH

or ファイルPATH内の変数へのすべての参照を確認し、展開することを確認する必要があります -~/.bashrc~/.bash_profile

export PATH=$PATH:/opt/netbeans/bin

このように上書きしないでください -

export PATH=/opt/netbeans/bin

PATH変数

PATH使用するすべての参照と、$PATH:その後の追加の値を確認する必要があります


動作しない場合は、次のようなことをしてください。

  • /etc/environmentファイルに次の変数のようなものがあり、このファイルで再定義されないことを確認してください:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
  • 上記のPATH変数から不足しているパスPATHを、/etc/environment

ファイルを変更するたびにテストする前に、構成を更新することを忘れないでください。

~/.bashrcファイルの例:

source `~/.bashrc`
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.