如何使 archlinux-java 设置...不需要 sudo?

如何使 archlinux-java 设置...不需要 sudo?

我必须在 Java 8 和 Java 13 之间切换才能使不同的 Minecraft 版本正常工作,而这样做需要我输入sudo archlinux-java set java-8-openjdkor sudo archlinux-java set java-13-openjdk- 问题是我想将其转换为一个可以放在桌面上的简单的可双击脚本,并且不让它提示我输入密码。

有什么我可以 chmod 的东西或者使它不需要这个命令的东西吗sudo

答案1

不为了运行单个程序的不同版本而更改系统范围内的默认 Java 环境,将是一种更安全/更谨慎的方法。

相反,您可以启动一个经过修改的程序,PATH使其使用特定的 Java 版本(如Arch Linux 维基archlinux-java记录在哪里):

$ PATH="/usr/lib/jvm/java-<version>-openjdk/bin${PATH:+:$PATH}" your_program

如果您使用.desktop文件来启动程序,请编辑其Exec钥匙

Exec=env PATH="/usr/lib/jvm/java-<version>-openjdk/bin${PATH:+:$PATH}" your_program

或者,使用 GUI,调整其“属性”→“应用程序”:“命令”字段。


如果你真的想要允许用户运行sudo archlinux-java而不提示输入密码,您可以添加

your_user ALL=(root) NOPASSWD: /usr/bin/archlinux-java

给你的/etc/sudoers任何已经存在的your_user线路。请记住使用visudo这样做:它会sudoers在保存文件之前检查文件是否有错误,从而降低文件无法使用的风险sudo

进一步阅读:

相关内容