Jak sprawić, by zestaw archlinux-java … nie wymagał sudo?

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:

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *