Devo rimbalzare tra Java 8 e Java 13 affinché diverse versioni di Minecraft funzionino correttamente e per farlo è necessario digitare sudo archlinux-java set java-8-openjdk
o sudo archlinux-java set java-13-openjdk
– il problema è che voglio trasformarlo in un semplice script a doppio clic che posso inserire sul desktop, senza che mi chieda la password .
Cè qualcosa che posso chmod o qualcosa che lo renda tale che questo comando non “richiede sudo
?
Risposta
Sarebbe un approccio più sicuro / più cauto non modificare lambiente Java predefinito a livello di sistema solo per eseguire versioni diverse di un singolo programma.
Puoi, invece, avviare un programma con un PATH
modificato per fare in modo che utilizzi una versione Java specifica (come suggerito nella Arch Linux Wiki , dove archlinux-java
è documentato):
$ PATH="/usr/lib/jvm/java-<version>-openjdk/bin${PATH:+:$PATH}" your_program
Se utilizzi un file .desktop
per avviare il programma, modifica il suo Exec
chiave :
Exec=env PATH="/usr/lib/jvm/java-<version>-openjdk/bin${PATH:+:$PATH}" your_program
Oppure, in alternativa, utilizzando la GUI, modifica il campo “Proprietà” → “Applicazione”: “Comando”.
Se davvero vuoi consentire a un utente di eseguire sudo archlinux-java
senza che venga richiesta una password, puoi aggiungere
your_user ALL=(root) NOPASSWD: /usr/bin/archlinux-java
al tuo /etc/sudoers
, dopo qualsiasi già presente your_user
righe. Ricorda di utilizzare visudo
per farlo: controlla il file sudoers
per errori prima di salvarlo, riducendo il rischio di fare sudo
inutilizzabile.
Ulteriori letture: