Je dois rebondir entre Java 8 et Java 13 pour que différentes versions de Minecraft fonctionnent correctement, et pour cela, je dois taper sudo archlinux-java set java-8-openjdk
ou sudo archlinux-java set java-13-openjdk
– le problème est que je veux transformer cela en un simple script double-cliquable que je peux mettre sur mon bureau et ne pas me demander le mot de passe .
Y a-t-il quelque chose que je puisse chmod ou quelque chose qui fait que cette commande ne nécessite pas sudo
?
Réponse
Ce serait une approche plus sûre / plus prudente de ne pas changer lenvironnement Java par défaut à léchelle du système juste pour exécuter différentes versions dun même programme.
Vous pouvez, à la place, démarrer un programme avec un PATH
modifié pour lui faire utiliser une version Java spécifique (comme suggéré dans le Arch Linux Wiki , où archlinux-java
est documenté):
$ PATH="/usr/lib/jvm/java-<version>-openjdk/bin${PATH:+:$PATH}" your_program
Si vous utilisez un fichier .desktop
pour lancer votre programme, modifiez son Exec
clé :
Exec=env PATH="/usr/lib/jvm/java-<version>-openjdk/bin${PATH:+:$PATH}" your_program
Ou, en utilisant linterface graphique, ajustez son champ « Propriétés » → « Application »: « Commande ».
Si vous vraiment permettre à un utilisateur dexécuter sudo archlinux-java
sans être invité à entrer un mot de passe, vous pouvez ajouter
your_user ALL=(root) NOPASSWD: /usr/bin/archlinux-java
à votre /etc/sudoers
, après tout déjà présent your_user
lignes. Noubliez pas dutiliser visudo
pour ce faire: il vérifie le fichier sudoers
pour les erreurs avant de lenregistrer, ce qui réduit le risque de faire sudo
inutilisable.
Lectures complémentaires: