Kuinka archlinux-java set … ei vaadita sudoa?

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:

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *