[Risolto] - Bash script per l'avvio e la chiusura di byzanz-record

Salve a tutti!

Da un paio di giorni ho voluto provare la spin di Fedora 18 Xfce a 64bit. Esplorandola, non essendoci gnome-shell, ho visto che mancava la possibilità della combinazione di tasti CTRL+ALT+SHIFT+R per lanciare uno screencasting (registrazione video dello schermo), che tra l’altro nel desktop di Fedora 18 era priva di audio, anche se di buona qualità! Così, ricordando l’applet Byzanz, conosciuto sotto il desktop gnome di Ubuntu, ho pensato di reinstallarlo per vedere se in Fedora Xfce ricompariva nell’elenco degli applet del pannello (con gnome-shell, in Fedora 18, non compariva), ma nulla. Rimane però sempre la possibilità di utilizzarlo da riga di comando, e la registrazione, comprensiva di audio, ho visto che viene molto bene con il comando:

byzanz-record -v -a -c --display=:0.0 --width=1366 --height=768 --duration=86400 --delay=0 ~/Video/test.flv

Come potete vedere, il problema però è la necessità di dover impostare l’opzione --duration, per indicare la durata della registrazione, essendo altrimenti di default limitata a soli 10 secondi, mentre avrei voluto che potesse essere indefinita, ed interrotta solo quando voluto; in Ubuntu, infatti, il programma prevedeva un applet da poter inserire sul pannello di gnome che al click iniziava la registrazione e al successivo click la interrompeva, dando anche la possibilità di un pannello di configurazione selezionabile dal menu contestuale del click destro sull’icona, in cui si poteva impostare l’estensione per l’output, la presenza o meno dell’audio e così via…tutte le opzioni che in pratica si possono comunque dare anche da riga di comando, ma manca la possibilità di interrompere la registrazione con un semplice click. Ho pensato allora di creare due script, uno per l’avvio e l’altro per l’interruzione della registrazione:

[list=*]
*]Per l’avvio:

#!/bin/bash
byzanz-record -v -a -c --display=:0.0 --width=1366 --height=768 --duration=86400 --delay=0 ~/Video/test.flv
exit

