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: