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: