você está aqui: Home  → Arquivo de Mensagens

Utilize seu iPad/iPhone/IPod Touch na plataforma GNU/Linux

Colaboração: Alessandro de Oliveira Faria

Data de Publicação: 17 de outubro de 2010

Ao receber o iPad fiquei frustrado ao perceber que o iTune (software utilizado para transferência de dados com iPad e outros devices da APPLE) não está disponível para a versão Linux. Então não restou outra saída a não ser pesquisar as soluções alternativas no mundo open source.

A seguir dicas para não precisar recorrer aos sistemas operacionais proprietários. Vale a pena mencionar que para o iPod Touch e iPhone podemos contar com o software Rhythmbox, gtkpod e Amarok (vide vídeo abaixo).

Sobre o iPad

iPad é um dispositivo em formato tablet produzido pela Apple Inc. O aparelho foi anunciado em 27 de janeiro de 2010, em uma conferência para imprensa no Yerba Buena Center for the Arts em São Francisco.[1] Meses antes de seu anúncio, surgiram rumores do nome do aparelho: iSlate, iBook e iTablet, entre outros.
O iPad foi apresentado como um dispositivo situado a meio caminho entre um notebook e um smartphone. O dispositivo utiliza o mesmo sistema operacional do iPhone e é voltado para o público leigo, devido ao tipo de interface oferecido.
A recepção inicial do iPad foi bastante misturada, com muitos entusiastas ficando contra o aparelho devido ao que percebem como limitações e com outros tantos demonstrando grande empolgação com facilidade de interação que a interface demonstra.
As especificações técnicas incluem redes sem fio Wi-Fi 802.11n e Bluetooth 2.1, tela touch de 9,7 polegadas, acelerômetro e bússola. O chip foi identificado pela Apple como A4, de 1GHz. Seu peso é de 680 gramas e sua espessura é de 0,5 polegadas (1, 27cm). Bateria para 10 horas de vídeo e 1 mês de standby. Possui diferentes versões com espaços de 16, 32 e 64 GB.

Fonte: IPad - Wikipédia

Download dos pacotes

Requisitos de software

A seguir os programas necessários para prosseguir neste tutorial e alguma dicas para instalação para as distribuições SUSE, Mandriva, Ubuntu e Fedora.

  • Fuse

    FUSE ou Filesystem in Userspace. Ele é um projeto que permite o roteamento do pedidos do sistema de arquivos através do VFS (abstração do sistema de arquivos). Um bom exemplo sobre o Fuse é o GmailFS, que permite "montar" sua conta do Gmail, acessando-a como se fosse um HD externo.

  • libimobiledevice e iFUSE

    É uma biblioteca com protocolo de comunicação para iPhone, iPod Touch e iPad sem dependência de biblioteca da Apple. O iFuse permite montar o seu iPad no seu sistema de arquivos.

  • Calibre

    Uma suíte completa para criar, manipular e publicar ePub (livro eletrônico), ou seja, conversor, leitor e editor de arquivos ePub.

Dicas de download

Abaixo os links para download dos códigos fonte:

Saiba mais

Download para as principais distros

Mão na massa

Acredito que em breve o software Rhythmbox, gtkpod e Amarok serão 100% funcionais com iPad como são atualmente compatíveis com os telefone iPhone e iPod Touch. Veja o vídeo a seguir para entenderem onde quero chegar. Mas por enquanto vamos aos recursos disponíveis.

Conversão de vídeos: se você possui vídeos no padrão WMV, DIVX, XVID e outros, utilize a linha abaixo para torná-lo compatível com o formato de reprodução do iPad.

  $ ffmpeg -i [NOME-ARQ] -s 640x480 -vcodec mpeg4 -b 2000k -acodec
  aac -ac 1 -ar 16000 -r 13 -ab 32000 -aspect 3:2 NOME-ARQ-FINAL.mp4

Transferindo fotos: utilize o utilitário iFuse para montar o iPad na pasta especificada do filesystem. Para tal operação, basta criar a pasta e executar o comando conforme o exemplo a seguir.

  $ mkdir iPad
  $ ifuse iPad

Verifique se a montagem ocorre com sucesso.

  $ df
  
  Sist. Arq.  1K-blocos      Usad Dispon.   Uso% Montado em
  /dev/sda6   22705980  14327520   7224996  67% /
  udev        2028528       684   2027844   1% /dev
  /dev/sda3   65538604  36285228  29253376  56% /windows
  //ifuse       30443104   1333056  29110048   5% /home/cabelo/iPad//