in pratica, la durata del comando deve essere impostata in secondi, e non essendoci la possibilità di rendere indefinito il tempo di registrazione fino ad avvenuta interruzione, ho impostato la durata per un giorno intero convertito in secondi, ovvero 86400 secondi (per avere un largo eccesso)./*]
[/list]

[list=*]
*]Per l’interruzione:

#!/bin/bash
pid1=$(ps -ax | grep ' byzanz-record ')
kill ${pid1}
pid2=$(ps -ax | grep ' kill_byzanz-record ')
kill ${pid2}
exit

ho creato due variabili d’ambiente, ${pid1} e ${pid2}, la prima per individuare il PID del programma byzanz-record da killare successivamente, e la seconda per individuare e killare il PID del lanciatore kill_byzanz-record che mi chiude l’applicazione byzanz-record. Non ho trovato un metodo più dolce per la chiusura del programma, ma comuque ho visto che il risultato finale è buono./*]
[/list]

Il problema è che il file test.flv che ottengo, per quanto abbia un’ottima resa di audio e video, vede una formale durata di 24 ore (gli 86400 secondi impostati per la durata), anche se poi in realtà il video dura meno, e si rende difficilissimo scorrere con lo slider per la ricerca nella timeline del video.

Allora sto cercando ora di modificare i due script. L’idea che ho avuto è quella di inserire come valore dell’opzione --duration una variabile d’ambiente, ovvero l’output del comando:

ps -p <PID> -o etime=

(con sostituito dal PID del mio processo), che mi dice da quanto tempo è in corso il mio processo identificato dal PID, ma dato che questo output mi viene espresso nel formato hh:mm:ss, avrei bisogno di convertirlo in soli secondi, che pensavo quindi di inserire come variabile d’ambiente nell’opzione --duration (quindi un primo step, dopo quel comando, è la conversione in secondi di quel formato in hh:mm:ss, e fin qui ce l’ho fatta da solo). Per raggiungere lo scopo, inoltre penso che dovrei maggiorare l’opzione --duration di ulteriori tot secondi (ad esempio 3 secondi) per permettere al processo di partire, altrimenti mi finirebbe nello stesso istante in cui parte, e in questa maniera dovrei forse riuscire ad ottenere una durata indefinita, fino al kill generato dall’altro script, ottenendo alla fine un file con una durata temporale pressoché reale, a meno di quei tot secondi di maggiorazione (es. 3 secondi)… L’idea era quindi questa. Ora stavo cercando di trasformarla in bash per testarla.

Sono riuscito a convertire l’output di quel comando in soli secondi; per testarlo ho usato come comando l’avvio di firefox:

firefox &
pid_firefox=$(ps -o pid --no-headers -C "firefox")
sec_firefox=$(ps -p ${pid_firefox} -o etime= > /tmp/firefox_elapsed_time && more /tmp/firefox_elapsed_time | sed -E 's/(.*):(.+):(.+)/\1*3600+\2*60+\3/;s/(.+):(.+)/\1*60+\2/' | bc)
echo ${sec_firefox}

Quindi ora si tratta di provare a usare quella variabile d’ambiente ${sec_firefox} come valore dell’opzione --duration maggiorata ad esempio di 3 secondi. Ho provato in questa maniera:

#!/bin/bash
pid_byzanz=$(ps -o pid --no-headers -C "byzanz-record")
sec_byzanz=$(ps -p ${pid_byzanz} -o etime= > /tmp/byzanz_elapsed_time && more /tmp/byzanz_elapsed_time | sed -E 's/(.*):(.+):(.+)/\1*3600+\2*60+\3/;s/(.+):(.+)/\1*60+\2/' | bc)
x=$(( ${sec_byzanz} + 3 ))
byzanz-record -v -a -c --display=:0.0 --width=1366 --height=768 --duration=$x --delay=0 /home/Riccardo/Video/test.flv
exit

ma la registrazione, per quanto parta, dura solo 3 secondi. In pratica non mi fa la somma dei 3 secondi con il tempo trascorso dall’avvio di byzanz-record (ovvero la variabile d’ambiente ${sec_byzanz}), che dovrebbe essere in continua crescita, rendendo quindi di durata indefinita il processo, secondo la mia idea.

Vorrei un aiuto da qualcuno più esperto di me, essendo agli inizi nel bash script, grazie.

Riccardo

Ho forse capito perché lo script non funziona…

#!/bin/bash
pid_byzanz=$(ps -o pid --no-headers -C "byzanz-record")
sec_byzanz=$(ps -p ${pid_byzanz} -o etime= > /tmp/byzanz_elapsed_time && more /tmp/byzanz_elapsed_time | sed -E 's/(.*):(.+):(.+)/\1*3600+\2*60+\3/;s/(.+):(.+)/\1*60+\2/' | bc)
x=$(( ${sec_byzanz} + 3 ))
byzanz-record -v -a -c --display=:0.0 --width=1366 --height=768 --duration=$x --delay=0 /home/Riccardo/Video/test.flv
exit

Ho verificato che la riga pid_byzanz=$(ps -o pid --no-headers -C “byzanz-record”) dà valore nullo, dal momento che, al momento dell’avvio dello script, byzanz-record non è attivo come processo; infatti, non appena lanciato lo script, se do il comando:

echo ${pid_byzanz}

ho una riga vuota, essendo la variabile d’ambiente ${pid_byzanz} priva di contenuti, e quindi la riga successiva con:

ps -p ${pid_byzanz} -o etime=

ha output nullo, come tempo di attività “${sec_byzanz}” del processo, non essendoci un processo con PID uguale a ${pid_byzanz}, e quindi la variabile $x risulta nei soli 3 secondi in più settati. Quindi, forse, la sommatoria x=$(( ${sec_byzanz} + 3 )) (che pensavo essere il problema) non è sbagliata, ma il problema è semplicemente che il valore di ${sec_byzanz} è nullo per quanto detto… Il comando ps dice solo da quanto tempo un processo già attivo è in corso, e non fa riferimento a un processo futuro.

Ora, stavo pensando a una scappatoia, ed ho avuto un’idea, ma se qualcuno mi può aiutare a convertirla in bash ne sarei grato e la potrei anche testare:

La base è scegliere un grosso numero iniziale, e questo lo avevo già fatto impostando 86400 secondi, ovvero 24 ore, che corrisponderebbero a:

24h = “86400 seconds” = “tempo di registrazione” + “tempo eccedente”

A me serve il “tempo di registrazione” come valore per la mia opzione “–duration”, per cui potrei fare qualcosa del genere, forse:

[list=*]
]Se il mio processo byzanz-record non è in corso, allora la mia variabile d’ambiente $x è quel largo numero impostato, ovvero 86400 secondi;/]
[/list]

[list=*]
*]Se il mio processo byzanz-record è in corso, invece, la mia variabile d’ambiente $x diventa uguale al “tempo di registrazione” = “86400 secondi” - “tempo eccedente” = “86400 secondi” - (“86400 secondi” - “tempo di registrazione”), dove il “tempo di registrazione” diventa l’output del comando:

ps -p ${pid_byzanz} -o etime= /*]
[/list]

Potrebbe funzionare? Se qualcuno esperto si può esprimere in proposito sarei grato.

Saluti,

Riccardo

Sono riuscito alla fine a creare da solo lo script!! :D…e finalmente ora byzanz-record funziona perfettamente anche su Fedora, e ovunque lo si installerà, senza che ci sia il bisogno dell’applet sul pannello per l’avvio e l’interruzione della registrazione, e con la possibilità di scegliere se registrare o meno anche l’audio oltre che stabilire il formato di esportazione, che può essere nel formato flv od ogg (entrambi con la possibilità di abilitare l’opzione per la registrazione dell’audio), ma anche gif, anch’essa molto utile, ma senza la possibilità di utilizzo ovviamente dell’opzione audio, a meno di errore. Si può anche scegliere se seguire o meno il cursore (utile se si vuole esportare una gif) e scegliere la risoluzione dello schermo ecc…comuque il man di byzanz-record riporta tutto. Il problema del comando da teminale l’ho esposto sopra, ma la soluzione ora c’è:

Si tratta di fare 2 scripts, uno di avvio e l’altro di chiusura del programma:

[list=*]
*]Lo script di avvio:

intanto gli ho dato un nome arbitrario, “OK_chek_byzanz”; “check”, perché lo script controlla se il processo è in esecuzione, per cui, se non è in esecuzione, lo avvia, mentre se è già in esecuzione, si previene un ulteriore avvio, se si clicca nuovamente su “OK_chek_byzanz”, evitando una sovrascrittura del file di registrazione. Se il lancio dello script avviene da terminale, compariranno a schermo delle voci descrittive del processo in corso, il ché è anche interessante per sapere quanto tempo è già trascorso, dato che ad esempio YouTube pone dei limiti non tanto sulla dimensione in byte (che è abbastana alta), quanto sulla dimensione temporale dei files che vengono caricati, ad esempio, per cui è possibile monitorare da terminale il processo ;). Lo script va reso avviabile con:

$ chmod +x ./OK_chek_byzanz

Il suo contenuto è il seguente:

#!/bin/bash
if  "$(pidof byzanz-record)" ] 
then
  # process was found
  pid_byzanz=$(ps -o pid --no-headers -C "byzanz-record") && time1_byzanz=$(ps -p ${pid_byzanz} -o etime=) && time2_byzanz=$(ps -p ${pid_byzanz} -o etime= > /tmp/byzanz_elapsed_time && more /tmp/byzanz_elapsed_time | sed -E 's/(.*):(.+):(.+)/\1*3600+\2*60+\3/;s/(.+):(.+)/\1*60+\2/' | bc) && h=$(( $time2_byzanz / 3600 )) && m=$(( ( $time2_byzanz / 60 ) % 60 )) && s=$(( $time2_byzanz % 60 )) && hh_mm_ss=$(printf "%02d:%02d:%02d\n" $h $m $s)
  echo -e "\nbyzanz-record è già stato avviato. Il suo PID è $pid_byzanz, e il suo tempo di attività è $time1_byzanz, ovvero $time2_byzanz secondi, che possono anche essere espressi come $hh_mm_ss.\n\nQuest'ultimo formato sarà utilizzato come informazione da passare a ffmpeg per tagliare il file temporaneo generato da byzanz-record e salvato nel percorso ~/byzanz_temp_recording.flv.\n\nNB: Questo script, se lanciato da terminale, può anche semplicemente stampare a schermo il solo tempo di attività trascorso, nel formato hh:mm:ss, che verrà passato automaticamente come informazione a ffmpeg, senza questa parte discorsiva. Per fare questo, è sufficiente modificare il codice con la rimozione del carattere cancelletto (#) posto alla fine di questa riga, per attivare il pipe (|) seguito dal comando \"echo \$hh_mm_ss\" (senza le virgolette).\n" # | echo $hh_mm_ss
else
  # process not found
  echo -e "\nbyzanz-record non è un processo aperto e verrà ora avviato!" && byzanz-record -v -a -c --display=:0.0 --width=1366 --height=768 --duration=86400 --delay=0 ~/byzanz_temp_recording.flv &
fi
exit

A volerlo descrivere, si parte dalla condizione che vede se il processo è già attivo:

[list=*]
*]se il processo è attivo (vedere “# process was found”), allora ne consegue tutta quella parte:

  pid_byzanz=$(ps -o pid --no-headers -C "byzanz-record") && time1_byzanz=$(ps -p ${pid_byzanz} -o etime=) && time2_byzanz=$(ps -p ${pid_byzanz} -o etime= > /tmp/byzanz_elapsed_time && more /tmp/byzanz_elapsed_time | sed -E 's/(.*):(.+):(.+)/\1*3600+\2*60+\3/;s/(.+):(.+)/\1*60+\2/' | bc) && h=$(( $time2_byzanz / 3600 )) && m=$(( ( $time2_byzanz / 60 ) % 60 )) && s=$(( $time2_byzanz % 60 )) && hh_mm_ss=$(printf "%02d:%02d:%02d\n" $h $m $s)
  echo -e "\nbyzanz-record è già stato avviato. Il suo PID è $pid_byzanz, e il suo tempo di attività è $time1_byzanz, ovvero $time2_byzanz secondi, che possono anche essere espressi come $hh_mm_ss.\n\nQuest'ultimo formato sarà utilizzato come informazione da passare a ffmpeg per tagliare il file temporaneo generato da byzanz-record e salvato nel percorso ~/byzanz_temp_recording.flv.\n\nNB: Questo script, se lanciato da terminale, può anche semplicemente stampare a schermo il solo tempo di attività trascorso, nel formato hh:mm:ss, che verrà passato automaticamente come informazione a ffmpeg, senza questa parte discorsiva. Per fare questo, è sufficiente modificare il codice con la rimozione del carattere cancelletto (#) posto alla fine di questa riga, per attivare il pipe (|) seguito dal comando \"echo \$hh_mm_ss\" (senza le virgolette).\n" # | echo $hh_mm_ss

con la quale si creano diverse variabili d’ambiente: $pid_byzanz che memorizza il PID del processo byzanz-record già in corso, $time1_byzanz che memorizza da quanto tempo il processo è in corso, scrivendolo in un formato che però varia, ovvero mm:ss (minuti:secondi), finché ci sono solo i secondi, per poi diventare hh:mm:ss (ore:minuti:secondi) quando i tempi si allungano, mentre io avevo la necessità di avere un formato costante del tipo hh:mm:ss da passare dopo (nel secondo script) a ffmpeg, per cui mi sono creato una variabile $time2_byzanz che mi converte tutto in secondi, e una successiva variabile finale, $hh_mm_ss, che mi converte i secondi esclusivamente nel mio formato voluto, ovvero hh:mm:ss, che poi passerò a ffmpeg nel secondo script! Ho poi usato le variabili create per descrivere semplicemente il processo in corso facendo uso di echo, ma la descrizione può essere anche bypassata come output da terminale andando a timuovere il carattere # a livello di:

# | echo $hh_mm_ss

che deve quindi diventare:

| echo $hh_mm_ss

per ottenere come output solo $hh_mm_ss, ovvero il tempo trascorso nel formato hh:mm:ss!

Se per caso si dovesse lanciare di nuovo lo script “OK_chek_byzanz”, si avrebbe un aggiornamento delle variabili, permettendo così di monitorare il processo di registrazione come durata, per non eccedere ad esempio rispetto ai tempi imposti da YouTube./*]
[/list]

[list=]
]Se invece, all’avvio dello script “OK_chek_byzanz”, il processo byzanz-record non dovesse essere in corso, allora si ottiene quella seconda parte dello script (vedere # process not found), che notifica che il processo non è in esecuzione, per cui lo avvia, indicando che verrà iniziata una registrazione di 86400 secondi, ovvero 24 ore: non preoccupatevi, è voluta la cosa, e serve per dare un grosso margine di eccesso che poi verrà ridimensionata al tempo reale di registrazione grazie al comando di interruzione fornito dal secondo script! Queste notifiche, come al solito, compaiono solo lanciando lo script “OK_chek_byzanz” da terminale (al momento almeno :)…pensavo di provare a fare anche una versione grafica, ma credo che tutto sommato non serva poi tanto oramai, impostate così le cose, come vi farò vedere), ma se, come vedremo, si fa uso di lanciatori, tutto accade in background, e alla fine si avrà solo il nostro file video (nel formato specificato nel sorgente, che può essere, ripeto, flv od ogg o gif: vedere il man di byzanz-record) nella nostra home (a meno di modifiche del codice riportato)./]
[/list]/
]
[/list]

[list=*]
*]Lo script di interruzione:

Anche in questo caso, gli ho dato un nome arbitrario, “OK_kill_byzanz”; “check”, perché lo script anche qui controlla se il processo è in esecuzione:

#!/bin/bash
if  "$(pidof byzanz-record)" ] 
then
# process was found
pid_byzanz=$(ps -o pid --no-headers -C "byzanz-record") && time1_byzanz=$(ps -p ${pid_byzanz} -o etime=) && time2_byzanz=$(ps -p ${pid_byzanz} -o etime= > /tmp/byzanz_elapsed_time && more /tmp/byzanz_elapsed_time | sed -E 's/(.*):(.+):(.+)/\1*3600+\2*60+\3/;s/(.+):(.+)/\1*60+\2/' | bc) && h=$(( $time2_byzanz / 3600 )) && m=$(( ( $time2_byzanz / 60 ) % 60 )) && s=$(( $time2_byzanz % 60 )) && hh_mm_ss=$(printf "%02d:%02d:%02d\n" $h $m $s) && echo -e "\nIl processo byzanz-record, identificato dal PID $pid_byzanz, verrà ora interrotto ed elaborato da ffmpeg per dare l'output finale nel percorso ~/byzanz_final_output.flv!\n\nIl suo tempo di attività è stato $time1_byzanz, ovvero $time2_byzanz secondi, che posso anche esprimere come $hh_mm_ss.\n" && killall byzanz-record && ffmpeg -y -ss 00:00:00 -t $hh_mm_ss -i ~/byzanz_temp_recording.flv -vcodec copy -acodec copy ~/byzanz_final_output.flv && rm ~/byzanz_temp_recording.flv
else
  # process not found
  echo -e "\nbyzanz-record non è avviato! Non c'è alcun processo da interrompere.\n"
fi
exit

Si parte sempre dal controllo se il processo è in esecuzione:

[list=*]
]Se byzanz-record è in esecuzione (vedere # process was found), si usano le variabili ambientali impostate nel precedente script per descrivere sempre il processo con echo, ma soprattutto, dopo interruzione del processo con killall byzanz-record, la variabile $hh_mm_ss mi permette ora di tagliare tutta la parte del video eccedente, ricordando che il tempo di registrazione lo avevo impostato con largo eccesso su 24h, e le impostazioni di ffmpeg sono tali da non manipolare la qualità video ed audio ottenuta da byzanz-record, avendo posto copy come valore per le rispettive opzioni, per cui viene lasciata la traccia originale, ed ottengo nella home dell’utente in uso un file finale byzanz_final_output.flv, con un tempo reale di durata per la timeline, permettendo lo scrolling per la ricerca nel video! Perfetto!! :slight_smile: Il tutto poi è accompagnato da tempi rapidissimi, dal momento che byzanz-record codifica al volo, e ffmpeg non ricodifica, dato che lascia le tracce audio-video originali, per cui ci si trova immediatamente il file finale byzanz_final_output.flv, al click del secondo script “OK_kill_byzanz”./]
[/list]

[list=]
]Se invece si esegue il click su “OK_kill_byzanz” quando byzanz-record non è in esecuzione, si ottiene (da terminale) la notifica da parte di echo, riportata a livello di # process not found, che avvisa dicendo: “byzanz-record non è avviato! Non c’è alcun processo da interrompere.” :)/]
[/list]/
]
[/list]

Obiettivo così raggiunto, che si può accessoriare di due lanciatori che fanno riferimento ai due script (resi entrambi eseguibili col comando detto), uno per l’avvio e l’altro per la chiusura, inseriti poi in /usr/share/applications col comando:

# mv ./Avvia\ byzanz-record.desktop /usr/share/applications
# mv ./Interrompi\ byzanz-record.desktop /usr/share/applications

che potremo poi rapidamente avviare tramite il pacchetto gnome-do (che consiglio vivamente di installare, insieme a tutti i suoi plugins), installato con:

# yum install gnome-do

accedendovi con la rapida combinazione di tasti predefinita TastoWindows+Space, eventualmente anche personalizzabile dalle preferenze di gnome-do.
Perfetto!

Anche a voi ora questa risorsa! :wink:

Riccardo

Wow…bella lotta :wink:

Posso consigliarti un altro perfezionamento?
Potresti fare in modo di creare un file nascosto nella tua home in cui siano contenute delle variabili, da leggere prima dell’esecuzione, qualcosa del genere:

SAVE_DIR="~/Video/video_catturati/"

ma forse questo va un po’ al di là dell’utile.
Potresti invece aggiungere un passaggio nello script in modo che integri data e ora nel file di output, così si evita di andare a sovrascrivere sempre sullo stesso. Che ne dici?

Ciao Alberto!! :smiley: e si, ma la soddisfazione ora è tanta :D…è la prima volta che mi cimento così!.. Dici di nominare il file aggiungendo al nome delle variabili d’ambiente in pratica? …Così in effetti, anche se non si rimuove il file dalla home, il successivo non lo sovrascriverebbe!! Giusto! :slight_smile: Grazie come sempre :D…Anche l’altra volta, a fine topic hai messo la ciliegina sulla torta :). Allora provvedo alla modifica nel file OK_kill_byzanz:

#!/bin/bash
if  "$(pidof byzanz-record)" ] 
then
# process was found
pid_byzanz=$(ps -o pid --no-headers -C "byzanz-record") && time1_byzanz=$(ps -p ${pid_byzanz} -o etime=) && time2_byzanz=$(ps -p ${pid_byzanz} -o etime= > /tmp/byzanz_elapsed_time && more /tmp/byzanz_elapsed_time | sed -E 's/(.*):(.+):(.+)/\1*3600+\2*60+\3/;s/(.+):(.+)/\1*60+\2/' | bc) && h=$(( $time2_byzanz / 3600 )) && m=$(( ( $time2_byzanz / 60 ) % 60 )) && s=$(( $time2_byzanz % 60 )) && hh_mm_ss=$(printf "%02d:%02d:%02d\n" $h $m $s) && mydate=$(date +"time-%H.%M") && echo -e "\nIl processo byzanz-record, identificato dal PID $pid_byzanz, verrà ora interrotto ed elaborato da ffmpeg per dare l'output finale nel percorso ~/byzanz_output_\$mydate.flv!\n\nIl suo tempo di attività è stato $time1_byzanz, ovvero $time2_byzanz secondi, che posso anche esprimere come $hh_mm_ss.\n" && killall byzanz-record && ffmpeg -y -ss 00:00:00 -t $hh_mm_ss -i ~/byzanz_temp_recording.flv -vcodec copy -acodec copy ~/byzanz_output_$mydate.flv && rm ~/byzanz_temp_recording.flv
else
  # process not found
  echo -e "\nbyzanz-record non è avviato! Non c'è alcun processo da interrompere.\n"
fi
exit

La parte aggiunta, diversamente da prima, è && mydate=$(date +“time-%H.%M”), insieme a verrà ora interrotto ed elaborato da ffmpeg per dare l’output finale nel percorso ~/byzanz_output_$mydate.flv! e -vcodec copy -acodec copy ~/byzanz_output_$mydate.flv, ottenedo il nome nel formato byzanz_output_time-hh.mm.flv, e così giustamente non c’è più il rischio di sovrascrittura, mentre il file temporaneo viene comunque rimosso alla fine di ogni ciclo di registrazione tramite lo script! Magico :D… Ho caricato un video esemplificativo su YouTube :slight_smile: http://www.youtube.com/watch?v=JPyE5QHOVSU L’upload decodifica il video originale abbassando la reale risoluzione originale… Comunque si può vedere il sincronismo tra video ed audio, e come l’immagine non sgrani con i quadrati che invece mi compaiono usando Istanbul e recordMydesktop, provati in precedenza…La combinazione di tasti CTRL+ALT+SHIFT+R di gnome-shell ha invece il deficit dell’audio, per quanto il video sia molto buono…Byzanz-record mi sembra sia l’ideale così sistemato ora!! :slight_smile:

Ciao!

Riccardo

PS. Il discorso del file nascosto era per snellire il codice dello script?..Se fosse per quello, era per non disseminare tanti files, e raccogliere il tutto in due soli, a meno dei lanciatori .desktop. Sarebbe bello invece traslarlo in applicazione grafica…ho letto che si potrebbe…ma cmq non vedo l’utilità grossa, dal momento che a parte l’iniziale impostazione per la risoluzione dello schermo e la scelta se registrare o meno l’audio o seguire o meno il cursore, le opzioni del comando sono da darsi solo nel file “OK_chek_byzanz” alla riga 9! Il resto non va toccato, a meno di non voler scegliere un percorso diverso e un nome diverso per il salvataggio, e in tal caso bisogna cambiare solo la fine della riga 5 in “OK_kill_byzanz”.

Vorrei consigliarti di rendere lo script più verticale.
Ad esempio, quando nomini delle variabili che non dipendono dal passaggio precedente, come quella della data, potresti evitare di “legarla” con &&, dato che il controllo lo fai all’inizio, nell’if, così rendi lo script anche più leggibile.

Il file lo pensavo per impostare alcuni valori a delle variabili da usare nello script, come ad esempio la directory di destinazione, e da leggere prima dell’esecuzione. Ma si possono semplicemente inserire all’inizio dello script, senza ricorrere a file esterni.
Mi sono permesso di dare una sistemata allo script. Che ne dici? :slight_smile:

[code]#!/bin/bash

#dichiarazione cartella in cui infilare l’output
OUT_DIR="~/Video_byzanz"

if “$(pidof byzanz-record)” ]; then # process was found

pid_byzanz=$(ps -o pid --no-headers -C "byzanz-record")
#tempo in minuti:secondi
time1_byzanz=$(ps -p ${pid_byzanz} -o etime=)
#tempo in secondi
time2_byzanz=$(ps -p ${pid_byzanz} -o etime= |sed -E 's/(.*):(.+):(.+)/\1*3600+\2*60+\3/;s/(.+):(.+)/\1*60+\2/' |bc)

#ricavo da quanto tempo sta girando byz
h=$(( $time2_byzanz / 	3600 ))
m=$(( ( $time2_byzanz / 60 ) % 60 ))
s=$(( $time2_byzanz % 60 ))
hh_mm_ss=$(printf "%02d:%02d:%02d\n" $h $m $s)
echo -e "\nIl processo byzanz-record, identificato dal PID $pid_byzanz, verrà ora interrotto ed elaborato da ffmpeg per dare l'output finale nel percorso ~/byzanz_output_\$mydate.flv!\n\nIl suo tempo di attività è stato $time1_byzanz, ovvero $time2_byzanz secondi, che posso anche esprimere come $hh_mm_ss.\n"
killall byzanz-record

#creazione directory dove mettere i file
test -d $OUT_DIR || mkdir $OUT_DIR
#processo del file con ffmpeg
ffmpeg -y -ss 00:00:00 -t $hh_mm_ss -i ~/byzanz_temp_recording.flv -vcodec copy -acodec copy $OUT_DIR/byzanz_output_$(date +"time-%H.%M").flv
rm -f ~/byzanz_temp_recording.flv

else # process not found
echo -e “\nbyzanz-record non è avviato! Non c’è alcun processo da interrompere.\n”
fi
#superfluo
exit 0[/code]

:slight_smile: Grazie per la pulizia del codice e i suggerimenti…lo stavo provando, ma mi da errore nell’esistenza della cartella di salvataggio…non so come mai…il problema è a livello di:

test -d $OUT_DIR || mkdir $OUT_DIR

non conoscevo il comando test e il || :slight_smile: . Ho capito a cosa serve guardando qui: http://www.unix.com/shell-programming-scripting/42417-what-does-mean-double-pipe.html :wink:

Ho notato una cosa…non so come mai la variabile $hh_mm_ss non venga passata così com’è a ffmpeg: se ad esempio $hh_mm_ss = 00:00:39, in ffmpeg diventano time=00:00:27.38…quindi mi sa che conviene esprimere $hh_mm_ss indicando anche i centesimi di secondo, per ottenere un taglio esatto!

Ho provato una cosa del genere:

	#PID del processo byzanz-record
	pid_byzanz=$(ps -o pid --no-headers -C "byzanz-record")
	#tempo di esecuzione in minuti:secondi
	time1_byzanz=$(ps -p ${pid_byzanz} -o etime=)
	#tempo di esecuzione in secondi
	time2_byzanz=$(ps -p ${pid_byzanz} -o etime= |sed -E 's/(.*):(.+):(.+)/\1*3600+\2*60+\3/;s/(.+):(.+)/\1*60+\2/' |bc)
	#tempo di esecuzione in ore:minuti:secondi, necessario a ffmpeg
	h=$(( $time2_byzanz / 	3600 ))
	m=$(( ( $time2_byzanz / 60 ) % 60 ))
	s=$(( $time2_byzanz % 60 ))
	hh_mm_ss=$(printf "%02d:%02d:%02d\n" $h $m $s)

	# arrotondamento in eccesso dei secondi, per il taglio eseguito da ffmpeg
	if  "$s" -gt 0 ] # vero se "$s" è maggiore di 0
	then
	  # "$s" è maggiore di 0
	  sr=$(( $s + 2 ))
	else
	  # "$s" è uguale a 0
	  sr=$(( $s + 0 ))
	fi

	ffmpeg_hh_mm_ss=$(printf "%02d:%02d:%02d\n" $h $m $sr)

nota $sr al posto di $s (sr = rounded seconds) per dire che, se i secondi sono maggiori di 0, aggiungici 2, per aumentare i secondi a livello dei quali fare il taglio, passando a ffmpeg la variabile $ffmpeg_hh_mm_ss anziché $hh_mm_ss, ma non cambia…il taglio avviene sempre un po’ prima del tempo reale di registrazione indicato da $hh_mm_ss. Alla fine il video riesce comunque bene…ma era solo una pignoleria ;)…forse risolvibile precisando anche i centesimi di secondo in $hh_mm_ss…sarebbe ancora da provare. Cmq ok, e grazie per la correzione del codice!!

PS. cosa cambia dallo scrivere:

#!/bin/bash
if  "$(pidof byzanz-record)" ] 
then
  # process was found

al posto di:

#!/bin/bash
if  "$(pidof byzanz-record)" ]; then # process was found

Qual è l’indice di errore?

Ciao

Aspetta!.. mi sono accorto ora che il tuo script mi aveva creato la cartella “Video_byzanz” in “/home/Riccardo/Programmi/Nautilus-Script/Miei-scripts/Byzanz/~/Video_byzanz”, da cui in realtà lanciavo lo script che risiede in “/home/Riccardo/Programmi/Nautilus-Script/Miei-scripts/Byzanz”. Ho modificato così:

OUT_DIR="/home/$USER/Video_byzanz"

Forma finale per lo script di interruzione, “OK_kill_byzanz”:

#!/bin/bash

#dichiarazione cartella in cui infilare l'output
OUT_DIR="/home/$USER/Byzanz videos"

if  "$(pidof byzanz-record)" ]; then # process was found

	#PID del processo byzanz-record
	pid_byzanz=$(ps -o pid --no-headers -C "byzanz-record")
	#tempo di esecuzione in minuti:secondi
	time1_byzanz=$(ps -p ${pid_byzanz} -o etime=)
	#tempo di esecuzione in secondi
	time2_byzanz=$(ps -p ${pid_byzanz} -o etime= |sed -E 's/(.*):(.+):(.+)/\1*3600+\2*60+\3/;s/(.+):(.+)/\1*60+\2/' |bc)
	#tempo di esecuzione in ore:minuti:secondi, necessario a ffmpeg
	h=$(( $time2_byzanz / 	3600 ))
	m=$(( ( $time2_byzanz / 60 ) % 60 ))
	s=$(( $time2_byzanz % 60 ))
	hh_mm_ss=$(printf "%02d:%02d:%02d\n" $h $m $s)
	#ora di esportazione del file, da includere nel suo nome
	mydate=$(date +"EndTime-%H.%M.%S")

	echo -e "\n\nIl processo byzanz-record, identificato dal PID $pid_byzanz, verrà ora interrotto ed elaborato da ffmpeg per dare l'output finale nel percorso ~/Byzanz videos/Byzanz_output_EndTime-h.m.s.flv; notare come il file ottenuto incorpora l'ora a cui è stato generato, espressa nel formato ora.minuto.secondo, evitando in tal modo la possibilità che possa essere sovrascritto, se avviato un successivo processo tramite lo script \"OK_chek_byzanz\".\n\nIl tempo di attività è stato $time1_byzanz, ovvero $time2_byzanz secondi, esprimibili anche come $hh_mm_ss.\n\n"
	killall byzanz-record

	#creazione directory dove mettere i file salvato da ffmpeg
	test -d "$OUT_DIR" || mkdir "$OUT_DIR"
	#processazione dell'output di byzanz-record, operata da ffmpeg
	ffmpeg -y -ss 00:00:00 -t $hh_mm_ss -i ~/byzanz_temp_recording.flv -vcodec copy -acodec copy "$OUT_DIR"/Byzanz_output_$mydate.flv
	rm -f ~/byzanz_temp_recording.flv
	echo -e "\n\nIl processo è terminato. Il file è pronto nel percorso "$OUT_DIR"/Byzanz_output_$mydate.flv.\n\n"

else # process not found
	echo -e "\nbyzanz-record non è avviato! Non c'è alcun processo da interrompere.\n"
fi
#superfluo
exit 0

Strano che ti abbia creato la cartella lì.
Sostituisci al variabile così, secondo me è meglio :wink:

OUT_DIR="$HOME/Byzanz\ videos"

con lo slash se c’è lo spazio, altrimenti bash potrebbe interpretarla come due comandi.
E cambierei ogni ~ con $HOME, che viene espansa “meglio”.

[quote]PS. cosa cambia dallo scrivere:

#!/bin/bash
if  "$(pidof byzanz-record)" ] 
then
  # process was found

al posto di:

#!/bin/bash
if  "$(pidof byzanz-record)" ]; then # process was found

Qual è l’indice di errore?
[/quote]
Non capisco cosa tu intenda per indice di errore…
Non c’è alcuna differenza di valore, solo che per me è più facile ricordarmi la sintassi dell’if con il then dopo le parentesi :slight_smile:
Bash, a meno che non glielo dica tu esplicitamente usando altri operatori logici (&, &&, ||, ecc…), alla fine di ogni riga considera come ci fosse un ;, che ha significato diverso da &&. Spiego con un paio di esempi:

comando1; comando2

esegue comando1, quando questo finisce i suoi compiti esegue comando2, senza stare a vedere se comando1 ha funzionato.

comando1 & comando2

esegue comando1 in background e immediatamente dopo comando2, senza fregarsene del valore di uscita del comando precedente.

comando1 && comando2

esegue comando1 e, solo e soltanto se ha dato esito positivo, esegue comando2.

comando1 || comando2

esegue comando1 e se ha dato esito negativo esegue il seguente.

E dopo di questo leggiti anche il manuale di bash, ne scopri una nuova ogni giorno :wink:

$ man bash

Possiamo considerare risolto quindi??

Si risolto … ma ho combinato ora un casino io sul mio computer …non so cosa ho installato, fatto sta che ad un certo punto, quando lanciavo lo script di avvio da terminale mi dava un fastidioso:

WARNING **: Couldn't register with accessibility bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.

(non ricordo bene, e non riesco più a riprodurlo, ma ogni tanto compariva anche con altri programmi lanciati da terminale, pur avviandosi; anche byzanz) per il quale ho cercato una soluzione trovando https://bbs.archlinux.org/viewtopic.php?pid=1187978 discussione, dove, al post #6, si fa riferimento a gconftool-2 che ho provato a rimuovere con:

[Riccardo@RickLaptop ~]$ sudo yum remove gconftool-2
[sudo] password for Riccardo: 
Plugin abilitati:fastestmirror, langpacks, presto
Nessuna corrispondenza per l'argomento: gconftool-2
Nessun pacchetto marcato per la rimozione
[Riccardo@RickLaptop ~]$

quindi ho dato:

[Riccardo@RickLaptop ~]$ yum provides gconftool-2

...

GConf2-3.2.5-3.fc18.i686 : A process-transparent configuration system
Repo         : fedora
Corrispondenza trovata in:
Nome file   : /usr/bin/gconftool-2

GConf2-3.2.5-3.fc18.x86_64 : A process-transparent configuration system
Repo         : fedora
Corrispondenza trovata in:
Nome file   : /usr/bin/gconftool-2

decidendo, alla fine malauguratamente, di rimuovere GConf2 (dato che sto usando Fedora Xfce, e avevo in precendenza installato dei pacchetti di gnome che in Xfce sembra siano superflui e non lo sapevo) disinstallando oltre 400MB di roba … tra cui anche byzanz e non so che altro…mi sono un po’ preoccupato e ho annotato qualche pacchetto che, scorrendo nell’output, mi sembrava necessario, tra cui gnome-do, inkscape, google-chrome (che comunque non ho reinstallato - da solo voleva già 150MB - tenendomi solo firefox), gnome-panel, gdm, gconf-editor, thunar-vfs, e non so quanti altri…fatto sta che ora che ho reinstallato byzanz, ottengo un errore e non mi parte … mi dice:

(byzanz-record:2350): GStreamer-CRITICAL **: gst_bin_get_by_name: assertion `GST_IS_BIN (bin)' failed
**
ERROR:byzanzencodergstreamer.c:132:byzanz_encoder_gstreamer_run: assertion failed: (gstreamer->audiosrc)

Ho installato tutti i pacchetti di gstreamer che sono riuscito a trovare, ma nulla… Ci sto smanettando da un po’ e mi viene voglia di reinstallare tutto di nuovo … cavolo.

Comunque, poi corrego gli scripts e li posto nella forma finale che pensi anche tu possa andare bene. Avevo aggiunto un ulteriore controllo per l’esito del kill, con scrittura, via terminale, se il processo era andato a buon fine o meno, e dove era stato eventualmente salvato il file.
Aggiungo poi i tuoi ulteriori consigli e poi posto tutto. Grazie per le istruzioni!!.. :wink:

Non colgo però una grossa differenza tra:

comando1; comando2
#esegue comando1, quando questo finisce i suoi compiti esegue comando2, senza stare a vedere se comando1 ha funzionato.

e

comando1 & comando2
#esegue comando1 in background e immediatamente dopo comando2, senza fregarsene del valore di uscita del comando precedente.

A parte questo problema al mio computer, adesso, gli scripts comunque funzionano!

Ciao Alberto,

Riccardo

Posta questo:

$ yum list gstreamer*

Sicuro di non aver cancellato nient’altro di “vitale” per il pc? Tutto il DE ti funziona bene?
In caso proverei anche un:

# yum reinstall @xfce

Per farti capire, ; aspetta che comando1 sia eseguito e quando ha finito esegue comando2.
Mentre & esegue comando1 e immediatamente dopo comando2. In pratica “slega” comando1 dal resto.

# yum history

Cerca il numero corrispondente alla rimozione (dovrebbe essere il più alto di tutti, se non hai più installato, rimosso o aggiornato nulla, altrimenti controlla). Poi

 # yum history undo XX

(al posto di XX metti il numero che hai identificato con il comando precedente, per esempio 41).

Ciao Alberto, ciao marcomotta,

grazie per l’aiuto… è rincuorante! :slight_smile:

Allora il comando

$ yum list gstreamer*

mi dà:

Pacchetti installati
gstreamer.i686                               0.10.36-2.fc18  @fedora                      
gstreamer.x86_64                             0.10.36-2.fc18  @fedora                      
gstreamer-devel.x86_64                       0.10.36-2.fc18  @fedora                      
gstreamer-ffmpeg.x86_64                      0.10.13-5.fc18  @rpmfusion-free              
gstreamer-plugins-bad.x86_64                 0.10.23-2.fc18  @rpmfusion-free              
gstreamer-plugins-bad-free.i686              0.10.23-13.fc18 @fedora                      
gstreamer-plugins-bad-free.x86_64            0.10.23-13.fc18 @fedora                      
gstreamer-plugins-bad-free-extras.x86_64     0.10.23-13.fc18 @fedora                      
gstreamer-plugins-bad-nonfree.x86_64         0.10.23-1.fc18  @rpmfusion-nonfree           
gstreamer-plugins-base.i686                  0.10.36-3.fc18  @fedora                      
gstreamer-plugins-base.x86_64                0.10.36-3.fc18  @fedora                      
gstreamer-plugins-base-devel.x86_64          0.10.36-3.fc18  @fedora                      
gstreamer-plugins-espeak.x86_64              0.4.0-1.fc18    @fedora                      
gstreamer-plugins-ugly.i686                  0.10.19-5.fc18  @/gstreamer-plugins-ugly-0.10.19-5.fc18.i686
gstreamer-plugins-ugly.x86_64                0.10.19-5.fc18  @rpmfusion-free              
gstreamer-python.x86_64                      0.10.22-3.fc18  @fedora                      
gstreamer-tools.x86_64                       0.10.36-2.fc18  @fedora                      
gstreamer1.x86_64                            1.0.5-1.fc18    @updates                     
gstreamer1-devel.x86_64                      1.0.5-1.fc18    @updates                     
gstreamer1-libav.x86_64                      1.0.2-2.fc18    @rpmfusion-free              
gstreamer1-plugins-bad-free.x86_64           1.0.5-1.fc18    @updates                     
gstreamer1-plugins-base.x86_64               1.0.5-3.fc18    @updates                     
gstreamer1-plugins-good.x86_64               1.0.5-3.fc18    @updates                     
gstreamer1-plugins-good-extras.x86_64        1.0.5-3.fc18    @updates                     
Pacchetti disponibili
gstreamer-devel.i686                         0.10.36-2.fc18  fedora                       
gstreamer-devel-docs.noarch                  0.10.36-2.fc18  fedora                       
gstreamer-ffmpeg.i686                        0.10.13-5.fc18  rpmfusion-free               
gstreamer-java.x86_64                        1.5-4.fc18      fedora                       
gstreamer-java-javadoc.x86_64                1.5-4.fc18      fedora                       
gstreamer-java-swt.x86_64                    1.5-4.fc18      fedora                       
gstreamer-plugin-crystalhd.i686              3.10.0-2.fc18   fedora                       
gstreamer-plugin-crystalhd.x86_64            3.10.0-2.fc18   fedora                       
gstreamer-plugins-bad.i686                   0.10.23-2.fc18  rpmfusion-free               
gstreamer-plugins-bad-free-devel.i686        0.10.23-13.fc18 fedora                       
gstreamer-plugins-bad-free-devel.x86_64      0.10.23-13.fc18 fedora                       
gstreamer-plugins-bad-free-devel-docs.x86_64 0.10.23-13.fc18 fedora                       
gstreamer-plugins-bad-free-extras.i686       0.10.23-13.fc18 fedora                       
gstreamer-plugins-base-devel.i686            0.10.36-3.fc18  fedora                       
gstreamer-plugins-base-devel-docs.noarch     0.10.36-3.fc18  fedora                       
gstreamer-plugins-base-tools.x86_64          0.10.36-3.fc18  fedora                       
gstreamer-plugins-entrans.i686               0.10.4-2.fc18   fedora                       
gstreamer-plugins-entrans.x86_64             0.10.4-2.fc18   fedora                       
gstreamer-plugins-entrans-docs.noarch        0.10.4-2.fc18   fedora                       
gstreamer-plugins-espeak.i686                0.4.0-1.fc18    fedora                       
gstreamer-plugins-fc.i686                    0.2-4.fc18      fedora                       
gstreamer-plugins-fc.x86_64                  0.2-4.fc18      fedora                       
gstreamer-plugins-good.i686                  0.10.31-5.fc18  fedora                       
gstreamer-plugins-good.x86_64                0.10.31-5.fc18  fedora                       
gstreamer-plugins-good-devel-docs.noarch     0.10.31-5.fc18  fedora                       
gstreamer-plugins-good-extras.i686           0.10.31-5.fc18  fedora                       
gstreamer-plugins-good-extras.x86_64         0.10.31-5.fc18  fedora                       
gstreamer-plugins-ugly-devel-docs.noarch     0.10.19-5.fc18  rpmfusion-free               
gstreamer-python.i686                        0.10.22-3.fc18  fedora                       
gstreamer-python-devel.i686                  0.10.22-3.fc18  fedora                       
gstreamer-python-devel.x86_64                0.10.22-3.fc18  fedora                       
gstreamer-rtsp.i686                          0.10.8-3.fc18   fedora                       
gstreamer-rtsp.x86_64                        0.10.8-3.fc18   fedora                       
gstreamer-rtsp-devel.i686                    0.10.8-3.fc18   fedora                       
gstreamer-rtsp-devel.x86_64                  0.10.8-3.fc18   fedora                       
gstreamer-rtsp-python.x86_64                 0.10.8-3.fc18   fedora                       
gstreamer-rtsp-vala.x86_64                   0.10.8-3.fc18   fedora                       
gstreamer1.i686                              1.0.5-1.fc18    updates                      
gstreamer1-devel.i686                        1.0.5-1.fc18    updates                      
gstreamer1-devel-docs.noarch                 1.0.5-1.fc18    updates                      
gstreamer1-plugins-bad-free.i686             1.0.5-1.fc18    updates                      
gstreamer1-plugins-bad-free-devel.i686       1.0.5-1.fc18    updates                      
gstreamer1-plugins-bad-free-devel.x86_64     1.0.5-1.fc18    updates                      
gstreamer1-plugins-bad-free-extras.i686      1.0.5-1.fc18    updates                      
gstreamer1-plugins-bad-free-extras.x86_64    1.0.5-1.fc18    updates                      
gstreamer1-plugins-bad-freeworld.x86_64      1.0.5-1.fc18    rpmfusion-free-updates       
gstreamer1-plugins-base.i686                 1.0.5-3.fc18    updates                      
gstreamer1-plugins-base-devel.i686           1.0.5-3.fc18    updates                      
gstreamer1-plugins-base-devel.x86_64         1.0.5-3.fc18    updates                      
gstreamer1-plugins-base-devel-docs.noarch    1.0.5-3.fc18    updates                      
gstreamer1-plugins-base-tools.x86_64         1.0.5-3.fc18    updates                      
gstreamer1-plugins-good.i686                 1.0.5-3.fc18    updates                      
gstreamer1-plugins-good-extras.i686          1.0.5-3.fc18    updates                      
gstreamer1-plugins-ugly.x86_64               1.0.5-1.fc18    rpmfusion-free-updates       
gstreamer1-plugins-ugly-devel-docs.noarch    1.0.5-1.fc18    rpmfusion-free-updates       
gstreamermm.i686                             0.10.11-1.fc18  updates                      
gstreamermm.x86_64                           0.10.11-1.fc18  updates                      
gstreamermm-devel.i686                       0.10.11-1.fc18  updates                      
gstreamermm-devel.x86_64                     0.10.11-1.fc18  updates                      
gstreamermm-doc.noarch                       0.10.11-1.fc18  updates                      

mentre:

# yum history

mi dà:

[root@RickLaptop Riccardo]# yum history
Plugin abilitati:fastestmirror, langpacks, presto
ID     | Linea di comando         | Data e ora       | Azione/i       | Modific
-------------------------------------------------------------------------------
   109 | install fedorautils      | 2013-03-11 02:38 | Install        |    5 EE
   108 | groupinstall Development | 2013-03-11 02:33 | Install        |   35   
   107 |                          | 2013-03-11 02:27 | Install        |    9   
   106 | reinstall gstream*       | 2013-03-11 02:19 | Reinstall      |   25   
   105 | install libtool          | 2013-03-11 01:50 | Install        |    1   
   104 | install gtk3 gtk3-devel  | 2013-03-11 01:47 | Install        |    2   
   103 | install recordmydesktop  | 2013-03-11 01:39 | Install        |    1   
   102 | install gstreamer1-plugi | 2013-03-11 01:17 | Install        |    1   
   101 | install gstreamer1-libav | 2013-03-11 01:15 | Install        |    1   
   100 | install gstreamer1-devel | 2013-03-11 01:14 | Install        |    1   
    99 | install gstream-devel    | 2013-03-11 01:13 | Install        |    4   
    98 | update                   | 2013-03-11 00:34 | Update         |   32   
    97 | install inkscape         | 2013-03-11 00:07 | Install        |    1   
    96 | install gnome-do         | 2013-03-11 00:05 | Install        |    8   
    95 | install byzanz           | 2013-03-11 00:03 | Install        |    3 EE
    94 | remove GConf2            | 2013-03-10 23:55 | Erase          |   73   
    93 | install byzanz           | 2013-03-10 23:42 | Install        |    1   
    92 | install ffmpeg           | 2013-03-10 23:41 | Install        |    1   
    91 | remove ffmpeg            | 2013-03-10 23:41 | Erase          |    1   
    90 | remove byzanz            | 2013-03-10 23:40 | Erase          |    1   
history list

Grazie! E’ proprio:

    94 | remove GConf2            | 2013-03-10 23:55 | Erase          |   73   

e sembra che il comando successivo per reinstallare byzanz abbia avuto 3 errori, sembra di capire:

    95 | install byzanz           | 2013-03-11 00:03 | Install        |    3 EE

Avevo provato ad installare anche fedorautils per vedere se mi forniva codec o altro che magari si era disinstallato nel tutto, e sembra che anche quel processo abbia riportato 5 errori:

   109 | install fedorautils      | 2013-03-11 02:38 | Install        |    5 EE

…sempre che EE indichi “errore”.

Quindi dovrei provare a fare:

# yum remove byzanz fedorautils gnome-do inkscape recordmydesktop 
# yum history undo 94

Domanda: rimuovo byzanz e gli altri pacchetti con il primo comando, perché il successivo (sempre se giusto) li dovrebbe reintegrare (eccetto recordmydesktop, che ho voluto installare come prova, per vedere se funzionava, visto che byzanz non partiva…non mi ero accorto però dei 3 errori al momento della sua installazione…c’è da capire perché, come anche per fedorautils, che comunque lo stavo installando solo per vedere di risolvere il problema)?

PS - nell’output di:

$ yum list gstreamer*

è normale che compaiano dei pacchetti terminanti con “.i686”, se il sistema è a 64bit?..Non sono un tecnico :slight_smile:

Notate una cosa importante, comunque:

nell’output del comando:

# yum history

gli ID 90 e 93 vanno a buon fine! Solo dopo la rimozione di GConf2 (ID 94, che scorrendo nell’output ricordo che mi stava disinstallando anche byzanz), la successiva reinstallazione di byzanz (ID 95) mi dà errore. Quindi è un problema di dipendenze non risolte sembra…fornite dal pacchetto GConf2; i comandi:

# yum remove byzanz fedorautils gnome-do inkscape recordmydesktop 
# yum history undo 94

se riescono, forse dovrebbero risolvere, anche se non il messaggio di Warning che ha generato il tutto, perché significherebbe ritornare al punto iniziale…

Stavo ripensando a questo, dal tuo post 7 e 11. Hai detto che bash, a fine riga, sottintende un “;”, anche se non esplicitato, per cui aver rivisto il mio script originale con la rimozione del “&&” sostituito da un “accapo”, sottintende un “;” come interpretazione da parte di bash, e quindi esegue il comando successivo dopo il comando precedente, ma indipendentemente dall’esito di quest’ultimo!?.. Se la risposta è si, pensavo…ai fini di provare uno script in fase di scrittura (e quindi ancora in fase di test), non sarebbe allora bene mettere sempre un “&&”, per poter capire a che livello c’è un errore, sempre che ci sia? Poi magari si sistema il codice come hai detto tu, ma potrebbe essere questo un modo di lavoro, per identificare un eventuale problema nel proprio script?

Ciao Alberto!

Riccardo

Ho dato i comandi:

[root@RickLaptop Riccardo]# # yum remove byzanz fedorautils gnome-do inkscape recordmydesktop 
[root@RickLaptop Riccardo]# yum history undo 94
Plugin abilitati:fastestmirror, langpacks, presto
Undoing transaction 94, from Sun Mar 10 23:55:36 2013
    Eliminato GConf2-3.2.5-3.fc18.x86_64                           @fedora
    Eliminato GConf2-devel-3.2.5-3.fc18.x86_64                     @fedora
    Eliminato amarok-2.6.0-4.fc18.x86_64                           @fedora
    Eliminato amarok-libs-2.6.0-4.fc18.x86_64                      @fedora
    Eliminato amarok-utils-2.6.0-4.fc18.x86_64                     @fedora
    Eliminato at-spi-1.32.0-9.fc18.x86_64                          @fedora
    Eliminato audiocd-kio-4.9.5-1.fc18.x86_64                      @updates
    Eliminato audiocd-kio-libs-4.9.5-1.fc18.x86_64                 @updates
    Eliminato banshee-2.6.0-1.fc18.x86_64                          @fedora
    Eliminato banshee-musicbrainz-2.6.0-1.fc18.x86_64              @fedora
    Eliminato blueman-1.23-5.fc18.x86_64                           @koji-override-0/$releasever
    Eliminato byzanz-0.3-0.5.fc17.x86_64                           @fedora
    Eliminato dia-1:0.97.2-1.fc18.x86_64                           @fedora
    Eliminato farstream-0.1.2-2.fc18.x86_64                        @koji-override-0/$releasever
    Eliminato gconf-editor-3.0.1-3.fc18.x86_64                     @fedora
    Eliminato gdm-1:3.6.2-5.fc18.x86_64                            @fedora
    Eliminato gdm-libs-1:3.6.2-5.fc18.x86_64                       @fedora
    Eliminato gnome-desktop-2.32.0-11.fc18.x86_64                  @fedora
    Eliminato gnome-desktop-sharp-2.26.0-17.fc18.x86_64            @fedora
    Eliminato gnome-do-0.9-3.fc18.x86_64                           @fedora
    Eliminato gnome-panel-devel-3.6.2-2.fc18.x86_64                @updates
    Eliminato gnome-panel-libs-3.6.2-2.fc18.x86_64                 @updates
    Eliminato gnome-python2-bonobo-2.28.1-9.fc18.x86_64            @koji-override-0/$releasever
    Eliminato gnome-python2-gconf-2.28.1-9.fc18.x86_64             @koji-override-0/$releasever
    Eliminato gnome-python2-gnome-2.28.1-9.fc18.x86_64             @koji-override-0/$releasever
    Eliminato gnome-python2-gnomevfs-2.28.1-9.fc18.x86_64          @koji-override-0/$releasever
    Eliminato gnome-python2-libegg-2.25.3-40.fc18.x86_64           @fedora
    Eliminato gnome-session-3.6.2-3.fc18.x86_64                    @updates
    Eliminato gnome-sharp-2.24.1-10.fc18.x86_64                    @fedora
    Eliminato gnome-shell-3.6.3.1-1.fc18.x86_64                    @updates
    Eliminato gnome-shell-extension-common-3.6.2-1.fc18.noarch     @updates
    Eliminato gnome-shell-extension-user-theme-3.6.2-1.fc18.noarch @updates
    Eliminato gnome-tweak-tool-3.6.1-2.fc18.noarch                 @fedora
    Eliminato gnome-vfs2-2.24.4-10.fc18.x86_64                     @updates
    Eliminato gnome-xcf-thumbnailer-1.0-9.fc18.x86_64              @fedora
    Eliminato google-chrome-stable-25.0.1364.152-185281.x86_64     @google
    Eliminato gstreamer-plugins-good-0.10.31-5.fc18.x86_64         @koji-override-0/$releasever
    Eliminato ibus-chewing-1.4.3-1.fc18.x86_64                     @koji-override-0/$releasever
    Eliminato inkscape-0.48.4-1.fc18.x86_64                        @fedora
    Eliminato k3b-1:2.0.2-15.fc18.x86_64                           @updates
    Eliminato k3b-common-1:2.0.2-15.fc18.noarch                    @updates
    Eliminato k3b-extras-freeworld-1:2.0.2-9.fc18.x86_64           @rpmfusion-free
    Eliminato k3b-libs-1:2.0.2-15.fc18.x86_64                      @updates
    Eliminato kactivities-4.9.5-1.fc18.x86_64                      @updates
    Eliminato kde-runtime-4.9.5-2.fc18.x86_64                      @updates
    Eliminato kde-runtime-drkonqi-4.9.5-2.fc18.x86_64              @updates
    Eliminato kde-runtime-flags-4.9.5-2.fc18.noarch                @updates
    Eliminato kde-runtime-libs-4.9.5-2.fc18.x86_64                 @updates
    Eliminato kdelibs-6:4.9.5-2.fc18.x86_64                        @updates
    Eliminato kdepimlibs-kxmlrpcclient-4.9.5-1.fc18.x86_64         @updates
    Eliminato kplayer-1:0.7.0-7.20081211cvs.fc17.x86_64            @rpmfusion-free
    Eliminato ksnapshot-4.9.5-1.fc18.x86_64                        @updates
    Eliminato libbonoboui-2.24.5-4.fc18.x86_64                     @fedora
    Eliminato libgnome-2.32.1-5.fc18.x86_64                        @fedora
    Eliminato libgnomeui-2.24.5-5.fc18.x86_64                      @fedora
    Eliminato libkcddb-4.9.5-1.fc18.x86_64                         @updates
    Eliminato libkcompactdisc-4.9.5-1.fc18.x86_64                  @updates
    Eliminato libkipi-4.9.5-1.fc18.x86_64                          @updates
    Eliminato libpurple-2.10.7-2.fc18.x86_64                       @updates
    Eliminato liferea-1:1.8.12-1.fc18.x86_64                       @updates
    Eliminato nautilus-open-terminal-0.19-6.fc18.x86_64            @fedora
    Eliminato nepomuk-core-4.9.5-1.fc18.x86_64                     @updates
    Eliminato nepomuk-core-libs-4.9.5-1.fc18.x86_64                @updates
    Eliminato network-manager-applet-0.9.7.997-1.fc18.x86_64       @updates
    Eliminato parole-0.4.0-1.fc18.x86_64                           @updates
    Eliminato phonon-4.6.0-5.fc18.x86_64                           @fedora
    Eliminato phonon-backend-gstreamer-2:4.6.3-1.fc18.x86_64       @updates
    Eliminato pidgin-2.10.7-2.fc18.x86_64                          @updates
    Eliminato pulseaudio-gdm-hooks-2.1-6.fc18.x86_64               @updates
    Eliminato thunar-vfs-1.2.0-7.fc18.x86_64                       @koji-override-0/$releasever
    Eliminato xfburn-0.4.3-10.fc18.x86_64                          @koji-override-0/$releasever
    Eliminato xmms-1:1.2.11-17.20071117cvs.fc18.x86_64             @fedora
    Eliminato xmms-crossfade-0.3.14-6.fc18.x86_64                  @fedora
adobe-linux-x86_64                                                 |  951 B  00:00:00     
fedora/18/x86_64/metalink                                          |  33 kB  00:00:00     
google                                                             |  951 B  00:00:00     
google-chrome                                                      |  951 B  00:00:00     
rpmfusion-free                                                     | 3.3 kB  00:00:00     
rpmfusion-free-updates                                             | 3.3 kB  00:00:00     
rpmfusion-nonfree                                                  | 3.3 kB  00:00:00     
rpmfusion-nonfree-updates                                          | 3.3 kB  00:00:00     
updates/18/x86_64/metalink                                         |  27 kB  00:00:00     
updates                                                            | 4.6 kB  00:00:00 !!! 
updates/primary_db                                                 | 7.8 MB  00:00:13     
(1/2): rpmfusion-nonfree-updates/primary_db                        |  81 kB  00:00:01     
(2/2): rpmfusion-free-updates/primary_db                           | 131 kB  00:00:03     
Loading mirror speeds from cached hostfile
 * fedora: fedora.fastbull.org
 * rpmfusion-free: rpmfusion.famillecollet.com
 * rpmfusion-free-updates: rpmfusion.famillecollet.com
 * rpmfusion-nonfree: rpmfusion.famillecollet.com
 * rpmfusion-nonfree-updates: rpmfusion.famillecollet.com
 * updates: fedora.fastbull.org
Il pacchetto GConf2-3.2.5-3.fc18.x86_64 è già installato e aggiornato all'ultima versione
Il pacchetto GConf2-devel-3.2.5-3.fc18.x86_64 è già installato e aggiornato all'ultima versione
Il pacchetto byzanz-0.3-0.5.fc17.x86_64 è già installato e aggiornato all'ultima versione
Il pacchetto gnome-desktop-2.32.0-11.fc18.x86_64 è già installato e aggiornato all'ultima versione
Il pacchetto gnome-desktop-sharp-2.26.0-17.fc18.x86_64 è già installato e aggiornato all'ultima versione
Il pacchetto gnome-do-0.9-3.fc18.x86_64 è già installato e aggiornato all'ultima versione
Il pacchetto gnome-panel-devel-3.6.2-2.fc18.x86_64 è già installato e aggiornato all'ultima versione
Il pacchetto gnome-panel-libs-3.6.2-2.fc18.x86_64 è già installato e aggiornato all'ultima versione
Il pacchetto gnome-sharp-2.24.1-10.fc18.x86_64 è già installato e aggiornato all'ultima versione
Il pacchetto gnome-vfs2-2.24.4-10.fc18.x86_64 è già installato e aggiornato all'ultima versione
Errore: Nessun pacchetto disponibile per l'installazione
[root@RickLaptop Riccardo]# echo $?
1
[root@RickLaptop Riccardo]#

Ridando poi yum history, ottengo:

[root@RickLaptop Riccardo]# yum history
Plugin abilitati:fastestmirror, langpacks, presto
ID     | Linea di comando         | Data e ora       | Azione/i       | Modific
-------------------------------------------------------------------------------
   109 | install fedorautils      | 2013-03-11 02:38 | Install        |    5 EE
   108 | groupinstall Development | 2013-03-11 02:33 | Install        |   35   
   107 |                          | 2013-03-11 02:27 | Install        |    9   
   106 | reinstall gstream*       | 2013-03-11 02:19 | Reinstall      |   25   
   105 | install libtool          | 2013-03-11 01:50 | Install        |    1   
   104 | install gtk3 gtk3-devel  | 2013-03-11 01:47 | Install        |    2   
   103 | install recordmydesktop  | 2013-03-11 01:39 | Install        |    1   
   102 | install gstreamer1-plugi | 2013-03-11 01:17 | Install        |    1   
   101 | install gstreamer1-libav | 2013-03-11 01:15 | Install        |    1   
   100 | install gstreamer1-devel | 2013-03-11 01:14 | Install        |    1   
    99 | install gstream-devel    | 2013-03-11 01:13 | Install        |    4   
    98 | update                   | 2013-03-11 00:34 | Update         |   32   
    97 | install inkscape         | 2013-03-11 00:07 | Install        |    1   
    96 | install gnome-do         | 2013-03-11 00:05 | Install        |    8   
    95 | install byzanz           | 2013-03-11 00:03 | Install        |    3 EE
    94 | remove GConf2            | 2013-03-10 23:55 | Erase          |   73   
    93 | install byzanz           | 2013-03-10 23:42 | Install        |    1   
    92 | install ffmpeg           | 2013-03-10 23:41 | Install        |    1   
    91 | remove ffmpeg            | 2013-03-10 23:41 | Erase          |    1   
    90 | remove byzanz            | 2013-03-10 23:40 | Erase          |    1   
history list
[root@RickLaptop Riccardo]#

…verifico ora se è cambiato qualcosa

Il comando di per sé, come tale non è bastato…ho provato allora a dare anche quello tuo, Alberto:

e ancora nulla…Allora come ultima sponda ho ricopiato uno a uno tutto l’elenco dei pacchetti che erano stati rimossi per reinstallarli:

[root@RickLaptop Riccardo]# yum reinstall GConf2-devel amarok amarok-libs amarok-utils at-spi audiocd-kio audiocd-kio-libs banshee banshee-musicbrainz blueman byzanz dia farstream gdm gdm-libs gnome-desktop gnome-desktop-sharp gnome-do gnome-panel-devel gnome-panel-libs gnome-python2-bonobo gnome-python2-gconf gnome-python2-gnome gnome-python2-gnomevfs gnome-python2-libegg gnome-session gnome-sharp gnome-shell gnome-shell-extension-common gnome-shell-extension-user-theme gnome-tweak-tool gnome-vfs2 gnome-xcf-thumbnailer gstreamer-plugins-good ibus-chewing inkscape k3b k3b-common k3b-extras-freeworld k3b-libs kactivities kde-runtime kde-runtime-drkonqi kde-runtime-flags kdelibs kde-runtime-libs kdepimlibs-kxmlrpcclient kplayer ksnapshot libbonoboui libgnome libgnomeui libkcddb libkcompactdisc libkipi libpurple liferea nautilus-open-terminal nepomuk-core nepomuk-core-libs network-manager-applet parole phonon phonon-backend-gstreamer pidgin pulseaudio-gdm-hooks thunar-vfs xfburn xmms xmms-crossfade
Plugin abilitati:fastestmirror, langpacks, presto
Loading mirror speeds from cached hostfile
 * fedora: fedora.fastbull.org
 * rpmfusion-free: rpmfusion.famillecollet.com
 * rpmfusion-free-updates: rpmfusion.famillecollet.com
 * rpmfusion-nonfree: rpmfusion.famillecollet.com
 * rpmfusion-nonfree-updates: rpmfusion.famillecollet.com
 * updates: fedora.fastbull.org
Nessuna corrispondenza per l'argomento: amarok
Pacchetto amarok disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: amarok-libs
Pacchetto amarok-libs disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: amarok-utils
Pacchetto amarok-utils disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: at-spi
Pacchetto at-spi disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: audiocd-kio
Pacchetto audiocd-kio disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: audiocd-kio-libs
Pacchetto audiocd-kio-libs disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: banshee
Pacchetto banshee disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: banshee-musicbrainz
Pacchetto banshee-musicbrainz disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: blueman
Pacchetto blueman disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: dia
Pacchetto dia disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: farstream
Pacchetto farstream disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: gdm
Pacchetto gdm disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: gdm-libs
Pacchetto gdm-libs disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: gnome-python2-bonobo
Pacchetto gnome-python2-bonobo disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: gnome-python2-gconf
Pacchetto gnome-python2-gconf disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: gnome-python2-gnome
Pacchetto gnome-python2-gnome disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: gnome-python2-gnomevfs
Pacchetto gnome-python2-gnomevfs disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: gnome-python2-libegg
Pacchetto gnome-python2-libegg disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: gnome-session
Pacchetto gnome-session disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: gnome-shell
Pacchetto gnome-shell disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: gnome-shell-extension-common
Pacchetto gnome-shell-extension-common disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: gnome-shell-extension-user-theme
Pacchetto gnome-shell-extension-user-theme disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: gnome-tweak-tool
Pacchetto gnome-tweak-tool disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: gnome-xcf-thumbnailer
Pacchetto gnome-xcf-thumbnailer disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: gstreamer-plugins-good
Pacchetto gstreamer-plugins-good disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: ibus-chewing
Pacchetto ibus-chewing disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: k3b
Pacchetto k3b disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: k3b-common
Pacchetto k3b-common disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: k3b-extras-freeworld
Pacchetto k3b-extras-freeworld disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: k3b-libs
Pacchetto k3b-libs disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: kactivities
Pacchetto kactivities disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: kde-runtime
Pacchetto kde-runtime disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: kde-runtime-drkonqi
Pacchetto kde-runtime-drkonqi disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: kde-runtime-flags
Pacchetto kde-runtime-flags disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: kdelibs
Pacchetto kdelibs disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: kde-runtime-libs
Pacchetto kde-runtime-libs disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: kdepimlibs-kxmlrpcclient
Pacchetto kdepimlibs-kxmlrpcclient disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: kplayer
Pacchetto kplayer disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: ksnapshot
Pacchetto ksnapshot disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: libkcddb
Pacchetto libkcddb disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: libkcompactdisc
Pacchetto libkcompactdisc disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: libkipi
Pacchetto libkipi disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: libpurple
Pacchetto libpurple disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: liferea
Pacchetto liferea disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: nautilus-open-terminal
Pacchetto nautilus-open-terminal disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: nepomuk-core
Pacchetto nepomuk-core disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: nepomuk-core-libs
Pacchetto nepomuk-core-libs disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: network-manager-applet
Pacchetto network-manager-applet disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: parole
Pacchetto parole disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: phonon
Pacchetto phonon disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: phonon-backend-gstreamer
Pacchetto phonon-backend-gstreamer disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: pidgin
Pacchetto pidgin disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: pulseaudio-gdm-hooks
Pacchetto pulseaudio-gdm-hooks disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: thunar-vfs
Pacchetto thunar-vfs disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: xfburn
Pacchetto xfburn disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: xmms
Pacchetto xmms disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: xmms-crossfade
Pacchetto xmms-crossfade disponibile, ma non installato.
Risoluzione dipendenze
--> Esecuzione del controllo di transazione
---> Pacchetto GConf2-devel.x86_64 0:3.2.5-3.fc18 settato per essere reinstallato
---> Pacchetto byzanz.x86_64 0:0.3-0.5.fc17 settato per essere reinstallato
---> Pacchetto gnome-desktop.x86_64 0:2.32.0-11.fc18 settato per essere reinstallato
---> Pacchetto gnome-desktop-sharp.x86_64 0:2.26.0-17.fc18 settato per essere reinstallato
---> Pacchetto gnome-do.x86_64 0:0.9-3.fc18 settato per essere reinstallato
---> Pacchetto gnome-panel-devel.x86_64 0:3.6.2-2.fc18 settato per essere reinstallato
---> Pacchetto gnome-panel-libs.x86_64 0:3.6.2-2.fc18 settato per essere reinstallato
---> Pacchetto gnome-sharp.x86_64 0:2.24.1-10.fc18 settato per essere reinstallato
---> Pacchetto gnome-vfs2.x86_64 0:2.24.4-10.fc18 settato per essere reinstallato
---> Pacchetto inkscape.x86_64 0:0.48.4-1.fc18 settato per essere reinstallato
---> Pacchetto libbonoboui.x86_64 0:2.24.5-4.fc18 settato per essere reinstallato
---> Pacchetto libgnome.x86_64 0:2.32.1-5.fc18 settato per essere reinstallato
---> Pacchetto libgnomeui.x86_64 0:2.24.5-5.fc18 settato per essere reinstallato
--> Risoluzione delle dipendenze completata

Dipendenze risolte

================================================================================
 Package                  Arch        Versione               Repository    Dim.
================================================================================
Reinstallazione:
 GConf2-devel             x86_64      3.2.5-3.fc18           fedora       108 k
 byzanz                   x86_64      0.3-0.5.fc17           fedora       127 k
 gnome-desktop            x86_64      2.32.0-11.fc18         fedora       667 k
 gnome-desktop-sharp      x86_64      2.26.0-17.fc18         fedora       127 k
 gnome-do                 x86_64      0.9-3.fc18             fedora       469 k
 gnome-panel-devel        x86_64      3.6.2-2.fc18           updates      102 k
 gnome-panel-libs         x86_64      3.6.2-2.fc18           updates       74 k
 gnome-sharp              x86_64      2.24.1-10.fc18         fedora       310 k
 gnome-vfs2               x86_64      2.24.4-10.fc18         updates      833 k
 inkscape                 x86_64      0.48.4-1.fc18          fedora       8.8 M
 libbonoboui              x86_64      2.24.5-4.fc18          fedora       341 k
 libgnome                 x86_64      2.32.1-5.fc18          fedora       740 k
 libgnomeui               x86_64      2.24.5-5.fc18          fedora       789 k

Riepilogo della transazione
================================================================================
Reinstall  13 Pacchetto

Dimensione totale del download: 13 M
Dimensione installata: 59 M
Procedere [s/N]: s
Download dei pacchetti:
(1/13): GConf2-devel-3.2.5-3.fc18.x86_64.rpm               | 108 kB   00:01     
(2/13): byzanz-0.3-0.5.fc17.x86_64.rpm                     | 127 kB   00:02     
(3/13): gnome-desktop-sharp-2.26.0-17.fc18.x86_64.rpm      | 127 kB   00:02     
(4/13): gnome-panel-devel-3.6.2-2.fc18.x86_64.rpm          | 102 kB   00:01     
(5/13): gnome-do-0.9-3.fc18.x86_64.rpm                     | 469 kB   00:02     
(6/13): gnome-panel-libs-3.6.2-2.fc18.x86_64.rpm           |  74 kB   00:00     
(7/13): gnome-sharp-2.24.1-10.fc18.x86_64.rpm              | 310 kB   00:02     
(8/13): libbonoboui-2.24.5-4.fc18.x86_64.rpm               | 341 kB   00:02     
(9/13): gnome-desktop-2.32.0-11.fc18.x86_64.rpm            | 667 kB   00:06     
(10/13): gnome-vfs2-2.24.4-10.fc18.x86_64.rpm              | 833 kB   00:05     
(11/13): libgnome-2.32.1-5.fc18.x86_64.rpm                 | 740 kB   00:03     
(12/13): libgnomeui-2.24.5-5.fc18.x86_64.rpm               | 789 kB   00:05     
(13/13): inkscape-0.48.4-1.fc18.x86_64.rpm                 | 8.8 MB   00:20     
--------------------------------------------------------------------------------
Totale                                          591 kB/s |  13 MB     00:23     
Esecuzione del controllo di transazione
Test di transazione in corso
Test di transazione eseguito con successo
Transazione in corso
  Installazione     : gnome-vfs2-2.24.4-10.fc18.x86_64                     1/13 
  Installazione     : libgnome-2.32.1-5.fc18.x86_64                        2/13 
  Installazione     : libbonoboui-2.24.5-4.fc18.x86_64                     3/13 
  Installazione     : gnome-panel-libs-3.6.2-2.fc18.x86_64                 4/13 
  Installazione     : libgnomeui-2.24.5-5.fc18.x86_64                      5/13 
  Installazione     : gnome-sharp-2.24.1-10.fc18.x86_64                    6/13 
  Installazione     : gnome-desktop-sharp-2.26.0-17.fc18.x86_64            7/13 
  Installazione     : gnome-desktop-2.32.0-11.fc18.x86_64                  8/13 
  Installazione     : GConf2-devel-3.2.5-3.fc18.x86_64                     9/13 
  Installazione     : gnome-panel-devel-3.6.2-2.fc18.x86_64               10/13 
  Installazione     : gnome-do-0.9-3.fc18.x86_64                          11/13 
  Installazione     : byzanz-0.3-0.5.fc17.x86_64                          12/13 
  Installazione     : inkscape-0.48.4-1.fc18.x86_64                       13/13 
  Verifica in corso : gnome-panel-devel-3.6.2-2.fc18.x86_64                1/13 
  Verifica in corso : GConf2-devel-3.2.5-3.fc18.x86_64                     2/13 
  Verifica in corso : libgnomeui-2.24.5-5.fc18.x86_64                      3/13 
  Verifica in corso : gnome-desktop-sharp-2.26.0-17.fc18.x86_64            4/13 
  Verifica in corso : inkscape-0.48.4-1.fc18.x86_64                        5/13 
  Verifica in corso : gnome-panel-libs-3.6.2-2.fc18.x86_64                 6/13 
  Verifica in corso : byzanz-0.3-0.5.fc17.x86_64                           7/13 
  Verifica in corso : gnome-vfs2-2.24.4-10.fc18.x86_64                     8/13 
  Verifica in corso : gnome-do-0.9-3.fc18.x86_64                           9/13 
  Verifica in corso : gnome-desktop-2.32.0-11.fc18.x86_64                 10/13 
  Verifica in corso : gnome-sharp-2.24.1-10.fc18.x86_64                   11/13 
  Verifica in corso : libbonoboui-2.24.5-4.fc18.x86_64                    12/13 
  Verifica in corso : libgnome-2.32.1-5.fc18.x86_64                       13/13 

Installato:
  GConf2-devel.x86_64 0:3.2.5-3.fc18                                            
  byzanz.x86_64 0:0.3-0.5.fc17                                                  
  gnome-desktop.x86_64 0:2.32.0-11.fc18                                         
  gnome-desktop-sharp.x86_64 0:2.26.0-17.fc18                                   
  gnome-do.x86_64 0:0.9-3.fc18                                                  
  gnome-panel-devel.x86_64 0:3.6.2-2.fc18                                       
  gnome-panel-libs.x86_64 0:3.6.2-2.fc18                                        
  gnome-sharp.x86_64 0:2.24.1-10.fc18                                           
  gnome-vfs2.x86_64 0:2.24.4-10.fc18                                            
  inkscape.x86_64 0:0.48.4-1.fc18                                               
  libbonoboui.x86_64 0:2.24.5-4.fc18                                            
  libgnome.x86_64 0:2.32.1-5.fc18                                               
  libgnomeui.x86_64 0:2.24.5-5.fc18                                             

Completo!
[root@RickLaptop Riccardo]# echo $?
0
[root@RickLaptop Riccardo]#

Dopo questo comando ancora non si ripristinava e avevo l’errore critico, per cui ho pensato di installare tramite il gestore dei pacchetti, per via grafica, tutti quei pacchetti di cui diceva “Nessuna corrispondenza per l’argomento: …”:

Nessuna corrispondenza per l'argomento: amarok
Pacchetto amarok disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: amarok-libs
Pacchetto amarok-libs disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: amarok-utils
Pacchetto amarok-utils disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: at-spi
Pacchetto at-spi disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: audiocd-kio
Pacchetto audiocd-kio disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: audiocd-kio-libs
Pacchetto audiocd-kio-libs disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: banshee
Pacchetto banshee disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: banshee-musicbrainz
Pacchetto banshee-musicbrainz disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: blueman
Pacchetto blueman disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: dia
Pacchetto dia disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: farstream
Pacchetto farstream disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: gdm
Pacchetto gdm disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: gdm-libs
Pacchetto gdm-libs disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: gnome-python2-bonobo
Pacchetto gnome-python2-bonobo disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: gnome-python2-gconf
Pacchetto gnome-python2-gconf disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: gnome-python2-gnome
Pacchetto gnome-python2-gnome disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: gnome-python2-gnomevfs
Pacchetto gnome-python2-gnomevfs disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: gnome-python2-libegg
Pacchetto gnome-python2-libegg disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: gnome-session
Pacchetto gnome-session disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: gnome-shell
Pacchetto gnome-shell disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: gnome-shell-extension-common
Pacchetto gnome-shell-extension-common disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: gnome-shell-extension-user-theme
Pacchetto gnome-shell-extension-user-theme disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: gnome-tweak-tool
Pacchetto gnome-tweak-tool disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: gnome-xcf-thumbnailer
Pacchetto gnome-xcf-thumbnailer disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: gstreamer-plugins-good
Pacchetto gstreamer-plugins-good disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: ibus-chewing
Pacchetto ibus-chewing disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: k3b
Pacchetto k3b disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: k3b-common
Pacchetto k3b-common disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: k3b-extras-freeworld
Pacchetto k3b-extras-freeworld disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: k3b-libs
Pacchetto k3b-libs disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: kactivities
Pacchetto kactivities disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: kde-runtime
Pacchetto kde-runtime disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: kde-runtime-drkonqi
Pacchetto kde-runtime-drkonqi disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: kde-runtime-flags
Pacchetto kde-runtime-flags disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: kdelibs
Pacchetto kdelibs disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: kde-runtime-libs
Pacchetto kde-runtime-libs disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: kdepimlibs-kxmlrpcclient
Pacchetto kdepimlibs-kxmlrpcclient disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: kplayer
Pacchetto kplayer disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: ksnapshot
Pacchetto ksnapshot disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: libkcddb
Pacchetto libkcddb disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: libkcompactdisc
Pacchetto libkcompactdisc disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: libkipi
Pacchetto libkipi disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: libpurple
Pacchetto libpurple disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: liferea
Pacchetto liferea disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: nautilus-open-terminal
Pacchetto nautilus-open-terminal disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: nepomuk-core
Pacchetto nepomuk-core disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: nepomuk-core-libs
Pacchetto nepomuk-core-libs disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: network-manager-applet
Pacchetto network-manager-applet disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: parole
Pacchetto parole disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: phonon
Pacchetto phonon disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: phonon-backend-gstreamer
Pacchetto phonon-backend-gstreamer disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: pidgin
Pacchetto pidgin disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: pulseaudio-gdm-hooks
Pacchetto pulseaudio-gdm-hooks disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: thunar-vfs
Pacchetto thunar-vfs disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: xfburn
Pacchetto xfburn disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: xmms
Pacchetto xmms disponibile, ma non installato.
Nessuna corrispondenza per l'argomento: xmms-crossfade
Pacchetto xmms-crossfade disponibile, ma non installato.

Alla fine ho riavviato e provato a lanciare byzanz-record, che a questo punto è partito, :slight_smile: …Quindi la chiave deve essere in quest’ultimo elenco, e sarebbe da capire cosa realmente è essenziale per il corretto funzionamento di byzanz ed evitare quell’errore:

(byzanz-record:2350): GStreamer-CRITICAL **: gst_bin_get_by_name: assertion `GST_IS_BIN (bin)' failed
**
ERROR:byzanzencodergstreamer.c:132:byzanz_encoder_gstreamer_run: assertion failed: (gstreamer->audiosrc)

Ho di nuovo invece ora quel warning che mi aveva spinto a disinstallare GConf2 (da non fare!!) per provare a risolvere:

[Riccardo@RickLaptop Byzanz]$ ./OK_chek_byzanz 


byzanz-record non è un processo aperto e verrà ora avviato!


[Riccardo@RickLaptop Byzanz]$ 
** (byzanz-record:2955): WARNING **: Couldn't register with accessibility bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Registrazione avviata. Saranno registrati 86400 secondi...

Non capisco a cosa sia dovuto… C’è un modo che renda possibile scorrere ancora più indietro la cronologia di yum history? Avete idea a cosa si riferisca e a cosa possa essere dovuto? Googlando, finora, non ho trovato ancora una risposta.

Di nuovo grazie,

Riccardo

HEILA’ BOYS!!! RISOLTO!!! :D…alla fine si impara sempre dagli errori :D!!!

Leggete https://mail.gnome.org/archives/gnome-accessibility-devel/2011-June/msg00006.html. Avevo già trovato quella pagina, che tra l’altro ora posso capire perché si trova come seconda voce ricercando “WARNING **: Couldn’t register with accessibility bus: Did not receive a reply. Possible causes include:”, ma prima non capivo cosa volesse dire…finché ho letto “* In theory, at-spi-bus-launcher should be setting the X property the first time it is run, so all of this should not happen. I’m not sure why that isn’t working; need to look into it more. *” e mi si è accesa una lucina leggendo at-spi-bus-launcher: mi sembrava di aver visto qualcosa di simile nel lungo elenco del copia incolla di pacchetti… :slight_smile: ebbene si, e proprio in quell’ultimo elenco che sembrava essere la chiave :smiley: : at-spi, che http://directory.fsf.org/wiki/At-spi ho letto che sembra essere associato al Gnome Accessibility Project, per cui non mi sembrava vitale e ho provato a disinstallarlo:

[Riccardo@RickLaptop applications]$ sudo yum remove at-spi
[sudo] password for Riccardo: 
Plugin abilitati:fastestmirror, langpacks, presto
Risoluzione dipendenze
--> Esecuzione del controllo di transazione
---> Pacchetto at-spi.x86_64 0:1.32.0-9.fc18 settato per essere eliminato
--> Elaborazione dipendenza: at-spi per il pacchetto: 1:xmms-1.2.11-17.20071117cvs.fc18.x86_64
--> Esecuzione del controllo di transazione
---> Pacchetto xmms.x86_64 1:1.2.11-17.20071117cvs.fc18 settato per essere eliminato
--> Elaborazione dipendenza: xmms >= 1:1.2.10-20 per il pacchetto: xmms-crossfade-0.3.14-6.fc18.x86_64
--> Esecuzione del controllo di transazione
---> Pacchetto xmms-crossfade.x86_64 0:0.3.14-6.fc18 settato per essere eliminato
--> Risoluzione delle dipendenze completata

Dipendenze risolte

================================================================================
 Package           Arch      Versione                          Repository  Dim.
================================================================================
Rimozione in corso:
 at-spi            x86_64    1.32.0-9.fc18                     @fedora    987 k
Rimozioni per dipendenze:
 xmms              x86_64    1:1.2.11-17.20071117cvs.fc18      @fedora    4.7 M
 xmms-crossfade    x86_64    0.3.14-6.fc18                     @fedora    316 k

Riepilogo della transazione
================================================================================
Remove  1 Pacchetto (+2 Pacchetti dipendenti)

Dimensione installata: 5.9 M
Procedere [s/N]: s
Download dei pacchetti:
Esecuzione del controllo di transazione
Test di transazione in corso
Test di transazione eseguito con successo
Transazione in corso
  Eliminazione      : xmms-crossfade-0.3.14-6.fc18.x86_64                   1/3 
  Eliminazione      : 1:xmms-1.2.11-17.20071117cvs.fc18.x86_64              2/3 
  Eliminazione      : at-spi-1.32.0-9.fc18.x86_64                           3/3 
  Verifica in corso : 1:xmms-1.2.11-17.20071117cvs.fc18.x86_64              1/3 
  Verifica in corso : at-spi-1.32.0-9.fc18.x86_64                           2/3 
  Verifica in corso : xmms-crossfade-0.3.14-6.fc18.x86_64                   3/3 

Eliminato:
  at-spi.x86_64 0:1.32.0-9.fc18                                                 

Dipendenza rimossa:
  xmms.x86_64 1:1.2.11-17.20071117cvs.fc18                                      
  xmms-crossfade.x86_64 0:0.3.14-6.fc18                                         

Completo!
[Riccardo@RickLaptop applications]$ 

Insieme, come vedete, ha rimosso altri pacchetti sempre di quell’elenco!! :slight_smile: Incrociando le dita, se ora avvio lo script OK_chek_byzanz, non mi dà più il warning :smiley:

Direi finalmente risolto, e scripta manent come importate promemoria dopo la lunga avventura !! :slight_smile:

Ho visto che, mettendo il backslash per lo spazio nel nome, mi viene riportato anch’esso nel nome… Se non lo metto, invece, no.