psykopear
17-02-2008, 15:32
Finalmente ho finito di sistemare lo script per la gestione di script, con un interfaccia grafica fatta grazie a zenity.
Adesso è utilizabile, l'unica cosa che mi manca è capire come fare ad aggiungere le voci nei menù: qual'è la cartella dove dovrei mettere il file .desktop? e più o meno cosa ci devo scrivere (non mi ricordo), se avete qualche link vi ringrazio.
Ecco il codice sorgente del file
#!/bin/bash
#Crea le cartelle necessarie allo script se non esistono (thanks to vortex87)
[ -d "$HOME/backup" ] || mkdir $HOME/backup
[ -d "$HOME/script" ] || mkdir $HOME/script
# Verifica che l'utente abbia permessi di root
function root(){
root=$(zenity --width=500 --error --no-wrap --text "Devi essere root per poter eseguire lo script" --title "Permessi")
return
}
ROOT_UID=0
if [ "$UID" != "$ROOT_UID" ]
then
root
exit
fi
#Programma
#scelta=""
#nomescript=""
#installa=""
function scelta(){
scelta=$(zenity --width=500 --height=300 --list --separator="" --text "Scegli l'operazione da fare" --column "" --column "" --column "Opzione" "" "1)" "Installare uno script (deve essre in $HOME/script/)" "" "2)" "Rimouvere uno script" "" "3)" "Fare il backup di uno script in $HOME/backup/" "" "4)" "Ripristinare uno script salvato in $HOME/backup/" "" "5)" "Apri uno sript nella cartella $HOME/script/ con un editor di testo" "" "6)" "Uscire" --radiolist --title "Scelta script")
return
}
function nomescript(){
nomescript=$(zenity --width=500 --entry --text "Scegli lo script (deve essere in $HOME/script)" --title "Scelta script")
return
}
function installa(){
installa=$(zenity --width=500 --info --no-wrap --text "Sto installando lo script" --title "Installazione in corso")
return
}
function installati(){
installati=$(zenity --width=500 --info --no-wrap --text "Installati gli script sul tuo computer
Ora puoi avviarli digitandone il relativo nome (script1, script2 ecc)" --title "Installazione completata")
return
}
function rimuovi(){
rimuovi=$(zenity --width=500 --info --no-wrap --text "Sto rimuovendo lo script" --title "Rimozione in corso")
return
}
function rimosso(){
rimosso=$(zenity --width=500 --info --no-wrap --text "Lo script è stato rimosso" --title "Rimozione completata")
return
}
function seleziona_script(){
seleziona_script=$(zenity --width=500 --error --no-wrap --text "Devi selezionare uno script!" --title "Seleziona uno script")
return
}
function backupping(){
backupping=$(zenity --width=500 --info --no-wrap --text "Sto facendo il backup dello script (in $HOME/backup/" --title "Backup in corso")
return
}
function backupped(){
backupped=$(zenity --width=500 --info --no-wrap --text "Il backup è completato" --title "Backup completato")
return
}
function ripristino(){
ripristino=$(zenity --width=500 --info --no-wrap --text "Sto facendo il ripristino dello script" --title "Ripristino in corso")
return
}
function ripristinato(){
ripristinato=$(zenity --width=500 --info --no-wrap --text "Il ripristino è completato" --title "Ripristino completato")
return
}
function editor(){
editor=$(zenity --width=500 --entry --text "Scegli l'editor di testo con il quale vuoi aprire lo script" --title "Scelta editor")
return
}
function seleziona_editor(){
seleziona_editor=$(zenity --width=500 --error --no-wrap --text "Devi selezionare un'editor!" --title "Seleziona un'editor")
return
}
function uscita(){
uscita=$(zenity --width=500 --info --no-wrap --text "Fine" --title "Uscita")
return
}
# Qui sono suddivise le azione di fare a seconda dell'opzione selezionata in precedenza
scelta
if [ $(echo $scelta | grep "1") ]
then
nomescript
if [[ $nomescript != "" ]]
then
installa
chmod +x $HOME/script/$nomescript
cp $HOME/script/$nomescript /usr/local/bin/
installati
else
seleziona_script
fi
fi
if [ $(echo $scelta | grep "2") ]
then
nomescript
if [[ $nomescript != "" ]]
then
rimuovi
rm /usr/local/bin/$nomescript
rimosso
else
seleziona_script
fi
fi
if [ $(echo $scelta | grep "3") ]
then
nomescript
if [[ $nomescript != "" ]]
then
backupping
cp $HOME/script/$nomescript $HOME/backup/
backupped
else
seleziona_script
fi
fi
if [ $(echo $scelta | grep "4") ]
then
nomescript
if [[ $nomescript != "" ]]
then
ripristino
cp $HOME/backup/$nomescript /usr/local/bin/
ripristinato
else
seleziona_script
fi
fi
if [ $(echo $scelta | grep "5") ]
then
nomescript
editor
if [[ $editor == "" ]]
then
seleziona_editor
exit
else
if [[ $nomescript != "" ]]
then
$editor $HOME/script/$nomescript &
exit
else
seleziona_script
fi
fi
fi
if [ $(echo $scelta | grep "6") ]
then
uscita
fi
Come faccio ad allegare il file .deb?
Adesso è utilizabile, l'unica cosa che mi manca è capire come fare ad aggiungere le voci nei menù: qual'è la cartella dove dovrei mettere il file .desktop? e più o meno cosa ci devo scrivere (non mi ricordo), se avete qualche link vi ringrazio.
Ecco il codice sorgente del file
#!/bin/bash
#Crea le cartelle necessarie allo script se non esistono (thanks to vortex87)
[ -d "$HOME/backup" ] || mkdir $HOME/backup
[ -d "$HOME/script" ] || mkdir $HOME/script
# Verifica che l'utente abbia permessi di root
function root(){
root=$(zenity --width=500 --error --no-wrap --text "Devi essere root per poter eseguire lo script" --title "Permessi")
return
}
ROOT_UID=0
if [ "$UID" != "$ROOT_UID" ]
then
root
exit
fi
#Programma
#scelta=""
#nomescript=""
#installa=""
function scelta(){
scelta=$(zenity --width=500 --height=300 --list --separator="" --text "Scegli l'operazione da fare" --column "" --column "" --column "Opzione" "" "1)" "Installare uno script (deve essre in $HOME/script/)" "" "2)" "Rimouvere uno script" "" "3)" "Fare il backup di uno script in $HOME/backup/" "" "4)" "Ripristinare uno script salvato in $HOME/backup/" "" "5)" "Apri uno sript nella cartella $HOME/script/ con un editor di testo" "" "6)" "Uscire" --radiolist --title "Scelta script")
return
}
function nomescript(){
nomescript=$(zenity --width=500 --entry --text "Scegli lo script (deve essere in $HOME/script)" --title "Scelta script")
return
}
function installa(){
installa=$(zenity --width=500 --info --no-wrap --text "Sto installando lo script" --title "Installazione in corso")
return
}
function installati(){
installati=$(zenity --width=500 --info --no-wrap --text "Installati gli script sul tuo computer
Ora puoi avviarli digitandone il relativo nome (script1, script2 ecc)" --title "Installazione completata")
return
}
function rimuovi(){
rimuovi=$(zenity --width=500 --info --no-wrap --text "Sto rimuovendo lo script" --title "Rimozione in corso")
return
}
function rimosso(){
rimosso=$(zenity --width=500 --info --no-wrap --text "Lo script è stato rimosso" --title "Rimozione completata")
return
}
function seleziona_script(){
seleziona_script=$(zenity --width=500 --error --no-wrap --text "Devi selezionare uno script!" --title "Seleziona uno script")
return
}
function backupping(){
backupping=$(zenity --width=500 --info --no-wrap --text "Sto facendo il backup dello script (in $HOME/backup/" --title "Backup in corso")
return
}
function backupped(){
backupped=$(zenity --width=500 --info --no-wrap --text "Il backup è completato" --title "Backup completato")
return
}
function ripristino(){
ripristino=$(zenity --width=500 --info --no-wrap --text "Sto facendo il ripristino dello script" --title "Ripristino in corso")
return
}
function ripristinato(){
ripristinato=$(zenity --width=500 --info --no-wrap --text "Il ripristino è completato" --title "Ripristino completato")
return
}
function editor(){
editor=$(zenity --width=500 --entry --text "Scegli l'editor di testo con il quale vuoi aprire lo script" --title "Scelta editor")
return
}
function seleziona_editor(){
seleziona_editor=$(zenity --width=500 --error --no-wrap --text "Devi selezionare un'editor!" --title "Seleziona un'editor")
return
}
function uscita(){
uscita=$(zenity --width=500 --info --no-wrap --text "Fine" --title "Uscita")
return
}
# Qui sono suddivise le azione di fare a seconda dell'opzione selezionata in precedenza
scelta
if [ $(echo $scelta | grep "1") ]
then
nomescript
if [[ $nomescript != "" ]]
then
installa
chmod +x $HOME/script/$nomescript
cp $HOME/script/$nomescript /usr/local/bin/
installati
else
seleziona_script
fi
fi
if [ $(echo $scelta | grep "2") ]
then
nomescript
if [[ $nomescript != "" ]]
then
rimuovi
rm /usr/local/bin/$nomescript
rimosso
else
seleziona_script
fi
fi
if [ $(echo $scelta | grep "3") ]
then
nomescript
if [[ $nomescript != "" ]]
then
backupping
cp $HOME/script/$nomescript $HOME/backup/
backupped
else
seleziona_script
fi
fi
if [ $(echo $scelta | grep "4") ]
then
nomescript
if [[ $nomescript != "" ]]
then
ripristino
cp $HOME/backup/$nomescript /usr/local/bin/
ripristinato
else
seleziona_script
fi
fi
if [ $(echo $scelta | grep "5") ]
then
nomescript
editor
if [[ $editor == "" ]]
then
seleziona_editor
exit
else
if [[ $nomescript != "" ]]
then
$editor $HOME/script/$nomescript &
exit
else
seleziona_script
fi
fi
fi
if [ $(echo $scelta | grep "6") ]
then
uscita
fi
Come faccio ad allegare il file .deb?