xubuntuにEclipseをインストールしようとしましたが、javaをインストールして「JAVA_HOME」sudo gdebi <java-package>.deb
に追加し、環境を再ロードしてシステム全体を再起動しました。/etc/environment
PATH
実行中にjava --version
正しい出力が表示されます。
java 12.0.1 2019-04-16
Java(TM) SE Runtime Environment (build 12.0.1+12)
Java HotSpot(TM) 64-Bit Server VM (build 12.0.1+12, mixed mode, sharing)
スーパーユーザーが呼び出すと、両方
$ sudo su
# java --version
または経由
$ java --version
しかし走っている
$ sudo java --version
私は持っていますjava: command not found
しかし走っている
sudo echo $PATH
私は持っています
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/jdk-12.0.1/bin/:/snap/bin/
そしてJavaパスが存在します。/usr/lib/jvm/jdk-12.0.1/bin/
どうすれば解決できますか?また、誰かがこのようなことが起こる理由を説明できますか?
ベストアンサー1
sudoがPATHを上書きしたようです。
/etc/sudoers
設定が含まれていることを確認し、secure_path=...
この設定にJavaパスを追加する必要があります。
簡単なテストに注意してください。パスを確認するには、次の手順を実行する必要があります。
sudo bash -c 'echo $PATH'
より単純な形式は呼び出し前に拡張されるsudo echo $PATH
ため機能しません。PATH
sudo