Jag måste studsa mellan Java 8 och Java 13 för att olika Minecraft-versioner ska fungera ordentligt, och för att göra det måste jag skriva sudo archlinux-java set java-8-openjdk
eller sudo archlinux-java set java-13-openjdk
– problemet är att jag vill förvandla detta till ett enkelt dubbelklickbart skript som jag kan lägga på mitt skrivbord och inte få det att be mig om lösenordet .
Finns det något jag kan chmod eller något som gör det så att det här kommandot inte kräver sudo
?
Svar
Det skulle vara ett säkrare / mer försiktigt tillvägagångssätt att inte ändra Java-standardmiljön över hela systemet bara för att köra olika versioner av ett enda program.
Du kan istället starta ett program med en modifierad PATH
så att den använder en specifik Java-version (som föreslås i Arch Linux Wiki , där archlinux-java
är dokumenterad):
$ PATH="/usr/lib/jvm/java-<version>-openjdk/bin${PATH:+:$PATH}" your_program
Om du använder en .desktop
-fil för att starta ditt program, redigera dess Exec
nyckel :
Exec=env PATH="/usr/lib/jvm/java-<version>-openjdk/bin${PATH:+:$PATH}" your_program
Eller, alternativt, med hjälp av GUI, justera dess ”Egenskaper” → ”Program”: ”Kommando” -fält.
Om du verkligen vill tillåta en användare att köra sudo archlinux-java
utan att bli ombedd att ange ett lösenord, du kan lägga till
your_user ALL=(root) NOPASSWD: /usr/bin/archlinux-java
till din /etc/sudoers
, efter någon som redan finns your_user
rader. Kom ihåg att använda visudo
för att göra det: det kontrollerar sudoers
-filen innan det sparas, vilket minskar risken för att sudo
oanvändbar.
Ytterligare läsning: