我必须在 Java 8 和 Java 13 之间切换才能使不同的 Minecraft 版本正常工作,而这样做需要我输入sudo archlinux-java set java-8-openjdk
or 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
。
进一步阅读: