esecuzione script come root

Pubblicità

e_ale92

Utente Èlite
Messaggi
17,011
Reazioni
5,013
Punteggio
228
Salve a tutti,
avrei la necessità di eseguire due comandi ad ogni accensione dell'os. Con il gestore script di KDE ho messo in avvio il seguente script
Codice:
#!/bin/sh
echo 0 > /sys/module/snd_ac97_codec/parameters/power_save
echo 0 > /dev/dsp

ma noto che non vengono lanciati quei comandi all'avvio perchè se interrogo il sistema il power_save resta su 1 (e le casse scoppiettano).
lo stato è su Abilitato e viene abilitato all'avvio ma nada.
credo dipenda dal fatto che io quei comandi devo darli ovviamente da root quindi chiedo a voi:

quello script come premesso che sia corretto, viene lanciato come root e quindi il "problema" è altrove, oppure devo fare qualcosa per dare i comandi come root?

p.s. uso archlinux e kde
 
Tutto questo per fare cosa?

impostare il power_save delle case a 0 in modo da non farle scoppiettare.
avevo aperto una discussione per lo scoppiettio e quei due comandi sono la soluzione ;)

- - - Updated - - -

sudo -s sulla seconda riga

proverò ;) :birra: dankeee

- - - Updated - - -

nada... non funziona :grrrr:

cmq ho cercato sul wiki di sudo e per il redirecting c'è scritto che bisogna dare il comando come:

Codice:
sudo sh -c "[COLOR=#333333]echo 0 > /sys/module/snd_ac97_codec/parameters/power_save"

ed effettivamente se da terminale non come root@user do quel comando, il power_save viene settato a 0 (se lo do come sudo -s come indicato da centoventicinque non funziona), ma cmq lo script non funziona.

a questo punto mi chiedo dove sia l'errore :boh:[/COLOR]
 
Salve a tutti,
avrei la necessità di eseguire due comandi ad ogni accensione dell'os. Con il gestore script di KDE ho messo in avvio il seguente script
Codice:
#!/bin/sh
echo 0 > /sys/module/snd_ac97_codec/parameters/power_save
echo 0 > /dev/dsp

ma noto che non vengono lanciati quei comandi all'avvio perchè se interrogo il sistema il power_save resta su 1 (e le casse scoppiettano).
lo stato è su Abilitato e viene abilitato all'avvio ma nada.
credo dipenda dal fatto che io quei comandi devo darli ovviamente da root quindi chiedo a voi:

quello script come premesso che sia corretto, viene lanciato come root e quindi il "problema" è altrove, oppure devo fare qualcosa per dare i comandi come root?

p.s. uso archlinux e kde

Allora, lo script serve a te, quindi imho la prima riga (#! /bin/bash ) non serve a niente. Il terminale la ignora perchè # è per i commenti.
In generale #! viene chiamata shebang e serve a dire "occhio tu che vuoi eseguire lo script che devi usare il binario /x/y/z o uno compatibile".
Siccome non mi risulta ci siano terminali incompatibili con sh (tant'è che normalmente /bin/sh è un symlink a bash) non serve tenerla.

Poi, IMHO la cosa migliore sarebbe mettere lo script in una cartella dentro / (da definire ovviamente) e creare un unit file di systemd per poterla attivare/disattivare.

Adesso devo andare a dormire perchè stanotte mi tocca sgobbare, altrimenti avrei provveduto a fare una unit di base.

In questo modo puoi controllare il tutto da systemd e in caso di fallimento puoi usare direttamente systemctl o quel che era per vedere l'errore (solitamente abbastanza chiaro).

ed effettivamente se da terminale non come root@user do quel comando, il power_save viene settato a 0 (se lo do come sudo -s come indicato da centoventicinque non funziona), ma cmq lo script non funziona.

Come ha detto centoventicinque non funziona perchè sudo -s si mette in ascolto per la password di root oppure autorizza se nella stessa tty/terminale emulato c'è già stato l'inserimento della password negli ultimi X minuti (generalmente 5).

Se lo dai come utente non dovrebbe funzionare, dato che /sys e /dev non sono normalmente scrivibili come utente normale.
 
dov'è che centoventicinque ha detto che non funzionava? :boh:

ad ogni modo, ti ringrazio per i chiarimenti e per il suggerimento di systemd.
sinceramente ci avevo pensato ma credevo che la via dello script fosse più facile e veloce... :look:
 
Pubblicità
Pubblicità
Indietro
Top