Hur gör man att archlinux-java set … inte kräver sudo?

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:

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *