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í: