¿Cómo hacer que el conjunto de archlinux-java … no requiera sudo?

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:

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *