Hvordan lage archlinux-java sett … ikke krever sudo?

Jeg må sprette mellom Java 8 og Java 13 for at forskjellige Minecraft-versjoner skal fungere ordentlig, og det gjør at jeg må skrive sudo archlinux-java set java-8-openjdk eller sudo archlinux-java set java-13-openjdk – problemet er at jeg vil gjøre dette til et enkelt, dobbeltklikkbart skript som jeg kan legge på skrivebordet mitt, og ikke få det til å be meg om passordet .

Er det noe jeg kan chmod eller noe som gjør det slik at denne kommandoen ikke krever sudo?

Svar

Det ville være en tryggere / mer forsiktig tilnærming å ikke endre standard Java-miljøet hele systemet bare for å kjøre forskjellige versjoner av et enkelt program.

Du kan i stedet starte et program med en modifisert PATH for å få det til å bruke en bestemt Java-versjon (som foreslått i Arch Linux Wiki , der archlinux-java er dokumentert):

 $ PATH="/usr/lib/jvm/java-<version>-openjdk/bin${PATH:+:$PATH}" your_program  

Hvis du bruker en .desktop -fil for å starte programmet, redigerer du Exec nøkkel :

 Exec=env PATH="/usr/lib/jvm/java-<version>-openjdk/bin${PATH:+:$PATH}" your_program  

Eller, alternativt, ved hjelp av GUI, juster «Properties» → «Application»: «Command» -feltet.


Hvis du virkelig vil tillate en bruker å kjøre sudo archlinux-java uten å bli bedt om å oppgi passord, kan du legge til

 your_user ALL=(root) NOPASSWD: /usr/bin/archlinux-java  

til /etc/sudoers, etter eventuelle allerede tilstedeværende your_user linjer. Husk å bruke visudo for å gjøre det: den sjekker sudoers -filen for feil før den lagres, og reduserer risikoen for å lage sudo ubrukelig.

Ytterligere lesing:

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *