PDA

View Full Version : E' giusto questo script? (non ne ho mai scritto uno...)


Redinapoli
16-02-2007, 09:25
Salve a tutti, chiedo a voi perchè so che siete moooolto più esperti di me nel settore.
Spiego la situazione: sono riuscito a far andare la scheda wireless (ed era pure ora!!! ci sono riuscito "solo" dopo un anno e mezzo circa...:D ); funziona tutto alla perfezione, solo che quando riavvio il pc devo far caricare di nuovo il modulo con modprobe e dare un'istruzione per attivare la scheda.

In pratica questo script dovrebbe fare:

1-ricaricare il modulo con modprobe
2-cambiare i permessi del file
3-accendere la scheda
ed opzionale
4-avviare "Wireless assistant" per scegliere la rete alla quale collegarmi

io avevo pensato di agire così (almeno dalla documentazione che ho trovato su internet)

1. Apro kate per scrivere lo script. Nella prima riga dello script inserisco un commento con il percorso dell'interprete dello script. Se è uno script bash va inserita a riga #!/bin/bash
2. salvo il file con un nome a mia scelta /home/marco/bin (ho letto che è meglio prendere l'abitudine di salvarli con estensione ".sh")
3. eseguo il comando chmod 755 /home/marco/bin/nome-script
4. eseguo lo script


il tutto mi porta a questa bozza:
#!/bin/bash
cd /home/marco/acer_acpi-0.3
sudo modprobe acer_acpi
sudo chmod 666 /proc/acpi/acer/wireless
sudo echo "enabled : 1" > /proc/acpi/acer/wireless
#opzionale
sudo klassistant

ho speranze di farlo funzionare? non vorrei fare errori...
la distro è Kubuntu Edgy 6.10...l'unica cosa della quale non sono convinto è se usare il bash...non so perchè,ma mi sembra che su qualche guida su internet dicevano che Edgy usa un'altra cosa, oppure sto solo facendo confusione?

grazie mille per l'attenzione.
ciao ciao :D

ilsensine
16-02-2007, 09:36
Sostanzialmente è corretto, ma sistemerei alcune cose:

cd /home/marco/acer_acpi-0.3

Perché cd in questa directory?

sudo modprobe acer_acpi

Troppi sudo. Eliminali, e lascia all'utente il compito di lanciare lo script con i privilegi di root se necessario.
Se ti è utile, puoi eseguire queste operazioni all'avvio del computer, automaticamente.

sudo chmod 666 /proc/acpi/acer/wireless

L'utente non deve poter midificare i file in proc. Lascia questo compito a root.

sudo klassistant

klassistant è un programma di kde? Se sì, deve essere lanciato con i privilegi dell'utente, non di root.

Redinapoli
16-02-2007, 10:09
grazie mille, sei un grande! :D

Redinapoli
17-02-2007, 23:43
allora, causa formattone riparatore, dovuto ad esperimenti andati maluccio, ho deciso di reinstallare tutto e migliorare lo script.
Così può andare?

#!/bin/bash
#Carico il modulo della scheda wireless; suo gksudo perchè voglio che compaia la richiesta della password tramite la GUI,è giusto?
gksudo modprobe acer_acpi
#la guida che ho seguito dice di cambiare i privilegi di questo file,che non so perchè si autodistrugge ad ogni riavvio, qui ho messo solo sudo perchè ormai la pass di root è stata caricata,è rimasta in memoria e non devo riscriverla, permettendomi però di compiere ugualmente azioni come root
sudo chmod 666 /proc/acpi/acer/wireless
#accendo la scheda
sudo echo "enabled : 1" > /proc/acpi/acer/wireless
#avvio l'unico programma per adesso in grado di rilevare le reti e di connettersi ad esse
klassistant

piccola domandina...se volessi far eseguire questo script all'avvio, come faccio? posso aggiungerlo tra i programmi d'avvio nel menù "Sessioni" di Gnome? oppure quale file si occupa dei processi da avviare automaticamente?
perdonate l'ignoranza.

PS:i commenti sono stati messi solo per l'occasione, in condizioni ottimali lo script è solo così:
#!/bin/bash
gksudo modprobe acer_acpi
sudo chmod 666 /proc/acpi/acer/wireless
sudo echo "enabled : 1" > /proc/acpi/acer/wireless
klassistant

Dimenticavo, a differenza di prima ora ho usato UBUNTU EDGY

Redinapoli
18-02-2007, 01:12
Risolto grazie all'aiuto davvero gentile di Artemisyu, Grazie mille ancora!