Minun täytyy pomppia Java 8: n ja Java 13: n välillä, jotta eri Minecraft-versiot toimisivat kunnolla, ja tämä edellyttää, että kirjoitan sudo archlinux-java set java-8-openjdk
tai sudo archlinux-java set java-13-openjdk
– ongelmana on, että haluan muuttaa tämän yksinkertaiseksi kaksoisnapsautettavaksi skriptiksi, jonka voin laittaa työpöydällesi, enkä pyydä minua antamaan salasanaa .
Onko jotain mitä voin chmodilla tehdä tai mikä tekee siitä sellaisen, että tämä komento ei vaadi sudo
?
Vastaus
Olisi turvallisempaa / varovaisempaa lähestymistapaa, jos Java-oletusympäristöä ei muutettaisi järjestelmän laajuisesti vain yhden ohjelman eri versioiden suorittamiseksi.
Voit sen sijaan käynnistää ohjelman muokatulla PATH
-toiminnolla saadaksesi sen käyttämään tiettyä Java-versiota (kuten ehdotetaan Arch Linux-wiki , jossa archlinux-java
on dokumentoitu):
$ PATH="/usr/lib/jvm/java-<version>-openjdk/bin${PATH:+:$PATH}" your_program
Jos käytät .desktop
-tiedostoa ohjelman käynnistämiseen, muokkaa sen Exec
avain :
Exec=env PATH="/usr/lib/jvm/java-<version>-openjdk/bin${PATH:+:$PATH}" your_program
Tai vaihtoehtoisesti, muokkaa käyttöliittymän avulla sen ”Ominaisuudet” → ”Sovellus”: ”Komento” -kenttää.
Jos todella haluat antaa käyttäjän suorittaa sudo archlinux-java
ilman salasanaa, voit lisätä
your_user ALL=(root) NOPASSWD: /usr/bin/archlinux-java
omalle /etc/sudoers
, sen jälkeen kun joku jo on läsnä your_user
riviä. Muista käyttää visudo
tätä varten: se tarkistaa sudoers
-tiedoston virheiden varalta ennen sen tallentamista, mikä vähentää sudo
käyttökelvoton.
Lisätietoja: