Tengo que saltar entre Java 8 y Java 13 para que las diferentes versiones de Minecraft funcionen correctamente, y hacerlo requiere que escriba sudo archlinux-java set java-8-openjdk
o sudo archlinux-java set java-13-openjdk
: el problema es que quiero convertir esto en una secuencia de comandos simple en la que se puede hacer doble clic y que pueda poner en mi escritorio y que no me pida la contraseña. .
¿Hay algo que pueda hacer chmod o algo que haga que este comando no requiera sudo
?
Respuesta
Sería un enfoque más seguro / más cauteloso no cambiar el entorno predeterminado de Java en todo el sistema solo para ejecutar diferentes versiones de un solo programa.
En su lugar, puede iniciar un programa con un PATH
modificado para que use una versión específica de Java (como se sugiere en el Arch Linux Wiki , donde archlinux-java
está documentado):
$ PATH="/usr/lib/jvm/java-<version>-openjdk/bin${PATH:+:$PATH}" your_program
Si usa un archivo .desktop
para iniciar su programa, edite su Exec
clave :
Exec=env PATH="/usr/lib/jvm/java-<version>-openjdk/bin${PATH:+:$PATH}" your_program
O, alternativamente, usando la GUI, ajuste su campo «Propiedades» → «Aplicación»: «Comando».
Si realmente desea permitir que un usuario ejecute sudo archlinux-java
sin que se le solicite una contraseña, puede agregar
your_user ALL=(root) NOPASSWD: /usr/bin/archlinux-java
a su /etc/sudoers
, después cualquier ya presente your_user
líneas. Recuerde usar visudo
para hacer eso: verifica el archivo sudoers
en busca de errores antes de guardarlo, lo que reduce el riesgo de hacer sudo
inutilizable.
Para leer más: