Jeg er nødt til at hoppe mellem Java 8 og Java 13 for at forskellige Minecraft-versioner fungerer korrekt, og det kræver, at jeg skriver sudo archlinux-java set java-8-openjdk
eller sudo archlinux-java set java-13-openjdk
– problemet er, at jeg vil gøre dette til et simpelt dobbeltklikbart script, som jeg kan lægge på skrivebordet og ikke have det til at bede mig om adgangskoden .
Er der noget, jeg kan chmod eller noget, der gør det sådan, at denne kommando ikke kræver sudo
?
Svar
Det ville være en sikrere / mere forsigtig tilgang til ikke at ændre standard Java-miljøet hele systemet bare for at køre forskellige versioner af et enkelt program.
Du kan i stedet starte et program med en ændret PATH
for at få det til at bruge en bestemt Java-version (som foreslået i Arch Linux Wiki , hvor archlinux-java
er dokumenteret):
$ PATH="/usr/lib/jvm/java-<version>-openjdk/bin${PATH:+:$PATH}" your_program
Hvis du bruger en .desktop
fil til at starte dit program, skal du redigere dens Exec
nøgle :
Exec=env PATH="/usr/lib/jvm/java-<version>-openjdk/bin${PATH:+:$PATH}" your_program
Alternativt kan du ved hjælp af GUI justere dens “Egenskaber” → “Applikation”: “Kommando” -felt.
Hvis du virkelig vil tillade en bruger at køre sudo archlinux-java
uden at blive bedt om en adgangskode, du kan tilføje
your_user ALL=(root) NOPASSWD: /usr/bin/archlinux-java
til din /etc/sudoers
, efter enhver allerede til stede your_user
linjer. Husk at bruge visudo
til at gøre det: det kontrollerer sudoers
-filen for fejl, inden den gemmes, hvilket reducerer risikoen for at lave sudo
ubrugelig.
Yderligere læsning: