无法为所有用户设置 PATH

Unable to get PATH to be set for all users

正在尝试为 Pufferpanel 安装 OpenJDK 17。用户 pi 可以做 java -version 很好,但是 Pufferpanel 得到 bash: java: command not found

我的 /etc/profile/etc/profile.d/java.sh 有这些行:

#JAVA
export JAVA_HOME="/usr/lib/jvm/jdk-17.0.1+12"
export PATH=$JAVA_HOME/bin:$PATH

另外JAVA_HOME="/usr/lib/jvm/jdk-17.0.1+12"设置在/etc/environment

已为 java.sh 和带有 chmod 777JAVA_HOME 文件夹授予完全权限。用户 pufferpanel 现在可以 运行 脚本但是错误保持不变:bash: java: command not found.

尝试一些东西后发现:

pufferpanel@raspberrypi:/home/pi$ whereis java
java: /usr/share/java

同时 pi 给出了这个输出:

pi@raspberrypi:~ $ whereis java
java: /usr/share/java /usr/lib/jvm/jdk-17.0.1+12/bin/java

好消息是 Java 作为用户 pufferpanel:

执行 运行
pufferpanel@raspberrypi:/usr/lib/jvm/jdk-17.0.1+12/bin$ ./java -version
openjdk version "17.0.1" 2021-10-19
OpenJDK Runtime Environment Temurin-17.0.1+12 (build 17.0.1+12)
OpenJDK Server VM Temurin-17.0.1+12 (build 17.0.1+12, mixed mode, sharing)

我的猜测是 PATH 在某处被覆盖,只是不知道在哪里。

如果有更简单的方法来安装高于版本 16 的 Java 让 Minecraft 正常工作,请告诉我!

你做的很好,但你应该在 /etc/profile.d/

中创建一个 custom.sh shell 脚本

至于环境变量,比如JAVA_HOME,应该放在/etc/environment

~/.bashrc中设置路径成功,复制java.sh并粘贴进去。一开始找不到~/.bashrc,但是this helped to figure that out.

由于 Pufferpanel 是另一回事,我将此标记为我的问题的答案,该问题让 Java 以用户身份工作。