Indice del forum Olimpo Informatico
I Forum di Zeus News
Leggi la newsletter gratuita - Attiva il Menu compatto
 
 FAQFAQ   CercaCerca   Lista utentiLista utenti   GruppiGruppi   RegistratiRegistrati 
 ProfiloProfilo   Messaggi privatiMessaggi privati   Log inLog in 

    Newsletter RSS Facebook Twitter Contatti Ricerca
Xubuntu 14.04,come impostare...il tempo in uno script
Nuovo argomento   Rispondi    Indice del forum -> *Ubuntu
Precedente :: Successivo  
Autore Messaggio
reny
Semidio
Semidio


Registrato: 30/10/07 21:49
Messaggi: 280

MessaggioInviato: 07 Ott 2014 17:39    Oggetto: Xubuntu 14.04,come impostare...il tempo in uno script Rispondi citando

Ciao,pardon ma propio un titolo migliore non mi veniva.
In Ubuntu utilizzavo qualche semplice script per aggiornare o pulire il sistema,oppure per ritardare l'avvio di conky all'accensione del pc.
Gli stessi script non funzionano allo stesso modo con Xubuntu.ma non capisco dove sbaglio.Ad esempio se provo "sudo apt-get update -y"seguito da "sleep 10"e poi "exit"il comando viene eseguito ma il terminale non si chiude mai(con Ubuntu trascorsi i 10 secondi si chiudeva da solo.La stessa cosa se metto conky all'avvio del sistema,anche se gli do un tempo per avviarsi quella bestiaccia continua a fare di testa sua Twisted Evil e parte subito.
Non credo di avere spaventato lo script che quindi subito esegue Very Happy
Suggerimenti?
Top
Profilo Invia messaggio privato
MK66
Moderatore Sistemi Operativi
Moderatore Sistemi Operativi


Registrato: 17/10/06 22:24
Messaggi: 8616
Residenza: dentro una cassa sotto 3 metri di terra...

MessaggioInviato: 07 Ott 2014 22:50    Oggetto: Rispondi citando

Ciao
Dipende da come scrivi gli script Wink

Per esempio, il mio script per avviare conky è il seguente:
Codice:
#!/bin/sh
sleep 15
conky -d -c ~/.conkyrc
exit

e conky parte dopo 15 secondi senza problemi

Per quanto riguarda il comando da terminale, come lo scrivi?
Per eseguire un comando al termine di un altro, occorre usare la &&, tanto per restare in tema di esempi sciocchi, questo è un alias che utilizzo da una vita ormai, con qualsiasi versione di Ubuntu/Xubuntu/Debian:
Codice:
alias aggiorna='sudo apt-get update && sudo apt-get upgrade && exit'

digito "aggiorna", mi chiede la password e poi comincia la fase di aggiornamento, al termine della quale (se non ci sono stati problemi) si chiude il terminale (se ci sono stati problemi, invece, resta aperto e indica cosa non va e, talvolta, come fare per rimediare)
Top
Profilo Invia messaggio privato HomePage
reny
Semidio
Semidio


Registrato: 30/10/07 21:49
Messaggi: 280

MessaggioInviato: 08 Ott 2014 17:14    Oggetto: Rispondi citando

Ciao MK66,io per conky uso questo script(trovato online)che su ubuntu ha sempre funzionato:

Codice:
#conkystart
sleep 15
if [ pgrep conky ];
then
pkill conky
fi
conky


Uno script che uso per pulire il sistema invece:

Codice:
#!/bin/bash

sudo apt-get clean -y

sudo apt-get autoclean -y

sudo apt-get autoremove -y

sleep 10

exit

Questo eseguiva i comandi in sequenza ed al termine il terminale si chiudeva da solo.Ubuntu aveva pieta' di me?
Very Happy Sono sbagliati?
Top
Profilo Invia messaggio privato
MK66
Moderatore Sistemi Operativi
Moderatore Sistemi Operativi


Registrato: 17/10/06 22:24
Messaggi: 8616
Residenza: dentro una cassa sotto 3 metri di terra...

MessaggioInviato: 08 Ott 2014 18:19    Oggetto: Rispondi citando

Lo script per conky è corretto (anche se mi pare che manchi la prima riga: #!/bin/sh): termina un eventuale conky presente (anche se nascosto dal desktop) e lo riavvia o lo avvia direttamente dopo 15 secondi.
In ogni caso, dici che il conky ti parte all'avvio e lo script non lo uccide?
La domanda a questo punto è: premesso che la prima riga sia a posto, i permessi sul file di script sono corretti?
Il file di script è inserito tra le applicazioni di avvio del computer?

PS: prova, quando spegni, a disattivare l'opzione di salvare la sessione (se attiva) e dovrebbe quindi evitarti di trovarti in funzione il conky della sessione precedente (che parte all'avvio)

Per quanto riguarda lo script di pulizia, i comandi sono corretti e ciascuno per conto suo funziona correttamente, quindi se nuovamente le questioni dei permessi sono a posto non dovrebbero esserci problemi... Think

Prova eventualmente ad aggiungere la seguente linea
Codice:
echo "Il sistema è stato pulito correttamente!"
prima di sleep 10 e quest'altra
Codice:
echo "Ciao, alla prossima!"
subito dopo sleep 10 e prima di exit, volendo prova anche a ridurre il tempo di attesa, da sleep 10 a sleep 3 o 5, per vedere se si pianta da qualche parte o meno: se tutto va come deve, dovresti vedere bene la prima frase (per i famosi 10 secondi) e intravedere per un istante infinitesimo la seconda prima che il terminale si spenga.

In realtà, quest'ultimo, essendo di fatto una pura sequenza di comandi da terminale, lo metterei come alias, scrivendo nel file .bash_aliases i singoli comandi uno dopo l'altro con in mezzo la doppia &&, per esempio:
Codice:
alias pulisci='sudo apt-get clean -y && sudo apt-get autoclean -y && sudo apt-get autoremove -y && sleep 10 && exit'

A seguire, quando vuoi far pulizia, apri il terminale e digiti il comando pulisci (o l'alias che hai messo) e farà la pulizia
Top
Profilo Invia messaggio privato HomePage
reny
Semidio
Semidio


Registrato: 30/10/07 21:49
Messaggi: 280

MessaggioInviato: 08 Ott 2014 18:37    Oggetto: Rispondi citando

ok,provo e ti faccio sapere.Lo script per conky è nelle applicazioni d'avvio,ma controllero' i permessi
Top
Profilo Invia messaggio privato
reny
Semidio
Semidio


Registrato: 30/10/07 21:49
Messaggi: 280

MessaggioInviato: 08 Ott 2014 19:16    Oggetto: Rispondi citando

Eccomi qui.Avevi ragione,mancava la prima riga per il conky.Inserita non andava.Ho ripulito la cache delle sessioni ed adesso funziona correttamente.Nelle impostazioni non ho salva la sessione all'uscita.
Lo script per la pulizia,invece,è diventato molto piu'...curato,mi piace che mi parli,ma alla fine il terminale non si chiude dopo i 10 secondi.(ho provato anche a ridurli.Ho creato anche un ulteriore script con i comandi in sequenza
ed usando la variabile &&,non ne vuole sapere.
Quando creo uno script gli do i permessi (dopo averli inseriti nella home)con:chmod +x nomescript.sh
Controllando dalla finestra propieta' di questi,i permessi sono :lettura e scrittura,e poi c'e' il flag sulla finestra permetti di eseguire il file come un programma.
MK66 non ho mai creato un alias..... ..ehm una spiegazione in "facilese?"
Top
Profilo Invia messaggio privato
MK66
Moderatore Sistemi Operativi
Moderatore Sistemi Operativi


Registrato: 17/10/06 22:24
Messaggi: 8616
Residenza: dentro una cassa sotto 3 metri di terra...

MessaggioInviato: 08 Ott 2014 20:31    Oggetto: Rispondi citando

Citazione:
Lo script per la pulizia,invece,è diventato molto piu'...curato,mi piace che mi parli,ma alla fine il terminale non si chiude dopo i 10 secondi.

strano... Think

Prova ancora una cosa... Think
nella prima riga, al posto di /bash usa /sh, così:
Codice:
#!/bin/sh



Citazione:
non ho mai creato un alias.....

non è difficile: apri con l'editor di testo il file nella tua home chiamato .bash_aliases (è un file di testo nascosto, come da punto davanti al nome, se per caso non c'è, crealo, ma in questo caso accertati che nella tua home ci sia il file .bashrc e che in tale file ci sia questa parte
Codice:
# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi
e che sia proprio come te l'ho indicata qua, ovvero senza commenti # nella sezione if ... fi) e ci copi dentro il comando che ti ho scritto sopra:
Codice:
alias pulisci='sudo apt-get clean -y && sudo apt-get autoclean -y && sudo apt-get autoremove -y && sleep 10 && exit'

esattamente come scritto (ovviamente puoi cambiare il nome pulisci con quello che preferisci te, ricorda solo che sarà il tuo alias, ovvero il comando che darai per effettuare la sequenza completa, quindi scegli qualcosa facile da ricordare/interpretare/scrivere: quando ci prendi gusto, potrai creare centinaia di alias per semplificare comandi complessi, quindi usare nomi facili da tenere a mente e veloci da scrivere è utilissimo Wink )

Salvi, chiudi e da quel momento puoi usare il tuo alias dal terminale, digitando il comando che hai scelto (nel mio esempio, digiti pulisci) e il terminale ripeterà automaticamente la serie di comandi corrispondenti
Top
Profilo Invia messaggio privato HomePage
reny
Semidio
Semidio


Registrato: 30/10/07 21:49
Messaggi: 280

MessaggioInviato: 08 Ott 2014 21:21    Oggetto: Rispondi citando

Anche cambiando la scritta in
Codice:
#!/bin/sh
il terminale non si chiude dopo i 10(ma anche 100.000)secondi.
Funziona egregiamente invece il tuo alias Laughing
Mi preoccupo per questo? Ho finalmente un ambiente che inizia a piacermi mi seccherebbe dover reinstallare il sistema.
Mi stuzzicano gli alias.Per cosa conviene usarli?Quando possono sostituire gli script?
Il file .bash_aliases non c'era è normale?
Scusa per le troppe domande e grazie.
Ciao.
Top
Profilo Invia messaggio privato
MK66
Moderatore Sistemi Operativi
Moderatore Sistemi Operativi


Registrato: 17/10/06 22:24
Messaggi: 8616
Residenza: dentro una cassa sotto 3 metri di terra...

MessaggioInviato: 08 Ott 2014 21:55    Oggetto: Rispondi citando

Citazione:
il terminale non si chiude dopo i 10(ma anche 100.000)secondi

Think ...non ho idee... Think

Citazione:
Mi preoccupo per questo? Ho finalmente un ambiente che inizia a piacermi mi seccherebbe dover reinstallare il sistema.

reinstallare perchè non funziona uno script? per giunta uno script che userai al massimo una volta ogni 3 mesi? Shocked

Citazione:
Mi stuzzicano gli alias.Per cosa conviene usarli?Quando possono sostituire gli script?

sono comodissimi per sostituire i comandi di terminale che utilizzi maggiormente, ma che talvolta sono lunghi da scrivere e possono farti incorrere in errore (prendi il mio comando aggiorna di sopra: non fa altro che dare la sequenza classica di sudo apt-get update e sudo apt-get upgrade, ma è molto più semplice scrivere aggiorna che scrivere uno per volta i due comandi Smile )

Per esempio, noterai che nella tua home c'è anche, tra i file nascosti, bash_history: è la cronologia del tuo terminale, con gli ultimi comandi che hai dato. Potrebbe essere un buon punto di partenza per vedere quelli che usi di più e scegliere quindi quali comandi puoi tramutare in alias (la procedura è sempre la stessa, inserisci nel file che hai creato i tuoi alias, uno per riga, nel formato
Codice:
alias NOME_ALIAS='COMANDI_DA_TRAMUTARE_IN_ALIAS'

NOME_ALIAS è il nome del tuo alias
COMANDI_DA_TRAMUTARE... è la sequenza di comandi (anche uno solo, ovviamente) da tramutare in alias
prima e dopo il segno = non ci vanno spazi, e la sequenza di comandi (o il comando) è da racchiudere tra apici ' '

Di fatto non sono script, ma ti possono automatizzare operazioni ripetitive, mentre gli script sono talvolta veri esempi di programmazione, e talvolta semplici sequenze di comandi bash ripetuti.

Citazione:
Il file .bash_aliases non c'era è normale?

si, se non hai mai creato alias non c'era, ci ho pensato un attimo prima di inviare il messaggio precedente e ti ho aggiunto le indicazioni in merito, quanto pare ho fatto bene Very Happy
Top
Profilo Invia messaggio privato HomePage
reny
Semidio
Semidio


Registrato: 30/10/07 21:49
Messaggi: 280

MessaggioInviato: 09 Ott 2014 18:32    Oggetto: Rispondi

Grazie per le dritte.Tentero' di farle fruttare Laughing
Ciao.
Top
Profilo Invia messaggio privato
Mostra prima i messaggi di:   
Nuovo argomento   Rispondi    Indice del forum -> *Ubuntu Tutti i fusi orari sono GMT + 1 ora
Pagina 1 di 1

 
Vai a:  
Non puoi inserire nuovi argomenti
Non puoi rispondere a nessun argomento
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi