Aby różne wersje gry Minecraft działały poprawnie, muszę przechodzić między Javą 8 a Javą 13, a zrobienie tego wymaga wpisania sudo archlinux-java set java-8-openjdk
lub sudo archlinux-java set java-13-openjdk
– problem polega na tym, że chcę przekształcić to w prosty skrypt z możliwością podwójnego kliknięcia, który mogę umieścić na pulpicie i nie powinien wyświetlać pytania o hasło .
Czy jest coś, co mogę chmod lub coś, co sprawia, że to polecenie nie wymaga sudo
?
Odpowiedź
Bezpieczniejszym / ostrożniejszym podejściem byłoby niezmienianie domyślnego środowiska Java w całym systemie tylko po to, aby uruchomić różne wersje jednego programu.
Zamiast tego możesz uruchomić program ze zmodyfikowanym PATH
, aby używał określonej wersji Java (zgodnie z sugestią w Arch Linux Wiki , gdzie udokumentowano archlinux-java
):
$ PATH="/usr/lib/jvm/java-<version>-openjdk/bin${PATH:+:$PATH}" your_program
Jeśli używasz .desktop
pliku do uruchomienia programu, edytuj jego Exec
klucz :
Exec=env PATH="/usr/lib/jvm/java-<version>-openjdk/bin${PATH:+:$PATH}" your_program
Lub alternatywnie, używając GUI, dostosuj jego „Właściwości” → „Aplikacja”: „Polecenie”.
Jeśli naprawdę chcesz umożliwić użytkownikowi uruchomienie sudo archlinux-java
bez pytania o hasło, możesz dodać
your_user ALL=(root) NOPASSWD: /usr/bin/archlinux-java
do /etc/sudoers
, po już istniejących your_user
wiersze. Pamiętaj, aby w tym celu użyć visudo
: przed zapisaniem sprawdza on plik sudoers
pod kątem błędów, zmniejszając ryzyko zrobienia sudo
bezużyteczne.
Więcej informacji: