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: