Hvordan laver man archlinux-java-sæt … ikke kræver sudo?

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:

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *