openSUSEユーザーがAmarokでiPod touchをSyncする方法

どうにかやる方法はないのかなー、と思って探していたら案外あっさり見つかったのでメモメモ。

jailbreakする

手順は割愛。このブログにも1.1.2までは書いています。

BSD SubsystemsとOpenSShインストール

Installer.app経由でインストール。なければCommunity Repositoriesを追加する。

公開鍵認証にする

ローカル側で以下の操作を行う。ssh以降はリモート側。

> ssh-keygen -t rsa
> ssh-copy-id -i ~/.ssh/id_rsa.pub root@(touchのIPアドレス)
> ssh root@(touchのIPアドレス)
# chmod 0755 ~
# chmod 0700 ~/.ssh
# chmod 0644 ~/.ssh/authorized_keys
# vi /etc/sshd_config

viの操作に慣れていない人はnanoの方が使いやすいかもしれない。

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys

sshを再起動(or touchを再起動)

そのままssh接続でrebootコマンド打った方が早い気がする。

Linux側にfuseとsshfsをインストール

おいらが使っているopenSUSEの場合。

> sudo zypper in fuse sshfs

touchをマウントするディレクトリを掘る

> sudo mkdir /media/ipod
> sudo chown (ユーザー名) /media/ipod

sshfsコマンドでtouchをssh経由でマウントする

> sshfs root@(touchのIPアドレス):/var/mobile/Media/ /media/ipod

iPod_Controlと言う名前でiTunes_Controlのシンボリックリンクを作る

> ln -s iTunes_Control iPod_Control

touchをUSBに接続して、touchのUSB接続情報からiSerialを取得する

> sudo lsusb -v | grep -i iSerial

こうすると以下のように出力されるはず。

  iSerial                 1 0000:00:1d.3
  iSerial                 0
  iSerial                 1 0000:00:1d.2
  iSerial                 0
  iSerial                 1 0000:00:1d.1
  iSerial                 3 d9132db8ad11a7aa43dcb74e0739cf4fbbe7994a
  iSerial                 3 0000001F8CBE
  iSerial                 0
  iSerial                 1 0000:00:1d.7
  iSerial                 1 0000:00:1d.0

この場合、d9132db8ad11a7aa43dcb74e0739cf4fbbe7994aがtouchのiSerialになります。

/var/mobile/Media/iTunes_Control/Device/Sysinfoをほげほげする

iTunes_Control/Deviceディレクトリがなかったのでmkdirで作った。当然Sysinfoもなかったので作った。FirewireGuideは上記出力例の場合。iSerialの上16桁の頭に0xを追加した文字列を記入する。

> cd /media/ipod/iPod_Control/
> mkdir Device
> echo "ModelNumStr: xA623" >> /var/mobile/Media/iTunes_Control/Device/SysInfo
> echo "FirewireGuid: 0xd9132db8ad11a7aa" >> /var/mobile/Media/iTunes_Control/Device/SysInfo

fusermountコマンドでアンマウントする

> fusermount -u /media/ipod

Amarokを立ち上げる

なければインストールする。

> sudo zypper in amarok

設定 > Amarokを設定 > メディアデバイス

バイスを追加
カスタマイズ
  • 接続前のコマンド: sshfs root@(touchのIPアドレス):/var/media/Media/ /media/ipod
  • 接続切断後のコマンド: fusermount -u /media/ipod

「デバイス」タブからiPod touchの中身が見れるようになっていることを確認

とりあえず再生、削除、追加を試して、すべて成功するようでしたら大丈夫かと思います。


via.http://planet-soc.com/node/2760 and http://blog.zaq.ne.jp/yamataka/article/289/