Se tudo estiver funcionando corretamente, copie as fotos para a pasta 100APPLE como no exemplo abaixo:

  $ cp /home/cabelo/imagem/*.JPG  iPad/DCIM/100APPLE/

ATENÇÃO: As imagens devem possuir obrigatoriamente o nome IMG_[NUMERO_SEQUENCIAL].JPG. Vejam a saída do comando ls logo a seguir.

  $ ls iPad/DCIM/100APPLE/
  IMG_0001.JPG
  IMG_0004.JPG
  IMG_0007.JPG
  IMG_0011.JPG
  IMG_0014.JPG
  IMG_0017.JPG
  IMG_0020.JPG
  IMG_0023.JPG
  IMG_0026.JPG
  IMG_0002.JPG
  IMG_0005.JPG
  IMG_0008.JPG
  IMG_0012.JPG
  IMG_0015.JPG
  IMG_0018.JPG
  IMG_0021.JPG
  IMG_0024.JPG
  IMG_0003.JPG
  IMG_0006.JPG
  IMG_0009.JPG
  IMG_0013.JPG
  IMG_0016.JPG
  IMG_0019.JPG
  IMG_0022.JPG
  IMG_0025.JPG

Comandos úteis

A seguir comandos úteis para utilizar na linha de comando. Função de backup, restore, listagem do dispositivo conectado, e até obter screenshot é possível na linha de comando.

Backup e restore

  $ /usr/bin/idevicebackup backup /home/cabelo/iPad/
  $ /usr/bin/idevicebackup restore /home/cabelo/iPad/

Gerando screenshots

  $ /usr/bin/idevicescreenshot
  Screenshot saved to screenshot-2010-06-28-17-21-24.tiff

Exibindo log de operações

  $ /usr/bin/idevicesyslog
  =====================
  ASL is here to serve you
  >
  > Jun 28 14:24:00 unknown Stanza[2683] <Warning>: Stanza exiting cleanly

Listando o device conectado:

  $ /usr/bin/idevice_id -l
  1f0970a04333c665050d608aef364d1ed1c03636

Informações sobre o device

  $ /usr/bin/ideviceinfo
  ActivationPublicKey: LS0tLw1CRUdJwiBeU0rgUFVWTEl
  ActivationState: Activated
  ActivationStateAcknowledged: true
  BluetoothAddress: e8:03:83:90:21:e2
  BuildVersion: 7B367
  CPUArchitecture: armv7
  DeviceCertificate: LS0tLS1CRUdJTiBDIO
  DeviceClass: iPad
  DeviceColor: unknown
  DeviceName: iPad de Ricardo Alexandre Lemos Valverde
  DevicePublicKey: AaS0tLS1CRUdJTiBSU0EgUFV
  DieID: 3747037828049680404
  FirmwareVersion: iBoot-817.28
  HardwareModel: K48AP
  HostAttached: true
  MLBSerialNumber: J60152510G9YG
  ModelNumber: MB293
  PasswordProtected: false
  ProductType: iPad1,1
  ProductVersion: 3.2
  ProductionSOC: true
  ProtocolVersion: 2
  RegionInfo: LL/A
  SBLockdownEverRegisteredKey: false
  SDIOManufacturerTuple:
  IOSDIOManufacturerID: 720
  IOSDIOProductID: 17193
  SDIOProductInfo: P=K48 m=u80
  SIMStatus: kCTSIMSupportSIMStatusReady
  SerialNumber: V5016EVDZ39
  SoftwareBehavior: EQAAAAAAAAAQAAAAABBBBB==
  SoftwareBundleVersion:
  SomebodySetTimeZone: true
  SupportedDeviceFamilies[2]:
  0: 1
  1: 2
  TimeIntervalSince1970: 1277742526
  TimeZone: America/Sao_Paulo
  TimeZoneOffsetFromUTC: -10800.000000
  TrustedHostAttached: true
  UniqueChipID: 223922014622
  UniqueDeviceID: 1f0972a04222c665050d608aef364d1ed2c23611
  Uses24HourClock: false
  WiFiAddress: e8:06:82:90:21:e2
  iTunesHasConnected: true

Criando a sua biblioteca ePUB (servidor de conteúdo)

Para instalar livros sem precisar da App Store, a seguir os procedimentos para montar o seu próprio servidor de livros, inclusive criados ou editados por você. Em primeiro lugar instale o software Calibre (lembra dele?). Veja as instruções para instalação passo-a-passo do Calibre ePub - O MP3 dos livros.

Com o programa Calibre em execução, adicione e/ou selecione os livros ou gibis que serão enviados para o iPad ou iPhone e logo em seguida clique no botão preferências. No formulário preferências, selecione o item Servidor de Conteúdo, define a porta de comunicação, login, senha e clique no botão "Iniciar Servidor".

Agora entre no ícone APP Store no iPad, selecione e instale o programa Stanza. Após a instalação, execute-o e clique no ícone "Get Books" conforme a ilustração a seguir.

Agora, na aba "Share", clique no ícone "+" para adicionar um servidor de conteúdo.

Preencha os campos Name e URL com um nome para o seu servidor de conteúdo, na URL o IP seguido da porta seleciona e configurada anteriormente no software calibre.

Se tudo estiver funcionando corretamente, teremos na lista de "Sources Books" do novo servidor cadastrado. Para conectar, clique no servidor recém cadastrado.

Informe no formulário "Secure Catalog" o login e senha definida nos parâmetros do servidor de conteúdo no software calibre.

Após a autenticação, visualizaremos a lista dos livros e gibis disponíveis. Selecione o documento desejado, clique em Download e pronto!

Opções como iBook só funcionarão com o iTune no Mac e Linux (por enquanto). Pretendo desenvolver um aplicativo para inserir mídias no iPad na linha de comando, pois as mídias inseridas no iPad são registros inclusos em bancos SQLite3. Para inserir mídias MP3 ou MP4 foi preciso utilizar o comando insert manualmente. A seguir uma breve explicação.

Entrando na pasta iTunes Library.itlp, encontramos diversos bancos, entre eles o Locations.itdb com as tabelas base_location (path da localização da mídia) e location (as mídias na integra).

  $ cd IPAD/iTunes_Control/iTunes/iTunes\ Library.itlp/
  $ sqlite3  Locations.itdb
  sqlite> .table
  base_location  location
  sqlite>

Abaixo a estrutura da tabela location e base_location:

  sqlite> .schema  location
  CREATE TABLE location (
  item_pid INTEGER NOT NULL,
  sub_id INTEGER NOT NULL DEFAULT 0,
  base_location_id INTEGER DEFAULT 0,
  location_type INTEGER,
  location TEXT,
  extension INTEGER,
  kind_id INTEGER DEFAULT 0,
  date_created INTEGER DEFAULT 0,
  file_size INTEGER DEFAULT 0,
  file_creator INTEGER,
  file_type INTEGER,
  num_dir_levels_file INTEGER,
  num_dir_levels_lib INTEGER,
  PRIMARY KEY (item_pid,sub_id));
  
  sqlite> .schema  base_location
  CREATE TABLE base_location (id INTEGER NOT NULL, path TEXT, PRIMARY KEY (id));

O iTunes é todo baseado nestas tabelas, reparem que mídias mp3, vídeo mp4 e livros são incluso no aparelho com um simples comando insert.

  sqlite> select * from location;
  4610245287509869689|0|1|1179208773|F36/JJHG.mp3|1297101600|1|298737443|4473555||||
  -6283167265674541040|0|1|1179208773|F45/IJDM.mp3|1297101600|1|298737443|4063119||||
  -5642726876562733935|0|1|1179208773|F41/IIAE.mp4|1297101856|2|298952628|21454398||||
  
  sqlite> select  * from base_location;
  1|iTunes_Control/Music
  4|Podcasts

Com estas dicas é possível tornar o seu iPad mais independente... Como sempre menciono: Colaborar atrai amigos, competir atrai inimigos...

Fonte: http://www.vivaolinux.com.br/artigo/Utilize-seu-iPad-iPhone-IPod-Touch-na-plataforma-GNU-Linux

Alessandro Faria é sócio-proprietário da empresa NETi TECNOLOGIA fundada em Junho de 1996 (http://www.netitec.com.br), empresa especializada em desenvolvimento de software e soluções biométricas, Consultor Biométrico na tecnologia de reconhecimento facial, atuando na área de tecnologia desde 1986 assim propiciando ao mercado soluções em software. Leva o Linux a sério desde 1998 com desenvolvimento de soluções open-source, membro colaborador da comunidade Viva O Linux, openSUSE Member, mantenedor da biblioteca open-source de vídeo captura entre outros projetos.


Veja a relação completa dos artigos de Alessandro de Oliveira Faria

 

 

Opinião dos Leitores

Edivaldo
22 Nov 2010, 11:34
Muito bom, aposto que logo sai um app estilo itunes e não me surpreenderia se fosse de autoria do cabelo.
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script