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: