Wie kann man dafür sorgen, dass archlinux-java set … kein sudo benötigt?

Ich muss zwischen Java 8 und Java 13 wechseln, damit verschiedene Minecraft-Versionen ordnungsgemäß funktionieren. Dazu muss ich oder sudo archlinux-java set java-13-openjdk – Das Problem ist, dass ich daraus ein einfaches doppelklickbares Skript machen möchte, das ich auf meinen Desktop stellen kann, ohne dass ich zur Eingabe des Kennworts aufgefordert werde .

Gibt es irgendetwas, das ich ändern kann, oder etwas, das es so macht, dass dieser Befehl nicht sudo erfordert?

Antwort

Es wäre sicherer / vorsichtiger, die Standard-Java-Umgebung nicht systemweit zu ändern, nur um verschiedene Versionen eines einzelnen Programms auszuführen.

Sie können stattdessen ein Programm mit einem geänderten PATH starten, damit es eine bestimmte Java-Version verwendet (wie in vorgeschlagen) Arch Linux Wiki , in dem archlinux-java dokumentiert ist):

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

Wenn Sie zum Starten Ihres Programms eine .desktop -Datei verwenden, bearbeiten Sie die Exec -Taste :

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

Oder passen Sie alternativ über die GUI das Feld „Eigenschaften“ → „Anwendung“: „Befehl“ an.


Wenn Sie wirklich möchte einem Benutzer erlauben, sudo archlinux-java auszuführen, ohne zur Eingabe eines Kennworts aufgefordert zu werden. Sie können

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

zu Ihrem /etc/sudoers, nach bereits vorhandenen your_user Zeilen. Denken Sie daran, dazu visudo zu verwenden: Die Datei sudoers wird vor dem Speichern auf Fehler überprüft, um das Risiko zu verringern, dass sudo unbrauchbar.

Weiterführende Literatur:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.