Jak nastavit, aby archlinux-java set … nevyžadoval sudo?

Aby správně fungovaly různé verze Minecraftu, musím se odrazit mezi prostředími Java 8 a Java 13, což vyžaduje zadání sudo archlinux-java set java-8-openjdk nebo sudo archlinux-java set java-13-openjdk – problém je v tom, že z toho chci udělat jednoduchý skript, na který lze dvakrát kliknout, a který si mohu dát na plochu, a ne nechat si to vyzvat k zadání hesla .

Je něco, co mohu chmod nebo něco, co to dělá takovým, že tento příkaz nevyžaduje sudo?

Odpověď

Bylo by bezpečnějším a opatrnějším přístupem nezměnit výchozí prostředí prostředí Java v celém systému, aby bylo možné spouštět různé verze jednoho programu.

Místo toho můžete spustit program s upraveným PATH, aby používal konkrétní verzi Java (jak je navrženo v Arch Linux Wiki , kde je dokumentován archlinux-java):

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

Pokud ke spuštění programu používáte soubor .desktop, upravte jeho Exec klíč :

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

Nebo můžete pomocí grafického uživatelského rozhraní upravit jeho pole „Vlastnosti“ → „Aplikace“: „Příkaz“.


Pokud opravdu chcete uživateli umožnit spuštění sudo archlinux-java bez výzvy k zadání hesla, můžete přidat

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

do /etc/sudoers, po jakýchkoli již přítomných your_user řádky. Nezapomeňte k tomu použít visudo: před uložením zkontroluje, zda soubor sudoers neobsahuje chyby, čímž se sníží riziko vzniku sudo nepoužitelný.

Další čtení:

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *