Cerca nel blog

Loading

8 gennaio 2011

[Guida] Sincronizzare iPhone/iPod/iPad con linux (libimobiledevice)

Se state leggendo questa pagina è perché siete dei fortunati possessori di un dispositivo Apple di ultima generazione e allo stesso tempo siete utenti linux. Fino a non molto tempo fa, questa era una situazione parecchio critica perché significava essere costretti ad utilizzare iTunes (che io personalmente detesto) su Windows o Mac perché non ne esiste una versione per il pinguino.

A partire dall'agosto 2007, un gruppo di sviluppatori ha iniziato un progetto per insegnare al pinguino a parlare la lingua della frutta, o almeno questo è il motto (Teaching penguins to talk to fruits) di libimobiledevice di cui vi ho già riportato le mie prime impressione in un post precedente

Questa libreria è in grado di gestire completamente il vostro iCoso, dall'attivazione al backup, dalla sincronizzazione delle vostre canzoni alla gestione delle applicazioni che avete acquistato. Inoltre, cosa non trascurabile, linux riconosce l'iPhone come un'interfaccia di rete e quindi lo potete utilizzare facilmente come modem (tethering) e collegarvi ad internet attraverso il piano dati che avete sottoscritto con il vostro gestore. Nella mia recensione precedente vi avevo annunciato qualche problemino di compatibilità con l'ambiente KDE, così per poter effettuare un test più approfondito mi sono installato Ubuntu 10.10 (Maverick). In realtà dovrebbe funzionare ugualmente con ogni altra distribuzione basata su Gnome.

Sommario

  1. Introduzione e prerequisiti
  2. Aggiornamento dei pacchetti
  3. Primi passi
  4. Facciamo un backup
  5. Gestione della musica
  6. Gestione delle fotografie
  7. Gestione delle applicazioni
  8. Altre ed eventuali



Introduzione e prerequisiti

Dopo una normale installazione di Ubuntu 10.10 vi ritroverete già installata la libreria in questione e tutte le sue dipendenze. Qui di seguito trovate una lista di cosa vi serve necessariamente (e ripeto dovrebbe essere già installato) e cosa opzionalmente potete aggiungere.
  • libimobiledevice1 (versione 1.0.1-1). Il cuore della libreria. Non è la versione stabile più recente (1.0.4) che vi serve necessariamente se il vostro iCoso ha una versione del firmware pari o superiore a 4.2.1. (Vedi capitolo Aggiornamento nel seguito).
  • libplist1 (1.3-1). Si tratta di una libreria in grado di gestire i file di preferenze e di configurazione (plist) di Apple. Viene utilizzata da libimobiledevice per la sincronizzazione dei contenuti. E' già aggiornata alla versione più recente disponibile.
  • usbmuxd (1.0.4-1) e la sua libreria. Si tratta del demone che permette al sistema operativo di riconoscere l'iPhone come tale. E' ovviamente necessario. Non è l'ultima versione disponibile (1.0.6), se volete vedere il capitolo Aggiornamento.
  • libimobiledevice-utils (non installato) [opzionale]. Questo pacchetto contiene alcuni programmi da eseguire da linea di comando e che permettono di verificare le informazioni del vostro iCoso. Di default non viene installato, ma io lo consiglio specie perché credo sia necessario se volete eseguire il backup del vostro dispositivo.
  • ifuse (non installato) [opzionale]. Questo pacchetto contiene il modulo Fuse per iCosi, ovvero vi permette di montare manualmente l'iPhone in una directory specifica del vostro file system. A parer mio non vi serve a niente.
  • nautilus-ideviceinfo (non installato) [opzionale]. Niente di fondamentale, questo pacchetto vi permette di visualizzare le informazioni del vostro iCoso direttamente in Nautilus senza andare via terminale. Come ho già detto, niente di fondamentale, ma lo installerei.
Una piccola nota tipografica. I comandi da digitare da terminale sono incapsulati in box da cui potete fare copia e incolla. In alcuni casi, vedrete che il comando è preceduto dal prompt del mio terminale, questo potrebbe differire dal vostro e non dovete copiarlo! Ok? Altra nota, spesso mi riferirò al vostro dispositivo chiamandolo iPhone, non fateci caso, potete sostituirlo con iPod o iPad a vostro piacere.

La situazione per KDE

E' necessario aggiungere una precisazione per gli utenti KDE. Vi accennavo ad alcuni problemi per quanto riguarda questo desktop environment e principalmente sono legati alla gestione della comunicazione verso l'iCoso. Gvfs è il servizio di Gnome che si occupa di montare automaticamente l'iDevice e di stabilire la comunicazione attraverso l'AFC (Apple File Connection). Ovviamente gvfs non c'è in KDE dove per fare la stessa si deve ricorrere ad un wrapper per kio (kio_afc) di cui al momento ne esiste un'implementazione molto basica ancora non impacchettata. Ci sono istruzioni abbastanza dettagliate su come compilarlo sul proprio computer a questo link. Io sono riuscito ad installarlo senza problemi, nel caso voi ne troviate, basta lasciare un messaggio qui sotto.

Una volta installato il kio_afc non aspettatevi che il vostro iPhone appaia automaticamente sul desktop come succede in Gnome, ma potrete esplorare il file system del vostro iphone aprendo una finestra di Konqueror o Dolphin e digitando nella barra degli indirizzi afc://. Purtroppo il wrapper afc è ad uno stadio di sviluppo che definirei embrionale e quindi a parte guardare cosa c'è nell'iphone potrete fare molto poco.


Un'altra cosa che potete provare a fare è installare ifuse. Vi avevo detto essere inutile sotto Gnome, ma magari vi può servire su KDE. Dopo averlo installato create un mounting point (ovvero una directory) da assegnare al vostro iPhone, diciamo $HOME/iphone e poi da terminale digitate questo comando:


ifuse $HOME/iphone


A questo punto nella cartella specificata troverete il contenuto del vostro dispositivo.

Nel mio caso specifico - che però potrebbe essere solo il mio - non sono riuscito a gestire la musica con Amarok (2.3), anzi quando Amarok è in funzione e connetto l'iPhone, il demone usbmuxd non riesce a prenderne il controllo e così nemmeno ideviceinfo riesce a funzionare. C'è un caveat per questo: sul sito ufficiale di Amarak è messo ben in evidenza che bisogna aspettare la versione 2.4 (che per il momento è disponibile solo in beta) per avere una gestione come si deve dei dispositivi con la mela morsicata. E' un peccato perché io personalmente preferisco di gran lunga Amarok a Rhythmbox, ma questa è la vita.

La mia opinione personale è che gli sviluppatori di libimobiledevice siano gnome-centrici (e non c'è niente di male nell'esserlo), il che non vuol dire che la libreria e tutti i suoi tools non funzioneranno mai su KDE, ma che ci vorrà un po' più di tempo.

Aggiornamento dei pacchetti

Come già precedentemente accennato la versione della libreria distribuita con Ubuntu 10.10 non è l'ultima disponibile e potreste incontrare problemi di compatibilità con le ultime versioni di iOS. Vi consiglio di aggiornare dunque. A questo indirizzo trovate il PPA di uno degli sviluppatori da dove recupare il software aggiornato. La stringa apt per aggiungere il repositorio è quella riportata nel box qui sotto.

deb http://ppa.launchpad.net/pmcenery/ppa/ubuntu maverick main

    Non appena aggiunto il repositorio, l'Ubuntu software center dovrebbe aggiornare immediatamente il software già precedentemente installato.

    Primi passi

    Come prima cosa, dopo aver controllato di avere tutti i pacchetti obbligatori e magari anche quelli che vi ho consigliato, possiamo collegare l'iDevice al PC attraverso il cavo USB in dotazione. Se come me state usando una virtual machine, assicuratevi che il controllo della periferica passi dall'host al guest, se siete in dubbio chiedete nei commenti che vi spiego nel dettaglio. Appena collegato, il vostro gingillo Apple potrebbe vibrare un paio di volte, per segnalarvi l'avvenuta connessione al Pc. Questione di istanti e sullo schermo vi dovrebbero comparire una dopo l'altra queste due finestre di dialogo.


    L'icona dell'iCoso vi appare sul desktop
    Io di solito annullo entrambe, ma se volete scaricare direttamente le foto o gestire la musica potete accettare una delle due. La finestra di dialogo vi permette anche di scegliere il programma che preferite. Fin qui tutto chiaro vero? Nel frattempo sul Desktop dovrebbe essere apparsa l'icona con il vostro dispositivo e anche il suo nome e se gli cliccate sopra vi si apre una finestra di Nautilus che vi permette di esplorare il contenuto del vostro iCoso come se fosse una memoria di massa. Ora se premete sull'icona dell'iPhone con il tasto destro e selezionate Proprietà vi si apre una bella finestra di dialogo e, se avete installato Nautilus-ideviceinfo, l'ultima tab contiene tutte le informazioni del vostro cellulare come nella foto qui sotto. Mi sono permesso di mascherare i miei dati sensibili.

    Informazioni sul dispositivo direttamente
    disponibili in Nautilus.

    Facciamo un backup

    (Attenzione! Il backup funziona solo se avete un iDevice con firmware <= 3.1.3. Se avete il fw 4.x avete due scelte: o compilare una versione più nuova della libreria seguendo le istruzioni qui sotto, o attendere che venga rilasciata la prossima versione stabile).

    Come dice il vecchio saggio: better safe than sorry. Così prima di cominciare a smanettare, vi consiglio vivamente di fare un bel backup. Magari l'avrete già fatto da iTunes l'ultima volta che l'avete usato, quindi perché non farlo anche la prima volta che usate linux per gestire l'iPhone. Per quanto ne so, non esiste ancora uno strumento con interfaccia grafica in grado di fare questa operazione, quindi dobbiamo ricorrere al buon vecchio terminale. Il comando che dobbiamo utilizzare è idevicebackup e nella finestra qui sotto vedete l'output del suo help.

    idevicebackup --help
    Usage: idevicebackup [OPTIONS] CMD [DIRECTORY]
    Create or restore backup from the current or specified directory.

    commands:
    backup Saves a device backup into DIRECTORY
    restore Restores a device backup from DIRECTORY.

    options:
    -d, --debug enable communication debugging
    -u, --uuid UUID target specific device by its 40-digit device UUID
    -h, --help prints usage information

    Vedete che lo stesso comando può essere utilizzato sia per effettuare una copia di backup sia per ripristinare una copia eseguita in precedenza. L'argomento facoltativo [DIRECTORY] rappresenta il percorso dove volete salvare / recuperare il vostro backup. La cosa interessante è che idevicebackup è in grado di fare backup incrementali, cioè la prima volta che lo lanciate, eseguirà un backup completo, mentre le volte successive copierà solo quanto è stato modificato.

    Backup con iOS 4.x

    Se stai leggendo questo paragrafo è perché sei molto coraggioso e anche molto impaziente. Hai un iDevice con fw >= a 4 e vorresti farne il backup. Il motivo per cui la versione stabile che avevate già installato non funziona, lo trovate ben spiegato in questo bug report dallo sviluppatore in persona; anche se il titolo si riferisce ad iPhone 4, in realtà è valido per tutti gli iOS 4.x. Visto che questa versione non è ancora stata giudicata stabile e affidabile dagli sviluppatori, utilizzatela a vostro rischio e pericolo.

    Per poter compilare questo codice sorgente dovete installare alcuni pacchetti che di default potrebbero non esserci. Il modo più rapido è attraverso il seguente comando da terminale:

    sudo apt-get install build-essential automake autoconf libtool\
    libgnutls-dev libglib2.0-dev libxml2-dev libreadline5-dev \
    python-dev swig libusbmuxd-dev libplist-dev libplist++ \
    libplist++-dev

    L'operazione potrebbe richiedere qualche minuto e occuparvi qualche megabyte sull'harddisk. Adesso dobbiamo andare a prendere il codice da compilare, per questo usiamo il programma git sempre da linea di comando.

    git clone http://git.sukimashita.com/libimobiledevice.git
    cd libimobiledevice
    git checkout mobilebackup2

    E adesso cominciamo a compilare. Per farlo dovete digitare i comandi che seguono, ma prima di farlo forse vi conviene leggere sotto il box che cosa fatto.

    ./autogen.sh
    ./configure --prefix=$HOME/test
    make
    make install

    • Il primo comando serve per analizzare il vostro sistema e per produrre lo script di configurazione. La sua esecuzione si interrompe quando viene individuata la mancanza di una libreria o di un pacchetto mancante. In quel caso dovete installare il pacchetto e ripetere la procedura.
    • Il secondo comando esegue la vera configurazione della sorgente. In realtà viene eseguito in automatico da autogen.sh se questo termina con successo, ma in tal caso la variabile --prefix viene lasciata al valore di default (/usr/local). Io personalmente preferire mettere il tutto in una directory di test per evitare di fare confusione con le altre librerie installate e perché  quando non volete più usarlo basta rimuovere l'intera cartella.
    • Compila il codice. Potreste vedere dei warning, non preoccupatevi. Si riferiscono al codice e non alla vostra compilazione. Se la procedura va a buon fine arrivate alla fine senza errori, altrimenti vi compare la scritta Error... In quel caso, o sapete cosa e come fare o altrimenti provate a chiedere nei commenti qui sotto.
    • L'ultimo comando installa quanto avete appena prodotto nella directory indicata da prefix. Se avete scelto un "prefix" al di fuori della vostra home, allora dovrete premettere sudo al comando e digitare la vostra password.
    Avete fatto? Ci siete riusciti? Spero di sì. Adesso nella cartella $HOME/test dovreste trovare altre 4 cartelle e in bin trovate tutti i comandi che potete utilizzare. Per fare il backup digiteremo questo comando:

    toto@toto-VirtualBox:$ cd $HOME/test
    toto@toto-VirtualBox:~/test$ bin/idevicebackup4 backup $HOME/Documents/iphone-backup/

    Notate che prima di eseguire il comando mi sono spostato nella directory $HOME/test e che ho specificato il percorso (bin/) perché questa cartella non appartiene al vostro path di esecuzione e notate anche il 4 alla fine del comando. Se tutto va come dovrebbe andare, nel giro di qualche minuto vi troverete nella cartella specificata un backup completo del vostro iDevice.



    Musica maestro

    Gestione della libreria musicale di iPhone
    da Rhythmbox
    Il prossimo passo è quello di giocare con i brani che avete nella vostra libreria sul Pc e quelli sull'iDevice. 
    Aprendo Rhythmbox, l'iDevice vi dovrebbe comparire nella colonna di sinistra sotto la voce dispositivi. Cliccandoci sopra vedrete comparire le vostre playlist e i vostri brani. Li potete ascoltare direttamente sul Pc, schiacciando il tasto play, oppure potete trasferirli nella vostra libreria locale. Per trasferire musica in entrambe le direzioni dovete fare semplicemente quello che il vostro intuito vi dice di fare: ovvero selezionate il brano o i brani che volete copiare e trascinateli dal Pc all'iPhone o viceversa. Dite la verità che iTunes non vi manca nemmeno un po'!

    Finestra di dialogo per la sincronizzazione
    Se sentite la nostalgia della sincronizzazione (che tanto mi ha fatto impazzire con iTunes) potete utilizzarla anche con Rhythmbox, dovete cliccare con il tasto destro su l'icone dell'iPhone e scegliere Sincronizzazione. Vi si apre una finestra di dialogo qui a lato dove potete scegliere quali playlist sincronizzare e quali escludere. Un aspetto positivo rispetto a iTunes (un altro?) è che prima di effettuare l'operazione vi viene detto quanti brani verranno copiati e quanti rimossi dal vostro iCoso. Almeno possiamo evitare brutte sorprese...
    Se cliccate su sincronizza il dispositivo, inizierete il trasferimento dei brani, che potrebbe impiegare anche qualche minuto a seconda della quantità. Durante la sincronizzazione, il display del vostro iCoso si accenderà e spegnerà più volte mostrando la tipica schermata con la scritta "Sincronizzazione in corso". E' tutto normale e non scollegate, mi raccomando!

    Si possono fare le suonerie?

    Certo che si possono fare, come no! La procedura è un po' macchinosa e quindi richiede una guida a sé stante che però trovate già bella pronta sull'unico-lab.

    Gestire i video

    Grazie al suggerimento di un nostro lettore, mi sono interessato del problema della gestione dei video, che sono sincronizzati contestualmente alla musica, ma che richiedono un po' di attenzione. Iniziamo con il chiarire che libimobiledevice si occupa di gestire la comunicazione tra il vostro iDevice e il programma che utilizzate per la gestione dei contenuti multimediali. Altro punto importante da tenere a mente è che iPhone richiede che il vostro video sia in un formato particolare, sia in termini di codifica sia in termini di risoluzione.

    Per questo motivo abbiamo preparato un'altra guida ad-hoc che trovate a questo link!

    Fotografie e immagini

    La gestione delle fotografie è talmente banale che non serve nemmeno avere libimobiledevice. Se volete potete utilizzare il vostro programma preferito per la gestione della vostra libreria fotografica, oppure potete aprire Nautilus, entrare nella cartella DCIM e scaricare le foto dove meglio credete. Non credo serva aggiungere altro, vero?

    Gestione delle applicazioni

    Il prossimo passo è gestire le applicazioni che avete installato sul vostro dispositivo. Personalmente mi piacerebbe poterle archiviare sul mio computer in modo da poterle reinstallare in un secondo momento o in caso di una ripristino totale dell'iCoso. Se questo è anche il vostro desiderio, allora ideviceinstaller è il programma che vi serve. Purtroppo non esiste già impacchettato e bisogna compilarselo a mano, ma tranquilli perché sto per dirvi passo passo cosa fare.

    Iniziamo con installare un po' di pacchetti utili, il modo più rapido è via terminale, quindi apritene uno e digitate quanto riportato nella finestra qui sotto.

    sudo apt-get install build-essential automake autoconf libtool\
    libgnutls-dev libglib2.0-dev libxml2-dev libreadline5-dev \
    libusbmuxd-dev libplist-dev libplist++ libplist++-dev libzip libzip-dev

    A questo punto dobbiamo scaricarci il codice da compilare; usiamo il comando seguente:

    git clone http://git.sukimashita.com/ideviceinstaller.git
    cd ideviceinstaller

    Adesso possiamo partire con la compilazione vera e propria che si compone di 4 passaggi

    ./autogen.sh
    ./configure --prefix=$HOME/test
    make
    make install

    Se avete compilato l'ultima versione di libimobiledevice seguendo le mie istruzioni, allora noterete che il processo è del tutto identico. Vi consiglio di andare a leggervi gli avvertimenti che vi avevo dato in precedenza. Anche in questo caso, sarei propenso ad utilizzare per l'istallazione un prefix diverso da quello di sistema, perché credo che nel giro di pochi mesi, se non settimane, verrà reso disponibile un pacchetto precompilato presso lo stesso repositorio da dove avete già ottenuto gli aggiornamenti. In questo modo, prima di installare il pacchetto rimuovete la directory test e vi siete tolti tutti i problemi.

    Una volta terminata la compilazione, nella cartella $HOME/test/bin troverete il comando ideviceinstaller che diventerà il vostro miglior amico nella gestione delle applicazioni. Andiamo a vedere un piccolo help.

    toto@toto-VirtualBox:$ cd $HOME/test
    toto@toto-VirtualBox:~/test$ bin/ideviceinstaller --help
    Usage: ideviceinstaller OPTIONS
    -U|--uuid UUID Target specific device by its 40-digit device UUID.
    -l|--list-apps List apps, possible options:
    -o list_user - list user apps only (this is the default)
    -o list_system - list system apps only
    -o list_all - list all types of apps
    -o xml - print full output as xml plist
    -i|--install ARCHIVE Install app from package file specified by ARCHIVE.
    -u|--uninstall APPID Uninstall app specified by APPID.
    -g|--upgrade APPID Upgrade app specified by APPID.
    -L|--list-archives List archived applications, possible options:
    -o xml - print full output as xml plist
    -a|--archive APPID Archive app specified by APPID, possible options:
    -o uninstall - uninstall the package after making an archive
    -o app_only - archive application data only
    -o copy=PATH - copy the app archive to directory PATH when done
    -o remove - only valid when copy=PATH is used: remove after copy
    -r|--restore APPID Restore archived app specified by APPID
    -R|--remove-archive APPID Remove app archive specified by APPID
    -o|--options Pass additional options to the specified command.
    -h|--help prints usage information
    -D|--debug enable communication debugging


    Probabilmente la prima cosa che vorrete fare sarà vedere quali sono le applicazioni che avete installato, per dovete usare l'opzione -l e potete scegliere se visualizzare tutte le applicazioni (-o list_all), quelle di sistema (-o list_system) o solo quelle installate da voi (-o list_all). In pratica utilizzate uno di questi comandi:

    toto@toto-VirtualBox:~/test$ bin/ideviceinstaller -l -o list_all
    toto@toto-VirtualBox:~/test$ bin/ideviceinstaller -l -o list_system
    toto@toto-VirtualBox:~/test$ bin/ideviceinstaller -l -o list_user

    Digitando uno di quei comandi, vi apparirà sul terminale una lista con a sinistra una stringa che rappresenta il codice dell'applicazione (APPID) e nella colonna di destra il nome dell'applicazione stessa.

    Il prossimo passo è l'archiviazione delle applicazioni; per farlo abbiamo due opzioni:
    1. archiviarle e lasciarle nella cartella ApplicationArchives sull'iPhone,
    2. archiviarle e trasferirle sul pc
    Ecco qui i due comandi, rispettivamente:

    toto@toto-VirtualBox:~/test$ bin/ideviceinstaller -a pippo.pluto.paperino
    toto@toto-VirtualBox:~/test$ bin/ideviceinstaller -a pippo.pluto.paperino -o copy=$HOME/Documents/archivio-app -o remove

    In questo esempio pippo.pluto.paperino è l'APPID che avete ricavato dal comando list e $HOME/Documents/archivio-app è la cartella sul vostro computer dove andrete a mettere l'applicazione. Attenzione che dovete creare la cartella di destinazione prima di eseguire i comando.

    A questo punto, volendo potete installare un applicazione che avete archiviato sul PC e rimosso dal dispositivo digitando il comando seguente:

    toto@toto-VirtualBox:~/test$ bin/ideviceinstaller -i $HOME/Documents/archivio-app/pippo.pluto.paperino.ipa

    Ricordatevi di sostituire a $HOME/Documents/archivio-app/pippo.pluto.paperino.ipa il percorso completo all'applicazione che avete precedentemente archiviato su Pc.

    Volete archiviare tutte le applicazioni con un solo comando? Eccovi serviti:

    toto@toto-VirtualBox:~/test$ for i in `bin/ideviceinstaller -l -o list_user | awk '{print $1}'` ; do bin/ideviceinstaller -a $i -o copy=/home/toto/Documents/iphone-backup/apps -o remove ; done

    Posso trasferire applicazioni da un iPhone ad un altro?

    Bella domanda. Una volta che avete archiviato le vostre applicazioni con il comando sopra citato, la domanda: posso installarle anche su un altro iCoso usando l'opzione -i del comando ideviceinstaller? La risposta è tecnicamente sì, ho provato ad installare un'applicazione gratuita originariamente presa dal cellulare di mia moglia su quello di mio cognato, ma nonostante l'installazione fosse terminata con successo, l'applicazione non era in grado di funzionare.

    Il motivo è da ricercarsi nel fatto che all'interno del file .ipa, che altro non è che un archivio zippato e di cui  quindi potete facilmente vedere il contenuto, ci sono delle informazioni che riguardano il vostro Apple Store account e che quindi vi identificano univocamente.

    Magari un giorno un qualche hacker troverà il modo per farlo in tutta sicurezza, ma questo argomento esula dallo scopo di questa guida.

    Cosa manca?

    Per farmi veramente felice fino in fondo, vorrei provare ad attivare un dispositivo, aggiornarne il firmware, usare il tethering e sincronizzare i contatti. Tutto questo dovrebbe essere possibile usando libimobiledevice, ma non ho ancora avuto modo di provarlo.

    Se questa guida vi è piaciuta mi fa piacere e vi ringrazio in anticipo se la diffondete. Se avete trovato delle inesattezze, lasciatemi un messaggio e sarò felice di correggerle. Se non vi è piaciuta, me ne rammarico, ma ci posso fare ben poco.

    Chiunque può lasciare commenti su questo blog, ammesso che vengano rispettate due regole fondamentali: la buona educazione e il rispetto per gli altri.

    Per commentare potete utilizzare diversi modi di autenticazione, da Google a Facebook e Twitter se non volete farvi un account su Disqus che resta sempre la nostra scelta consigliata.

    Potete utilizzare tag HTML <b>, <i> e <a> per mettere in grassetto, in corsivo il testo ed inserire link ipertestuali come spiegato in questo tutorial. Per aggiungere un'immagine potete trascinarla dal vostro pc sopra lo spazio commenti.

    A questo indirizzo trovate indicazioni su come ricevere notifiche via email sui nuovi commenti pubblicati.

    74 commenti:

    1. La domanda è: per me sarà più facile passare a linux o imparare a usare bene iTunes? Fare una virtual machine solo per gestire l'iPhone mi sembra esagerato, certo però che iTunes proprio non lo sopporto.

      RispondiElimina
    2. Bene, allora adesso che non devi più usare iTunes ti preparo una lista di canzoni che mi devi caricare sull'iPhone. E le suonerie? Come facciamo a mettere le suonerie?

      Poi guarda che mi dovresti pagare il noleggio del telefono altrimenti come facevi a fare tutti i tuoi esperimenti e scrivere questa guida.

      RispondiElimina
    3. @fabio, come mio papà ha già dimostrato, passare a linux non è un'utopia e tanto meno impossibile. Io se fossi in te non avrei dubbi, però capisco che si tratta di un grande passo

      @tata, ok per nuovi brani. li mettiamo su tutti bene ordinati, con tutti gli id3 giusti e le copertine. Poi magari diamo una sistemata anche al mio vecchio iPod (non touch). Per quello però credo convenga aspettare Amarok 2.4

      Per le suonerie ho già in un'idea. Adesso appena ho un attimo di tempo faccio una prova e poi scrivo una bella guida.

      RispondiElimina
    4. Complimenti per la guida, lavoro certosino Toto. ;)

      Salvata e linkata via mail ad amici che di Linux ne fanno una ragione di vita. :)

      Appena ho tempo ci metto mano pure io.

      Ciao. :)))

      RispondiElimina
    5. Toto, ti ho linkato da me... La guida merita veramente. Bravo. :)

      Ciao.

      RispondiElimina
    6. Grazie per i complimenti, per la diffusione e per il link. Ne sono onorato.

      Ho appena finito di creare la nuova libreria musicale per l'iphone di mia moglie e sto sincronizzando 342 brani. Per il momento l'unico aspetto negativo è che utilizzando ubuntu su una virtual machine, le prestazioni sono quello che sono.

      Non appena ho tempo vado ad aggiungere una sezione sulle suonerie, che mia moglie mi sta stressando l'anima e poi vorrei provare ad aggiornare/ripristinare un iDevice, ma per quello ci vuole molto coraggio.

      L'ultima mia curiosità è relativa alla gestione delle applicazioni. Domanda: se salvo le applicazioni sull'hd, come ho già fatto (1.7 Giga), poi posso trasferirle anche su un altro cellulare? Questa mi tocca proprio provarla...

      RispondiElimina
    7. Complimenti per la guida!!! Ti dico che è l'unica che ho letto fino in fondo!! continua così!

      RispondiElimina
    8. Grazie Roberto! Probabilmente l'aggiornerò con qualche novità appena avrò tempo. A presto...

      RispondiElimina
    9. Ottima guida l'ho seguita e su ubuntu in effetti funziona. L'ho provata su Opensuse (KDE)ma ci sono effettive difficoltà nell'installare i pacchetti.
      Non è che potresti descrivere la stessa procedura anche per ambienti KDE?

      RispondiElimina
    10. Ciao Vincenzo, grazie per i complimenti.

      Passiamo ora alle note negative perché anch'io sono principalmente un utente KDE su Fedora. Aggiungo una sezione all'introduzione spiegando cosa serve fare per gli utenti KDE. Ok?

      RispondiElimina
    11. Ciao Vincenzo, ho aggiunto un paragrafo su KDE che spero ti possa essere utile.

      A presto!

      RispondiElimina
    12. Sto provando a compilare idevicebackup2
      quando lancio "make" mi escono degli errori:

      [code]make
      (CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh /home/enzo/libimobiledevice/missing --run autoheader)
      rm -f stamp-h1
      touch config.h.in
      cd . && /bin/sh ./config.status config.h
      config.status: creating config.h
      config.status: config.h is unchanged
      make all-recursive
      make[1]: Entering directory `/home/enzo/libimobiledevice'
      Making all in src
      make[2]: Entering directory `/home/enzo/libimobiledevice/src'
      CC idevice.lo
      CC debug.lo
      debug.c:49:13: warning: ‘debug_print_line’ defined but not used
      CC userpref.lo
      CC property_list_service.lo
      CC device_link_service.lo
      CC lockdown.lo
      CC afc.lo
      CC file_relay.lo
      CC notification_proxy.lo
      CC installation_proxy.lo
      CC sbservices.lo
      CC mobile_image_mounter.lo
      CC screenshotr.lo
      CC mobilesync.lo
      CC mobilebackup.lo
      CC house_arrest.lo
      CC mobilebackup2.lo
      CC restore.lo
      CCLD libimobiledevice.la
      make[2]: Leaving directory `/home/enzo/libimobiledevice/src'
      Making all in include
      make[2]: Entering directory `/home/enzo/libimobiledevice/include'
      make[2]: Nothing to be done for `all'.
      make[2]: Leaving directory `/home/enzo/libimobiledevice/include'
      Making all in swig
      make[2]: Entering directory `/home/enzo/libimobiledevice/swig'
      /usr/bin/swig -c++ -python -I../include -I/usr/include/python2.6 -I/usr/include -I../src -o imobiledevice_wrap.cxx imobiledevice.i
      make all-am
      make[3]: Entering directory `/home/enzo/libimobiledevice/swig'
      CXX imobiledevice_wrap.lo
      In file included from imobiledevice_wrap.cxx:2846:0:
      ../include/libimobiledevice/mobilesync.h:32:18: fatal error: glib.h: No such file or directory
      compilation terminated.
      make[3]: *** [imobiledevice_wrap.lo] Error 1
      make[3]: Leaving directory `/home/enzo/libimobiledevice/swig'
      make[2]: *** [all] Error 2
      make[2]: Leaving directory `/home/enzo/libimobiledevice/swig'
      make[1]: *** [all-recursive] Error 1
      make[1]: Leaving directory `/home/enzo/libimobiledevice'
      make: *** [all] Error 2
      [/code]

      Cosa potrebbe essere?

      RispondiElimina
    13. Ciao Vincenzo, l'errore è questo:

      glib.h: No such file or directory

      apparentemente non hai installato glib-dev, ma la cosa puzza perché dovrebbe lamentarsi già "configure" di questa mancanza.

      Domanda, stai compilando su Ubuntu o OpenSuse?
      Potresti mettere da qualche parte (per es. www.box.net) l'output di configure e poi mettere qui il link?

      RispondiElimina
    14. Sto compilando su Opensuse, su Ubuntu ho già fatto e funziona.

      Glib è installato e in "configure" non c'è errore.
      Comunque questo è il file:

      http://www.box.net/shared/lc7u0u7a54

      RispondiElimina
    15. Dici bene, configure non da errori, ma in realtà lui cerca solo la libreria (libglib2) non l'include (glib.h).

      Prima cosa verificherei che glib.h veramente non ci sia. Prova con "locate glib.h". Su Fedora si trova in "/usr/include/glib-2.0/glib.h", su OpenSuse sarà qualcosa di simile.

      Il pacchetto RPM che lo contiene dovrebbe essere glib2-devel. Potresti verificare di averlo installato, per esempio digitando come root "rpm -aq | grep glib2"

      Fammi sapere. ciao

      RispondiElimina
    16. Allora ti confermo che si trova in "/usr/include/glib-2.0/glib.h".

      Il pacchetto risulta installato:

      rpm -aq | grep glib2
      glib2-devel-2.24.1-2.5.x86_64
      libpackagekit-glib2-14-0.6.3-5.4.x86_64
      glib2-branding-openSUSE-2.16-53.1.noarch
      glib2-2.24.1-2.5.x86_64

      RispondiElimina
    17. Perfetto. Allora apri Makefile con un editor di testo e cerca la stringa "libglib2_CFLAGS".

      Questa variabile dovrebbe essere "-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include". Se non lo è, prova a metterlo a mano e ricompilare.

      Attendo...

      RispondiElimina
    18. Rieccomi, la stringa è così:

      -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include

      modifico?

      RispondiElimina
    19. Se stai usando (come credo) una distribuzione x86_64 allora direi di no.

      Però di chiederei di aspettare un secondo perché su Fedora anch'io sto avendo dei problemi di compilazione, sempre legati a glib, ma non alla mancanza del file. Dammi un sec, ok?

      RispondiElimina
    20. ok trovato! Per lo meno su fedora sono riuscito a farlo compilare, ma modificando a mano /usr/include/glib2-0/glib/gstdio.h cosa che non consiglierei a nessuno di fare. In pratica ho copiato la definizione di GStatBuf da gstdio.h di Ubuntu incollandola in quello di Fedora. Non so se e quali possano essere le ripercussioni per il resto del sistema.

      Su Fedora il problema è che hanno usato GStatBuf che è definito in quel file include ma solo a partire dalla versione 2.26 di glib2. Tu (su Suse) ed io (fedora) invece stiamo ancora usando 2.24. Invece su Ubuntu c'è 2.26.

      Come te la cavi con l'inglese? Io ho appena aggiunto una nota ad un bug report già aperto (questo). io sono hilbert.

      Aggiungi anche tu che con OpenSuse non compila ugualmente. Non escludo che il tuo problema potrebbe essere differente, ma sicuramente correlato. Purtroppo stando così le cose, non è un problema che possiamo risolvere noi.

      RispondiElimina
    21. Confermo la versione di glib2 2.24 anche su OpenSuse, domani appena trovo 5 minuti aggiungo anch'io una nota al bug report.

      Comunque speriamo che si riesca a risolvere perchè mi da lo stesso problema anche con ideviceinstaller. Sigh!!

      Ciao

      RispondiElimina
    22. Vincenzo ci sei ancora?

      Più penso al tuo problema e più credo che sia indipendente da libimobiledevice, specie perché mi hai detto che succede anche con ideviceinstaller.

      Ti consiglierei di fare una prova semplicissima. Ho caricato su box.net un semplicissimo programma che carica glib.h e scrive Hello. Scaricalo e per compilarlo usa il seguente comando:

      gcc -o test.exe `pkg-config --cflags --libs glib-2.0` test.c

      Fai attenzione ai backthick, ovvero gli apici inversi.

      Fammi sapere, ciao

      RispondiElimina
    23. scusa colpa mia... questo è il risultato di scrivere i commenti dalla macchina:

      http://www.box.net/shared/5947pbjapk

      scusa ancora

      RispondiElimina
    24. Ecco il risultato:

      gcc -o test.exe 'pkg-config --cflags --libs glib-2.0' test.c
      gcc: pkg-config --cflags --libs glib-2.0: No such file or directory
      test.c:1:18: fatal error: glib.h: No such file or directory
      compilation terminated.

      RispondiElimina
    25. attento che hai messo, o almeno hai copiato qui, gli apici sbagliati. Devi usare questi ` è molto importante.

      resto in attesa

      RispondiElimina
    26. Va alla riga successiva ma non esce nulla.

      RispondiElimina
    27. Perfetto allora ha funzionato. Dovresti avere un file test.exe e se scrivi ./test.exe dovresti vedere Hello World.

      Questo significa che glib-2.0 e' ben configurato e glib.h e' stata trovata. Adesso dobbiamo capire perche' il makefile di libimobiledevice non la trova.
      Domani torno a lavorarci sopra, ok?

      RispondiElimina
    28. Perfetto, come ti dicevo glib-2.0 funziona bene. Allora dobbiamo capire cosa non funziona nel makefile di libimobiledevice.

      Ti chiederei di fare la i seguenti passi:

      ./configure --disable-silent-rules
      make

      Il primo comando rifarà la configurazione e preparerà il makefile in modo "verboso". Poi mi copi in un file l'output del make, ok?

      resto in attesa

      RispondiElimina
    29. http://www.box.net/shared/bbhd66f7cg

      RispondiElimina
    30. ops... scusa non avevo visto che avevi aggiunto un commento... guardo subito e ti faccio sapere!

      RispondiElimina
    31. Allora stiamo facendo passi aventi nella comprensione.

      Prova a fare

      ./configure --disable-silent-rules --without-swig
      make

      E poi mi posti l'output verboso del make. Se riesci mettimi in un tar.gz anche tutta la cartella che voglio guardare bene i makefile, ok?

      RispondiElimina
    32. Ecco i file:

      http://www.box.net/shared/kvypkjt8n9
      http://www.box.net/shared/0xnqr7e4lo

      Inoltre ho un problema anche nella compilazione di Kio_afc
      ti posto l'outpot di cmake

      http://www.box.net/shared/qr7fisi57c

      Se continua così passo a ubuntu....

      RispondiElimina
    33. Allora, l'output che ottieni adesso è esattamente quello che ho io con Fedora e per risolverlo apri con un editor

      tools/idevicebackup4.c

      e prima del primo static copia questo codice:


      [code]

      #if defined (_MSC_VER) && !defined(_WIN64)

      /* Make it clear that we mean the struct with 32-bit st_size and
      * 32-bit st_*time fields as that is how the 32-bit GLib DLL normally
      * has been compiled. If you get a compiler warning when calling
      * g_stat(), do take it seriously and make sure that the type of
      * struct stat the code in GLib fills in matches the struct the type
      * of struct stat you pass to g_stat(). To avoid hassle, to get file
      * attributes just use the GIO API instead which doesn't use struct
      * stat.
      *
      * Sure, it would be nicer to use a struct with 64-bit st_size and
      * 64-bit st_*time fields, but changing that now would break ABI. And
      * in MinGW, a plain "struct stat" is the one with 32-bit st_size and
      * st_*time fields.
      */

      typedef struct _stat32 GStatBuf;

      #else

      typedef struct stat GStatBuf;

      #endif

      [/code]

      adesso guardo kio_afc, ma tu fammi sapere l'esito di libimobiledevice, ok?

      RispondiElimina
    34. Il problema con cmake (questo lo conosco molto meglio di autotools) è che non ha trovato uno dei suoi moduli. Hai installato cmake usando un rpm?

      Provare a digitare:

      locate FindKDE

      e postami l'output, ok?

      RispondiElimina
    35. Funziona!
      Ecco i passaggi:

      git clone http://git.sukimashita.com/libimobiledevice.git
      cd libimobiledevice
      git checkout mobilebackup2

      Modificare il file tools/idevicebackup4.c prima del primo static copiare questo codice:
      #if defined (_MSC_VER) && !defined(_WIN64)

      /* Make it clear that we mean the struct with 32-bit st_size and
      * 32-bit st_*time fields as that is how the 32-bit GLib DLL normally
      * has been compiled. If you get a compiler warning when calling
      * g_stat(), do take it seriously and make sure that the type of
      * struct stat the code in GLib fills in matches the struct the type
      * of struct stat you pass to g_stat(). To avoid hassle, to get file
      * attributes just use the GIO API instead which doesn't use struct
      * stat.
      *
      * Sure, it would be nicer to use a struct with 64-bit st_size and
      * 64-bit st_*time fields, but changing that now would break ABI. And
      * in MinGW, a plain "struct stat" is the one with 32-bit st_size and
      * st_*time fields.
      */

      typedef struct _stat32 GStatBuf;

      #else

      typedef struct stat GStatBuf;

      #endif

      ./autogen.sh
      ./configure --disable-silent-rules --without-swig
      make
      su
      make install

      et voilà ecco

      idevicebackup4
      No command specified.
      Usage: idevicebackup4 [OPTIONS] CMD [DIRECTORY]
      Create or restore backup from the current or specified directory.

      commands:
      backup Saves a device backup into DIRECTORY
      restore Restores a device backup from DIRECTORY.

      options:
      -d, --debug enable communication debugging
      -u, --uuid UUID target specific device by its 40-digit device UUID
      -h, --help prints usage information

      Grazie Antonio, sei un grande!!

      RispondiElimina
    36. Ma vieni! Facevo il tifo per te ovviamente! Devo aggiungere che la patch da aggiungere a idevicebackup4.c è necessaria solo per chi ha glib-2.0 vecchia versione.

      Ultima precisazione: io sto avendo dei problemi con il "restore" come avrai visto sul ticket aperto. Non so se anche tu succederà - spero di no - però in caso fammi sapere e aggiungi anche il tuo contributo al bug report.

      Ti chiederei una cortesia, visto che questa guida è stata quasi interamente basata su Ubuntu, mi faresti un breve resoconto di come funziona il tutto su OpenSuse? Grazie

      RispondiElimina
    37. cmake l'ho installato dai repo tramite Yast

      locate FindKDE
      /usr/share/cmake/Modules/FindKDE3.cmake
      /usr/share/cmake/Modules/FindKDE4.cmake

      RispondiElimina
    38. Allora cmake ha ragione di lamentarsi, perché gli mancano i file che cerca. In particolare cerca /usr/share/kde4/apps/cmake/modules/FindKDE4Internal.cmake che su Fedora è incluso in kdelibs-devel e onestamente non so dove sia in OpenSuse. Ho dato un'occhiata al repositorio OpenSuse e non ho trovato un pacchetto con lo stesso nome.

      Però non molliamo proprio ora... adesso scrivo uno scrippettino che lo cerca, ok?

      RispondiElimina
    39. Trovato: devi installare libkde4-devel!

      Fammi sapere

      RispondiElimina
    40. Aggiornamenti:

      Allora kio_afc sono riuscito ad installarlo ma sia da dolphin che konqueror mi dice "protocollo non supportato".
      Mah!!

      Con ifuse funziona ma in modo limitato mentre tramite ssh vedo molte più cartelle all'interno.

      Alla prossima puntata

      RispondiElimina
    41. kio_afc temo sia ancora troppo embrionale per poter essere usato.

      il fatto che con ssh vedi più cartelle (hai fatto il jailbreak con linux) è normale, perché con afc non puoi accedere alla parte privata del FS.

      Torna quando vuoi, è stato un piacere

      RispondiElimina
    42. Non penserai mica di esserti liberato già di me.
      :-)

      C'è ancora la pratica "ideviceinstaller" da risolvere.
      Prossimamente cominciamo.

      Ciao

      RispondiElimina
    43. Installato anche ideviceinstaller

      [code]git clone http://git.sukimashita.com/ideviceinstaller.git
      cd ideviceinstaller[/code]

      [code]./autogen.sh
      ./configure
      make
      su
      make install[/code]


      [code]ideviceinstaller
      Usage: ideviceinstaller OPTIONS
      -U|--uuid UUID Target specific device by its 40-digit device UUID.
      -l|--list-apps List apps, possible options:
      -o list_user - list user apps only (this is the default)
      -o list_system - list system apps only
      -o list_all - list all types of apps
      -o xml - print full output as xml plist
      -i|--install ARCHIVE Install app from package file specified by ARCHIVE.
      -u|--uninstall APPID Uninstall app specified by APPID.
      -g|--upgrade APPID Upgrade app specified by APPID.
      -L|--list-archives List archived applications, possible options:
      -o xml - print full output as xml plist
      -a|--archive APPID Archive app specified by APPID, possible options:
      -o uninstall - uninstall the package after making an archive
      -o app_only - archive application data only
      -o copy=PATH - copy the app archive to directory PATH when done
      -o remove - only valid when copy=PATH is used: remove after copy
      -r|--restore APPID Restore archived app specified by APPID
      -R|--remove-archive APPID Remove app archive specified by APPID
      -o|--options Pass additional options to the specified command.
      -h|--help prints usage information
      -D|--debug enable communication debugging
      [/code]
      Prossimamente vi farò sapere se funziona.
      ;-)

      RispondiElimina
    44. Sembra proprio un buon inizio, almeno compila fino in fondo senza problemi.
      A presto allora!

      RispondiElimina
    45. Installato libirecovery e idevicerestore.

      Tutte le librerie sono installate adesso inizia la fase di test.
      Confermo che ideviceinstaller, per l'installazione delle applicazioni in *.ipa, funziona.

      stay tuned

      RispondiElimina
    46. molto interessante. Potresti elaborare un po' su ideviceinstaller?

      Mi spiego: hai un iPhone jailbroken? hai installato una ipa che avevi backuppato dal tuo telefono e che avevi acquistato su iTunes oppure da altra fonte?

      Grazie

      RispondiElimina
    47. l'iphone è JB ed ho installato un'app .ipa che avevo salvato tempo fa quando usavo ancora windows (C:\Documents and Settings\"USERNAME"\Documenti\Musica\iTunes\Mobile Applications) ma credo che funzioni anche con apps di dubbia ( o certa?) provenienza. Anzi ti confermo che funzia anche con quest'ultime.

      ;-)

      RispondiElimina
    48. mi domando cosa succede se uno con un telefono non JB prova ad installare con ideviceinstaller apps dubbie.

      Io ho verificato che le apps salvate da un iphone non JB possono essere installate anche su un altro iphone (non-JB) ma poi non funzionano.

      Immagino che avendo (avuto o anche) windows, tu abbia fatto il jailbreak da lì. Lo sai che in teoria è possibile farlo anche con linux?

      Non ho mai provato né devicerestore né recovery, perché in caso di problemi, non avendo windows a portata di mano, sarei fregato. Se tu le provi, poi aggiungiamo un capitoletto nella guida.

      Grazie per le info.

      RispondiElimina
    49. Ho provato a fare l'aggiornamento firmware (4.0 -> 4.1) ma ci sono alcuni errori. Devo googlare, non vorrei che idevicerestore sia incompatibile con ios 4.x

      idevicerestore -c *.ipsw
      Found device in Recovery mode
      Identified device as iPhone2,1
      Extracting BuildManifest from IPSW
      ERROR: zip_name_locate: BuildManifesto.plist
      Product Version: 4.1
      Product Build: 8B117
      Variant: Customer Upgrade Install (IPSW)
      This restore will update your device without loosing data.
      Extracting filesystem from IPSW
      [==================================================] 100.0%
      Resetting recovery mode connection...
      Extracting iBEC.n88ap.RELEASE.dfu
      Sending iBEC (104836 bytes)...
      [==================================================] 100.0%
      ERROR: Unable to execute iBEC
      ERROR: Unable to send iBEC
      ERROR: Unable to place device into restore mode

      RispondiElimina
    50. Ciao Vincenzo, ho letto il tuo commento... complimenti per il coraggio!

      Leggendo il comando che hai digitato e il suo output vedo che ci sono almeno due errori. Domanda prova a specificare il file ipsw senza usare l'*.

      Consiglio: iscriviti alla mailing list degli sviluppatori di libimobiledevice e posta lì l'output del tuo problema. Sono sicuro che otterrai una risposta in tempi rapidi. Se ti serve una mano per l'inglese, basta chiedere.

      Tienici infomarti!

      RispondiElimina
    51. Ecco cosa hanno risposto dal sito ufficiale di idevicerestore:
      Not worked for ages. Needs worked on. Known issue

      Non resta che aspettare. Sigh!!

      Mi tocca ancora usare win... per aggiornare il nostro icoso.

      P.S.: Ho provato gtkpod per sincronizzare la musica e funziona montando il device con ifuse, amarok mi crasha se provo ad aprire la cartella musica locale, qualche idea?

      RispondiElimina
    52. Peccato! L'idea di poter fare aggiornamenti di fw e ripristinare l'iOS direttamente da Linux era proprio un bel modo per dire addio ad iTunes. Staremo a vedere come evolve la situazione... Speriamo che sia in tempi rapidi...

      Io con gtkpod ho una storia di amore e odio. Anni fa quando avevo appena acquistato il mio iPod Video 30 Giga (sembra di tornare indietro al medioevo...), gtkpod era di fatto l'unica alternativa per gli utenti linux e diciamo che funzionava anche piuttosto bene.

      Poi è arrivato Amarok 1.x che integrava libpod e che faceva le stesse cose di gtkpod, ma in un ambiente più bello. Nel passaggio da gtkpod a amarok mi si è corrotto il db itunes.db sull'ipod perdendo tutte le cover art e simili.

      Poi è arrvato Amarok 2.x che fino ad oggi (2.3) ha un pessimo supporto - se non nullo - per gli icosi e così sono ritornato nelle braccia di gtkpod.

      In conclusione: uso gtkpod per ipod da Fedora KDE e rhythmbox per iphone da ubuntu. Un bel casino...

      Per quanto riguarda il tuo problema con Amarok, io ne avevo uno simile che addirittura mi impediva di avviarlo. Era legato al db MySQL di cui io avevo una versione troppo nuova. Prova ad avviarlo da linea di comando e vedere cosa ti dice quando muore...

      RispondiElimina
    53. Ma vuoi vedere che....
      http://www.ispazio.net/147512/la-prossima-versione-di-tinyumbrella-permettera-il-ripristino-degli-idevices-anche-senza-itunes

      (basata sul codice di idevicerestore)
      c'è anche per linux.

      E' da approfondire!!

      RispondiElimina
    54. Sapevo esistesse una versione di TinyUmbrella anche per linux perché l'avevo considerato insieme a greenpois0n per fare il jailbreak senza bisogno di windows; però questa mi è nuova...

      Grazie per la news!

      RispondiElimina
    55. ciao...grandissima guida :)
      una domanda...ma per i video? si possono caricare?
      esiste una procedura a parte?

      grazie in anticipo

      RispondiElimina
    56. Ciao MasCir, ottima osservazione.

      A dire la verità avevo notato che Rhythombox non era riuscito a scaricare i video dall'iPhone di mia moglie dicendomi che il formato non era supportato. E non ho mai provato a caricare nessun video dal Pc al telefono.

      Quindi per il momento direi che la risposta è no, però mi devo informare meglio.

      Resta sintonizzato che ti faccio sapere qualcosa...

      RispondiElimina
    57. @Vincenzo, sperando che leggi questi commenti.

      Oggi cercando info per MasCir, ho ritrovato i tuoi bug-report di cui parlavi in un commento precedente. In particolare il bug 201 oltre ad indicarti il vero e proprio tracker per idevicerestore ti suggerisce di non utilizzare l'opzione "-c". Immagino che tu ci abbia provato, vero?

      RispondiElimina
    58. @MasCir, ci sei ancora?

      Allora ho cercato sulla mailinglist di libimobiledevice e come pensavo la gestione della musica e dei video è lasciata al programma specifico (rhythombox, gtkpod, amarok...) mentre la libreria si occupa solamente della comunicazione tra il programma e il dispositivo.

      Ho trovato questo messaggio che è molto simile alla tua richiesta e soprattutto ho trovato anche una risposta in cui si dice che gtkpod riesce a gestire anche i video, mentre per rhythombox ci potrebbe essere qualche problemino.

      Ho appena sequestrato l'iphone a mia moglie, tu intanto prova a seguire i consigli nel link che ti ho postato.

      RispondiElimina
    59. @MasCir, ho aggiunto una sezione Video e un'intera guida. Buon divertimento e torna presto a trovarci!

      RispondiElimina
    60. ottima guida, vorrei solo contribuire.... se si connette il telefono via ssh e semplicissimo installare app anche per chi non ha confidenza con il terminale: basta copiare l'app in private>var>mobile>Documents>Installous>Downloads,una volta copiato il file .ipa aspettare che venga caricato su installous nella sezione download (controllate che la dimensione sia quella del file originario, altrimenti significa che sta finendo di caricarlo), a mio avviso e il modo piu semplice e veloce.
      chiaramante telefono jailbreackato e open ssh sia nel device che nel pc

      RispondiElimina
    61. ciao,volevo chiederti se questo programma funziona anche con ipad e se e' semplice da usare,grazie mille ciao!

      RispondiElimina
    62. ciao anonimo, in teoria a detta degli sviluppatori dovrebbe funzionare anche con ipad. la semplicità è relativa, io non l'ho trovato particolarmente complicato, ma ho la tendenza a non scoraggiarmi alla prima difficoltà.

      Ci sono degli aspetti che sicuramente possono essere migliorati e semplificati, altri che già sono abbastanza buoni. Io lo uso perché non ho windows e iTunes non lo sopporto proprio.

      Tu prova ad usarlo, non ci sono controindicazioni, e se vuoi una mano passa da queste parti.

      ps. in questi giorni sono stati rilasciati parecchi aggiornamenti dei pacchetti e credo che la guida andrebbe aggiornata. Prometto di farlo appena ho tempo!

      RispondiElimina
    63. Ciao,
      direi che una cosa manca (ed è quella che a me serve, guardacaso :)
      come importare immagini su ipad da linux.
      Tra l'altro l'importazione di mp3 tramite rhythmbox non va (Impossibile inviare il file al dispositivo MTP: PTP Layer error 02ff: get_storage_freespace(): could not get storage info) ... peccato ;(

      ciao
      davide

      RispondiElimina
    64. ciao Davide, quando attacchi l'ipad non ti dice se vuoi gestire le foto con qualche programma tipo shotwell?

      per quanto riguarda gli mp3, hai provato a compilarti l'ultima versione disponibile di libimobiledevice?

      RispondiElimina
    65. Questo commento è stato eliminato da un amministratore del blog.

      RispondiElimina
    66. Questo commento è stato eliminato da un amministratore del blog.

      RispondiElimina
    67. Questo commento è stato eliminato da un amministratore del blog.

      RispondiElimina
    68. Questo commento è stato eliminato da un amministratore del blog.

      RispondiElimina
    69. Questo commento è stato eliminato da un amministratore del blog.

      RispondiElimina
    70. Questo commento è stato eliminato da un amministratore del blog.

      RispondiElimina
    71. a me da ipad bloccato anche se non ho codice bah mentre me lo fa caricare

      RispondiElimina

    Chiunque può lasciare commenti su questo blog, ammesso che vengano rispettate due regole fondamentali: la buona educazione e il rispetto per gli altri.

    Per commentare potete utilizzare diversi modi di autenticazione, da Google a Facebook e Twitter se non volete farvi un account su Disqus che resta sempre la nostra scelta consigliata.

    Potete utilizzare tag HTML <b>, <i> e <a> per mettere in grassetto, in corsivo il testo ed inserire link ipertestuali come spiegato in questo tutorial. Per aggiungere un'immagine potete trascinarla dal vostro pc sopra lo spazio commenti.

    A questo indirizzo trovate indicazioni su come ricevere notifiche via email sui nuovi commenti pubblicati.

    Related Posts Plugin for WordPress, Blogger...