「IOS」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(同期)
(同期)
4行目: 4行目:
 
[[en:iPod]]
 
[[en:iPod]]
 
[[fr:iPod]]
 
[[fr:iPod]]
  +
[[zh-hans:IPod]]
 
{{Related articles start}}
 
{{Related articles start}}
 
{{Related|オーディオブック}}
 
{{Related|オーディオブック}}
 
{{Related|iOS のアップグレード}}
 
{{Related|iOS のアップグレード}}
  +
{{Related|iPhone テザリング}}
 
{{Related articles end}}
 
{{Related articles end}}
この記事では Arch Linux で idevice を使用する方法を説明します。
+
この記事では Arch Linux で '''iPad''', '''iPod''', '''iPhone''' を使用する方法を説明します。
   
  +
== デバイスに接続する ==
== 必要なパッケージ ==
 
[[Thunar]] [[GNOME Files]] iOSスを扱うに{{pkg|gvfs-afc}} と {{pkg|usbmuxd}} をインストールして下さい。インストール後 X を再起動しま。それ Thunar や Files に iOS デバイスが表示されはずです。KDE のファイルマネージャではテストしていせん
+
[[GVFS]] を使用するアプリケーション、ファイルマネージャ ([[GNOME Files]] [[Thunar]]) あるいはメィアプレヤー ([[Rhythmbox]]) {{pkg|gvfs-afc}} パッケージ[[インストール]]ることで iOS デバイスを扱えようになります。パッケージをインストールしたらファイルマネージャやアプリケーションを再起動する必要があり
 
{{Note|全ての依存パッケージは gvfs-afc をインストールする際に同時にインストールされます。}}
 
   
 
== iPod のマウントポイントの変更 ==
 
== iPod のマウントポイントの変更 ==
19行目: 19行目:
 
伝統的に iPod は vfat ファイルシステム (稀に {{ic|hfsplus}}) が入っている普通の USB ストレージデバイスと[[USB ストレージデバイス|同じようにアクセス]]することができます。詳しい説明は[[USB ストレージデバイス]]の記事を見て下さい。
 
伝統的に iPod は vfat ファイルシステム (稀に {{ic|hfsplus}}) が入っている普通の USB ストレージデバイスと[[USB ストレージデバイス|同じようにアクセス]]することができます。詳しい説明は[[USB ストレージデバイス]]の記事を見て下さい。
   
udisks2 が動作している場合、接続された iPod は {{ic|/run/media/''$USER''/''iPod name''}} にマウントされます (古い udisks は {{ic|/media/''<iPod name>''}} を使います)
+
udisks2 が動作している場合、接続された iPod は {{ic|/run/media/''$USER''/''iPod name''}} にマウントされます。
   
 
iPod のボリュームラベルが長くて、空白や大文字・小文字が混じっていると、不便なことがあります。{{pkg|dosfstools}} パッケージの {{ic|dosfslabel}} を使うことでボリュームを簡単に好都合なように変更することが可能です:
 
iPod のボリュームラベルが長くて、空白や大文字・小文字が混じっていると、不便なことがあります。{{pkg|dosfstools}} パッケージの {{ic|dosfslabel}} を使うことでボリュームを簡単に好都合なように変更することが可能です:
41行目: 41行目:
 
ffmpeg2theora を使って MOV ファイルを OGV などの HTML5 動画フォーマットに変換したいということもあるでしょう。作成日のメタデータは変換された動画に含まれないので、以下のようなスクリプトを使う必要があります:
 
ffmpeg2theora を使って MOV ファイルを OGV などの HTML5 動画フォーマットに変換したいということもあるでしょう。作成日のメタデータは変換された動画に含まれないので、以下のようなスクリプトを使う必要があります:
   
  +
{{bc|<nowiki>
find -name "*.MOV" | while read mov
 
  +
#!/usr/bin/sh
do
 
  +
d=$(gst-discoverer-0.10 -v $mov | awk '/datetime:/{print $2}' | tr -d \")
 
  +
find -name "*.MOV" | while read mov
base=${mov%.*}
 
  +
do
if test -f $base.ogv
 
  +
d=$(gst-discoverer-1.0 -v $mov | awk '/datetime:/{print $2}' | tr -d \")
then
 
  +
base=${mov%.*}
touch -d${d} $base.ogv
 
ls -l $base.ogv
+
if test -f $base.ogv
else
+
then
echo $base.ogv missing
+
touch -d${d} $base.ogv
fi
+
ls -l $base.ogv
done
+
else
  +
echo $base.ogv missing
  +
fi
  +
done
  +
</nowiki>}}
   
 
ファイルの日付と時刻が変わらないように {{ic|cp -a}} あるいは {{ic|rsync -t}} を使ってください。
 
ファイルの日付と時刻が変わらないように {{ic|cp -a}} あるいは {{ic|rsync -t}} を使ってください。
60行目: 64行目:
 
{{ic|''&lt;mountpoint&gt;''/DCIM/100APPLE}} から写真や動画を移動することはできますが、古いデータベースを削除して "Camera Roll" データベースを再作成させる必要があります。
 
{{ic|''&lt;mountpoint&gt;''/DCIM/100APPLE}} から写真や動画を移動することはできますが、古いデータベースを削除して "Camera Roll" データベースを再作成させる必要があります。
   
PhotoData$ sudo rm Photos* com.apple.photos.caches_metadata.plist
+
# rm Photos* com.apple.photos.caches_metadata.plist
   
== iPod 用に動画を変換 ==
+
== iOS 用に動画を変換 ==
 
=== 第 5/5.5 世代 ===
 
   
 
=== Handbrake ===
 
=== Handbrake ===
   
[http://handbrake.fr/ Handbrake] は様々なバージョンの iPod 用のプリセットが入っている気の利いたツールです。CLI と GTK 版がそれぞれ {{pkg|handbrake-cli}} と {{pkg|handbrake}} として pacman でインストールできます。
+
[http://handbrake.fr/ Handbrake] は様々なバージョンの iPod 用のプリセットが入っている気の利いたツールです。CLI と GTK 版がそれぞれ {{pkg|handbrake-cli}} と {{pkg|handbrake}} パッケージでインストールできます。
   
 
CLI で使うときは、http://trac.handbrake.fr/wiki/CLIGuide にガイドがあります。
 
CLI で使うときは、http://trac.handbrake.fr/wiki/CLIGuide にガイドがあります。
   
==== DVD to iPod ====
+
=== Avidemux ===
  +
{{Pkg|avidemux-qt}} パッケージをインストールしてください。
'''入手先:''' {{AUR|podencoder}}<br>
 
'''依存:''' aur/gpac mplayer
 
 
詳しいヘルプがついているので、簡単に使えます。
 
 
もしくは [[光学ディスクドライブ#DVD|DVD リッピング]]に書かれている方法を使って、iPod が対応しているフォーマットに変換することもできます。
 
 
==== Video File to iPod ====
 
'''入手先:''' http://thomer.com/howtos/mp4ize<br>
 
'''依存:''' {{pkg|mplayer}}
 
 
iPod や iPhone に対応する mp4 に動画ファイルを変換する Ruby スクリプトです。
 
 
=== 高度な方法 ===
 
 
==== Avidemux ====
 
公式リポジトリから {{Pkg|avidemux-gtk}} または {{Pkg|avidemux-qt}} をインストールしてください。
 
   
 
Avidemux は mp4 ファイルに変換することができます。最大ビットレート @ 700 で動画サイズを 720x480 または 320x240 にすることで上手く動画ファイルを抽出できます。
 
Avidemux は mp4 ファイルに変換することができます。最大ビットレート @ 700 で動画サイズを 720x480 または 320x240 にすることで上手く動画ファイルを抽出できます。
   
==== Mencoder ====
+
=== Mencoder ===
   
公式リポジトリから {{pkg|mplayer}} パッケージを[[インストール]]してください。
+
{{pkg|mplayer}} パッケージを[[インストール]]してください。
   
 
Mencoder の設定は色々あり、iPod で再生できる動画ファイルを作り上げることができます。{{ic|man mencoder}} を参照してください。MPlayer のオプションがエンコーディングにも影響します。
 
Mencoder の設定は色々あり、iPod で再生できる動画ファイルを作り上げることができます。{{ic|man mencoder}} を参照してください。MPlayer のオプションがエンコーディングにも影響します。
103行目: 89行目:
 
iPhone/iPod Touch に対応する動画をエンコードするコマンドの例:
 
iPhone/iPod Touch に対応する動画をエンコードするコマンドの例:
   
mencoder INPUT -o output.mp4 \
+
$ mencoder INPUT -o output.mp4 \
 
-vf scale=480:-10,harddup \
 
-vf scale=480:-10,harddup \
 
-oac faac -faacopts mpeg=4:object=2:raw:br=128 \
 
-oac faac -faacopts mpeg=4:object=2:raw:br=128 \
109行目: 95行目:
 
-ovc x264 -x264encopts nocabac:level_idc=30:bframes=0
 
-ovc x264 -x264encopts nocabac:level_idc=30:bframes=0
   
==== FFMpeg ====
+
=== FFMpeg ===
   
 
公式リポジトリから {{pkg|ffmpeg}} パッケージを[[インストール]]してください。
 
公式リポジトリから {{pkg|ffmpeg}} パッケージを[[インストール]]してください。
115行目: 101行目:
 
様々な設定をサポートしているエンコーダーです。第5世代 iPod 用にエンコードするコマンドの例:
 
様々な設定をサポートしているエンコーダーです。第5世代 iPod 用にエンコードするコマンドの例:
   
ffmpeg -vcodec xvid -b 300 -qmin 3 -qmax 5 -bufsize 4096 \
+
$ ffmpeg -vcodec xvid -b 300 -qmin 3 -qmax 5 -bufsize 4096 \
 
-g 300 -acodec aac -ab 96 -i INPUT -s 320x240 \
 
-g 300 -acodec aac -ab 96 -i INPUT -s 320x240 \
 
-aspect 4:3 output.mp4
 
-aspect 4:3 output.mp4
121行目: 107行目:
 
iPod Touch/iPhone 対応の動画を出力する例:
 
iPod Touch/iPhone 対応の動画を出力する例:
   
ffmpeg -f mp4 -vcodec mpeg4 -maxrate 1000 -b 700 -qmin 3 -qmax 5\
+
$ ffmpeg -f mp4 -vcodec mpeg4 -maxrate 1000 -b 700 -qmin 3 -qmax 5\
 
-bufsize 4096 -g 300 -acodec aac -ab 192 -s 480×320 -aspect 4:3 -i INPUT output.mp4
 
-bufsize 4096 -g 300 -acodec aac -ab 192 -s 480×320 -aspect 4:3 -i INPUT output.mp4
   
 
== iPhone/iPod Touch ==
 
== iPhone/iPod Touch ==
   
  +
デフォルトでは、iPhone も iPod Touch も USB によるマスストレージ機能が存在しませんが、{{Pkg|ifuse}} という名前の FUSE ファイルシステムを使うことで、通常どおりに、USB でデバイスをマウントすることができるようになります。
=== イントロダクション ===
 
デフォルトでは、iPhone も iPod Touch も USB によるマスストレージ機能が存在しませんが、ファイルにアクセスするための方法が2つ存在しています。
 
 
一つ目は FUSE ファイルシステム SSHFS でデバイスをマウントする方法です。jailbreak をする必要があります。最近の iOS バージョンなら [http://www.ijailbreak.com/how-to/how-to-jailbreak-iphone-4s-absinthe-linux/ Absinthe] などを使うことで jailbreak をすることが出来ます。jailbreak した後、デバイスに SSH サーバーをインストールする必要があります。SSH サーバーのインストールは Cydia プログラムによって行うことが可能で、Cydia は jailbreak するときにデバイスにインストールされます。
 
 
もう一つの方法は {{Pkg|ifuse}} という名前の FUSE ファイルシステムを使う方法で、通常どおりに、USB でデバイスをマウントすることができるようになります。この方法はハックを必要とせず、大抵の場合は SSHFS による方法よりも簡単ですが、iFuse ソフトウェアはまだ開発初期段階であるということに注意する必要があります。ただし、最近は安定して使えるようになってきてはいます。
 
   
 
{{Note|最新リリースの {{pkg|libgpod}} や {{pkg|gtkpod}} は iPod Touch や iPhone OS 3.1.x から iOS 4.3.x までサポートしています。制限なく画像や音楽を転送することが可能です。}}
 
{{Note|最新リリースの {{pkg|libgpod}} や {{pkg|gtkpod}} は iPod Touch や iPhone OS 3.1.x から iOS 4.3.x までサポートしています。制限なく画像や音楽を転送することが可能です。}}
137行目: 118行目:
 
次のページを参照: [https://help.ubuntu.com/community/PortableDevices/iPhone]
 
次のページを参照: [https://help.ubuntu.com/community/PortableDevices/iPhone]
   
=== 使用方法 ===
+
=== iFuse ===
  +
{{Note|画面にパスワードをかけている場合、USB インターフェイスからアクセスするにはロックを解除する必要があります。}}
   
  +
{{Pkg|ifuse}}, {{Pkg|usbmuxd}}, {{Pkg|libplist}} パッケージを[[インストール]]してください。
==== SSHFS ====
 
   
  +
その後 {{ic|modprobe fuse}} を実行して fuse モジュールをロードしてください。{{ic|/etc/modules-load.d/}} から既にロードしている場合はロードは不要です。
After this the easiest way to properly initialise a few things on the device's side is with the [http://launchpad.net/ipod-convenience iPod convenience script]. This is available in the AUR as {{AUR|ipod-convenience}}
 
   
  +
以下のコマンドでデバイスがマウントできます (<mountpoint> はマウントしたいディレクトリに置き換えてください)。接続する前にロックを解除するようにしてください。ロックがかかっていると認識されません。
Next do {{ic|modprobe fuse}} to actually load the fuse module. You may also want to add it to your MODULES array in {{ic|/etc/rc.conf}} to have it loaded on boot.
 
  +
# ifuse <mountpoint>
  +
マウントしたら、適当な同期ソフトウェアを使ってマウントポイントを指定することでファイルを転送できるはずです。
   
  +
デバイスをアンマウントするには:
A few things may need changing in the script, depending on your setup. If you do not use sudo, replace:
 
  +
# umount <mountpoint>
sudo lsusb -v -d 05ac: | grep iSerial | awk '{print $3}' | cut -b1-16 | xargs printf "FirewireGuid: 0x%s" >> $MOUNTPOINT/iTunes_Control/Device/SysInfo
 
with:
 
su -c "lsusb -v -d 05ac: | grep iSerial | awk '{print $3}' | cut -b1-16 | xargs printf \"FirewireGuid: 0x%s\" >> $MOUNTPOINT/iTunes_Control/Device/SysInfo"
 
in the file /usr/share/ipod-convenience/mount-umount. You may also need to replace:
 
PROCESS=`ssh root@$IPADDRESS ps x | grep MobileMusicPlayer | grep -v grep | awk '{print $1}'`
 
with:
 
PROCESS=`ssh root@$IPADDRESS ps ax | grep MobileMusicPlayer | grep -v grep | awk '{print $1}'`
 
(I'm not sure under what circumstances this is necessary; it was on my iPod Touch running 2.2.1, and it will not have any adverse affect under other firmware version)
 
   
  +
==== iPhone OS 3.x と 4.x ====
After that, edit the {{ic|/etc/default/ipod-convenience}} file with details of your device's IP address, and create the mount point, which is {{ic|/media/ipod}} by default (make sure to set the permissions correctly if you want it accessible by a regular user)
 
   
  +
{{Pkg|libplist}}, {{Pkg|libimobiledevice}}, {{Pkg|libgpod}}, {{Pkg|usbmuxd}}, {{Pkg|ifuse}} パッケージを[[インストール]]してください。
実際にデバイスをマウントするには、{{ic|ipod-touch-mount}} か {{ic|iphone-mount}} を実行します (どちらも同じことをするのでどちらでもかまいません)。デバイスの root パスワードが二回要求されますが、ファームウェアバージョン 1.1 以上ではデフォルトのパスワードは 'alpine' となっています。同期をするために毎回入力する必要があります (SSH 鍵を使うことでパスワードの入力は省略することが可能です。詳しくは [[SSH 鍵]]を参照)。
 
   
  +
{{ic|modprobe fuse}} を実行して fuse モジュールがロードされていることを確認してください。そして、ユーザーを ''usbmux'' [[グループ]]に追加してください。
==== iFuse ====
 
{{Note|iPad/iPad2 で画面にパスワードをかけている場合、USB インターフェイスからアクセスするにはロックを解除する必要があります。}}
 
   
  +
root で以下のコマンドを実行:
{{Pkg|usbmuxd}}, {{Pkg|libplist}}, {{Pkg|libimobiledevice}}, {{Pkg|ifuse}} をインストールする必要があります。libimobiledevice は ifuse と usbmuxd から依存されているので、次のコマンドで4つのパッケージがインストールできます:
 
# pacman -S ifuse usbmuxd libplist
+
# usbmuxd
  +
以下のようなコマンドでデバイスをマウントできるはずです:
{{ic|modprobe fuse}} を実行して fuse モジュールをロードしてください。{{ic|/etc/modules-load.d/}} から既にロードしている場合は要りません。
 
  +
$ ifuse ~/ipod
  +
ディレクトリはあらかじめ作成してユーザーからアクセスできるようにしてください。
   
以下のコマンドでデバイスマウントできます (<mountpoint> はマウントしたいディレクトリに置き換えてください)接続する前にロック解除するようにしてください。ロックがかかっていると識されせん。
+
デバイスマウントしたら {{ic|iTunes_Control/Device}} ディレクトリを作成してください。そして、UUID 取得してください。usbmuxd の syslog ら確認する、以下のコマンドで確できす:
  +
$ lsusb -v | egrep "iSerial.*[a-f0-9]{40}"
# ifuse <mountpoint>
 
  +
40文字の UUID が表示されます。確認できたら、以下のコマンドを実行してください:
マウントしたら、適当な同期ソフトウェアを使ってマウントポイントを指定することでファイルを転送できるはずです。
 
  +
$ ipod-read-sysinfo-extended <uuid> <mountpoint>.
  +
上記のコマンドで {{ic|iTunes_Control/Device/SysInfoExtended}} という名前のファイルが作成されます。
   
  +
設定できたら、{{pkg|gtkpod}} などお好きなアプリを起動してください。
デバイスをアンマウントするには:
 
  +
# umount <mountpoint>
 
  +
{{Note|gtkpod は root あるいは sudo でのみ動作します。起動画面で止まってしまう場合、{{ic|~/.gtkpod}} フォルダを削除してみてください。ただしフォルダを削除すると gtkpod の設定が消えるので注意してください。}}
   
==== HashInfo ファイルの生成 ====
+
=== HashInfo ファイルの生成 ===
 
iTunes を使ってデバイスを同期したことがある場合、HashInfo ファイルが存在しないというエラーメッセージが表示されます。MacOS か Windows の iTunes から HashInfo ファイルを作成 (iPod を接続) することで問題は解決できます。もしくは、自分でファイルを作成する方法もあります。手順は [http://ihash.marcansoft.com/ こちらのウェブサイト] に記載があります。
 
iTunes を使ってデバイスを同期したことがある場合、HashInfo ファイルが存在しないというエラーメッセージが表示されます。MacOS か Windows の iTunes から HashInfo ファイルを作成 (iPod を接続) することで問題は解決できます。もしくは、自分でファイルを作成する方法もあります。手順は [http://ihash.marcansoft.com/ こちらのウェブサイト] に記載があります。
   
196行目: 177行目:
 
iFuse を使用している場合は、次を入力するだけです:
 
iFuse を使用している場合は、次を入力するだけです:
 
# umount <mountpoint>
 
# umount <mountpoint>
  +
MobileMusicPlayer プロセスをリロードする必要があります。デバイスが jailbreak されていない場合、再起動でスタックします。
You will still need to reload the MobileMusicPlayer process. If your device is not jailbroken, then you are stuck restarting it.
 
   
  +
== iPod Classic/Nano3g ==
=== iFuse - iPhone OS 3.x と 4.x ===
 
{{Warning|このソフトウェアは不安定だとされており、本番環境で使うのは推奨されません。}}
 
   
  +
iPod を設定して FireWire ID を libgpod から探知できるようにする必要があります。手動で FireWire ID を取得してください。
Make sure you already installed base-devel, which contains several programs needed to compile your new components. If you did not, just run:
 
   
  +
* 読み書き可能なマウントポイントとして iPod をマウントしてください。以下の例では {{ic|/mnt/ipod}} を使います。
# pacman -S base-devel
 
   
  +
* 以下のコマンドを実行してシリアル番号を確認してください:
which will install everything you will need.
 
   
  +
# lsusb -v | grep -i Serial
You will need to install {{Pkg|libplist}}, {{Pkg|libimobiledevice}}, {{Pkg|libgpod}}, {{Pkg|usbmuxd}} and {{Pkg|ifuse}}.
 
   
  +
上記のコマンドで {{ic|00A1234567891231}} のような16文字の文字列が出力されます (コロンやハイフンは含まれません)。
Now make sure that you have the fuse module loaded by doing {{ic|modprobe fuse}}, assuming that you do not have it in /etc/rc.conf already.
 
Check if the group "usbmux" has been created and add your user using
 
# gpasswd -a <user> usbmux
 
   
  +
* 番号をメモしたら {{ic|/mnt/ipod/iPod_Control/Device/SysInfo}} を作成・編集してください。ファイルに以下の行を追加します (ffffffffffffffff はメモした16桁の文字列に置き換えてください、最初の 0x は消してはいけません):
To make sure the new rules apply, execute
 
  +
$ udevadm control --reload-rules
 
  +
FirewireGuid: 0xffffffffffffffff
and plug in your iPod/iPhone.
 
   
  +
これで [[Amarok]] や gtkpod で iPod が管理できるようになります。
Run as ROOT:
 
# usbmuxd
 
Now you should the be able to mount your device by running
 
$ ifuse ~/ipod
 
or similar. Make sure the directory used exists and is accessible to your user.
 
   
  +
== 第1・2世代 iPod Shuffle ==
Mount the device and create the iTunes_Control/Device directory. Then, get your UUID. It should be in the syslog from usbmuxd, or you can find it by running
 
$ lsusb -v | egrep "iSerial.*[a-f0-9]{40}"
 
It should be 40 characters long. Then, run
 
$ ipod-read-sysinfo-extended <uuid> <mountpoint>.
 
This should generate a file named {{ic|iTunes_Control/Device/SysInfoExtended}}.
 
   
  +
("巨大な" iPod に比べて) Shuffle の構造は単純なため、他の USB フラッシュ MP3 プレイヤーと同じように扱うことができます。iPod のルートディレクトリには [http://sourceforge.net/projects/shuffle-db/files/latest/download rebuild_db.py] ファイルを保存する必要があります。MP3 ファイルを iPod Shuffle にコピーしたら (サブフォルダも使えます)、以下のコマンドを実行してください [http://shuffle-db.sourceforge.net/]:
Now, start up your favourite app, it should detect the device via libgpod.
 
I recommend using gtkpod-git for the time being, as that is what the libgpod developers seem to be using for debugging purposes.
 
 
{{Note|If gtkpod/gtkpod-git seems to work only from root/sudo while your user only gets the slash screen, you can delete your {{ic|~/.gtkpod}} folder and retry. Note that gtkpod will forget your preferences.}}
 
 
=== Rhythmbox ===
 
 
Rhythmbox は Gnome Virtual File System を使ってモバイルデバイスを検出します。iFuse を使っている場合、{{Pkg|gvfs-afc}} をインストールする必要があります:
 
# pacman -S gvfs-afc
 
 
== iPod Classic/Nano3g ==
 
 
You need to set up the iPod to make libgpod able to find its FireWire ID. For this, you will need to get your FireWire ID manually
 
 
1) Mount the iPod as a rw mount point. In the following example, I will use {{ic|/mnt/ipod}}.
 
 
2 ) Find the serial number by typing
 
 
sudo lsusb -v | grep -i Serial
 
 
this should print a 16 character long string like 00A1234567891231 (it will have no colons or hyphens)
 
 
3) Once you have that number, create or edit {{ic|/mnt/ipod/iPod_Control/Device/SysInfo}}. Add to that file the line below:
 
 
FirewireGuid: 0xffffffffffffffff
 
   
  +
$ python2 /path/to/rebuild_db.py
(replace ffffffffffffffff with the 16 digit string you obtained at the previous step and do not forget the leading 0x before the string)
 
   
  +
== 第4世代 iPod Shuffle ==
Your iPod can now be managed with Amarok or gtkpod.
 
  +
Linux で iPod Shuffle の第4世代を使うには Python ベースのコマンドラインツールである {{AUR|ipod-shuffle-4g}} を使用します。高度なボイスオーバーやプレイリストの(自動)作成なども対応しています。
   
 
== iPod 管理アプリ ==
 
== iPod 管理アプリ ==
*[http://wiki.gnome.org/Apps/Rhythmbox Rhythmbox]
+
*[[Rhythmbox]]
 
**GTK インターフェイス ([[GNOME]])。
 
**GTK インターフェイス ([[GNOME]])。
 
**公式の GNOME プロジェクトに入っています。
 
**公式の GNOME プロジェクトに入っています。

2017年2月11日 (土) 21:41時点における版

関連記事

この記事では Arch Linux で iPad, iPod, iPhone を使用する方法を説明します。

デバイスに接続する

GVFS を使用するアプリケーション、ファイルマネージャ (GNOME FilesThunar) あるいはメディアプレイヤー (Rhythmbox) は gvfs-afc パッケージをインストールすることで iOS デバイスを扱えるようになります。パッケージをインストールしたらファイルマネージャやアプリケーションを再起動する必要があります。

iPod のマウントポイントの変更

伝統的に iPod は vfat ファイルシステム (稀に hfsplus) が入っている普通の USB ストレージデバイスと同じようにアクセスすることができます。詳しい説明はUSB ストレージデバイスの記事を見て下さい。

udisks2 が動作している場合、接続された iPod は /run/media/$USER/iPod name にマウントされます。

iPod のボリュームラベルが長くて、空白や大文字・小文字が混じっていると、不便なことがあります。dosfstools パッケージの dosfslabel を使うことでボリュームを簡単に好都合なように変更することが可能です:

  • 現在のボリュームラベルを取得・確認:
# dosfslabel /dev/sdXY
  • 新しいボリュームラベルを設定:
# dosfslabel /dev/sdXY ArchPod
  • デバイスをアンマウント:
$ udisksctl unmount -b /dev/sdXY
  • もう一度マウントしなおす:
$ udisksctl mount -b /dev/sdXY

/dev/sdxx は iPod の現在のデバイスノードに置き換えてください。

動画や写真のインポート

通常は <mountpoint>/DCIM/100APPLE で動画と写真の両方が見つかります。

HTML5 動画

ffmpeg2theora を使って MOV ファイルを OGV などの HTML5 動画フォーマットに変換したいということもあるでしょう。作成日のメタデータは変換された動画に含まれないので、以下のようなスクリプトを使う必要があります:

#!/usr/bin/sh

find -name "*.MOV" | while read mov
do
    d=$(gst-discoverer-1.0 -v $mov | awk '/datetime:/{print $2}' | tr -d \")
    base=${mov%.*}
    if test -f $base.ogv
    then
        touch -d${d} $base.ogv
        ls -l $base.ogv
    else
        echo $base.ogv missing
    fi
done

ファイルの日付と時刻が変わらないように cp -a あるいは rsync -t を使ってください。

写真をインポートして削除する

<mountpoint>/DCIM/100APPLE から写真や動画を移動することはできますが、古いデータベースを削除して "Camera Roll" データベースを再作成させる必要があります。

# rm Photos* com.apple.photos.caches_metadata.plist

iOS 用に動画を変換

Handbrake

Handbrake は様々なバージョンの iPod 用のプリセットが入っている気の利いたツールです。CLI と GTK 版がそれぞれ handbrake-clihandbrake パッケージでインストールできます。

CLI で使うときは、http://trac.handbrake.fr/wiki/CLIGuide にガイドがあります。

Avidemux

avidemux-qt パッケージをインストールしてください。

Avidemux は mp4 ファイルに変換することができます。最大ビットレート @ 700 で動画サイズを 720x480 または 320x240 にすることで上手く動画ファイルを抽出できます。

Mencoder

mplayer パッケージをインストールしてください。

Mencoder の設定は色々あり、iPod で再生できる動画ファイルを作り上げることができます。man mencoder を参照してください。MPlayer のオプションがエンコーディングにも影響します。

基本的なガイドは MEncoder を見てください。

iPhone/iPod Touch に対応する動画をエンコードするコマンドの例:

$ mencoder INPUT -o output.mp4 \
-vf scale=480:-10,harddup \
-oac faac -faacopts mpeg=4:object=2:raw:br=128 \
-of lavf -lavfopts format=mp4 \
-ovc x264 -x264encopts nocabac:level_idc=30:bframes=0

FFMpeg

公式リポジトリから ffmpeg パッケージをインストールしてください。

様々な設定をサポートしているエンコーダーです。第5世代 iPod 用にエンコードするコマンドの例:

$ ffmpeg -vcodec xvid -b 300 -qmin 3 -qmax 5 -bufsize 4096 \
-g 300 -acodec aac -ab 96 -i INPUT -s 320x240 \
-aspect 4:3 output.mp4

iPod Touch/iPhone 対応の動画を出力する例:

$ ffmpeg -f mp4 -vcodec mpeg4 -maxrate 1000 -b 700 -qmin 3 -qmax 5\
-bufsize 4096 -g 300 -acodec aac -ab 192 -s 480×320 -aspect 4:3 -i INPUT output.mp4

iPhone/iPod Touch

デフォルトでは、iPhone も iPod Touch も USB によるマスストレージ機能が存在しませんが、ifuse という名前の FUSE ファイルシステムを使うことで、通常どおりに、USB でデバイスをマウントすることができるようになります。

ノート: 最新リリースの libgpodgtkpod は iPod Touch や iPhone OS 3.1.x から iOS 4.3.x までサポートしています。制限なく画像や音楽を転送することが可能です。

次のページを参照: [1]

iFuse

ノート: 画面にパスワードをかけている場合、USB インターフェイスからアクセスするにはロックを解除する必要があります。

ifuse, usbmuxd, libplist パッケージをインストールしてください。

その後 modprobe fuse を実行して fuse モジュールをロードしてください。/etc/modules-load.d/ から既にロードしている場合はロードは不要です。

以下のコマンドでデバイスがマウントできます (<mountpoint> はマウントしたいディレクトリに置き換えてください)。接続する前にロックを解除するようにしてください。ロックがかかっていると認識されません。

# ifuse <mountpoint>

マウントしたら、適当な同期ソフトウェアを使ってマウントポイントを指定することでファイルを転送できるはずです。

デバイスをアンマウントするには:

# umount <mountpoint>

iPhone OS 3.x と 4.x

libplist, libimobiledevice, libgpod, usbmuxd, ifuse パッケージをインストールしてください。

modprobe fuse を実行して fuse モジュールがロードされていることを確認してください。そして、ユーザーを usbmux グループに追加してください。

root で以下のコマンドを実行:

# usbmuxd

以下のようなコマンドでデバイスをマウントできるはずです:

$ ifuse ~/ipod

ディレクトリはあらかじめ作成してユーザーからアクセスできるようにしてください。

デバイスをマウントしたら iTunes_Control/Device ディレクトリを作成してください。そして、UUID を取得してください。usbmuxd の syslog から確認するか、以下のコマンドで確認できます:

$ lsusb -v | egrep "iSerial.*[a-f0-9]{40}"

40文字の UUID が表示されます。確認できたら、以下のコマンドを実行してください:

$ ipod-read-sysinfo-extended <uuid> <mountpoint>. 

上記のコマンドで iTunes_Control/Device/SysInfoExtended という名前のファイルが作成されます。

設定できたら、gtkpod などお好きなアプリを起動してください。

ノート: gtkpod は root あるいは sudo でのみ動作します。起動画面で止まってしまう場合、~/.gtkpod フォルダを削除してみてください。ただしフォルダを削除すると gtkpod の設定が消えるので注意してください。

HashInfo ファイルの生成

iTunes を使ってデバイスを同期したことがある場合、HashInfo ファイルが存在しないというエラーメッセージが表示されます。MacOS か Windows の iTunes から HashInfo ファイルを作成 (iPod を接続) することで問題は解決できます。もしくは、自分でファイルを作成する方法もあります。手順は こちらのウェブサイト に記載があります。

データベースの難読化解除

ファームウェアバージョン 2.0 から、Apple は音楽データベースを難読化しています。最近のファームウェアを使っている場合、/System/Library/Lockdown/Checkpoint.xml ファイルを修正することで、昔の、簡単に読むことができるデータベースを有効にできます。以下の行を:

<key>DBVersion</key>
<integer>4</integer>

次のように置き換えてください:

<key>DBVersion</key>
<integer>2</integer>

その後、デバイスを再起動してください。

"ERROR: Unsupported checksum type '0' in cbk file generation!" と表示されて同期が失敗する場合、上記の値を4にしておく必要があります。libgpod は ハッシュ化されたデータベースを使うようです

同期

iPod に対応しているお好きなプログラムを使って下さい。アプリケーションの設定はそれぞれ別ですが、大抵は、マウントポイントをプログラムに指定することで上手く動作するはずです。

同期後は、ipod-touch-umount (または iphone-umount) を実行して SSHFS ファイルシステムをアンマウントしてからデバイス上の MobileMusicPlayer プロセスを再起動させることで、新しい音楽データベースが読み込まれます。

iFuse を使用している場合は、次を入力するだけです:

# umount <mountpoint>

MobileMusicPlayer プロセスをリロードする必要があります。デバイスが jailbreak されていない場合、再起動でスタックします。

iPod Classic/Nano3g

iPod を設定して FireWire ID を libgpod から探知できるようにする必要があります。手動で FireWire ID を取得してください。

  • 読み書き可能なマウントポイントとして iPod をマウントしてください。以下の例では /mnt/ipod を使います。
  • 以下のコマンドを実行してシリアル番号を確認してください:
# lsusb -v | grep -i Serial 

上記のコマンドで 00A1234567891231 のような16文字の文字列が出力されます (コロンやハイフンは含まれません)。

  • 番号をメモしたら /mnt/ipod/iPod_Control/Device/SysInfo を作成・編集してください。ファイルに以下の行を追加します (ffffffffffffffff はメモした16桁の文字列に置き換えてください、最初の 0x は消してはいけません):
FirewireGuid: 0xffffffffffffffff

これで Amarok や gtkpod で iPod が管理できるようになります。

第1・2世代 iPod Shuffle

("巨大な" iPod に比べて) Shuffle の構造は単純なため、他の USB フラッシュ MP3 プレイヤーと同じように扱うことができます。iPod のルートディレクトリには rebuild_db.py ファイルを保存する必要があります。MP3 ファイルを iPod Shuffle にコピーしたら (サブフォルダも使えます)、以下のコマンドを実行してください [2]:

$ python2 /path/to/rebuild_db.py

第4世代 iPod Shuffle

Linux で iPod Shuffle の第4世代を使うには Python ベースのコマンドラインツールである ipod-shuffle-4gAUR を使用します。高度なボイスオーバーやプレイリストの(自動)作成なども対応しています。

iPod 管理アプリ

  • Rhythmbox
    • GTK インターフェイス (GNOME)。
    • 公式の GNOME プロジェクトに入っています。
    • 高速で軽量なインターフェイス。
    • コンピュータと iPod の音楽を管理。
    • ポッドキャストやビデオキャプチャのダウンロードやストリーミング。
    • 曲やポッドキャストの再生待ち。
    • Last.fm の統合。
    • インターネットラジオの視聴。
    • Jamendo と Magnatune のサポート。
    • 音楽 CD の書き込み。
    • アルバムカバーの表示。
    • 歌詞の表示。
    • DAAP 共有。
  • Banshee
    • GTK インターフェイス (GNOME)。
    • Mono を使っているため、やや重く、rhythmbox よりもリソースを消費します。
    • デバイスの同期: 音楽や動画を Android, iPod などに同期、あるいはメディアをインポート。
    • ポッドキャスト: ポッドキャストやビデオキャストをダウンロード・ストリーミング。
    • プレイキュー: 曲や動画、ポッドキャストを再生待ちに追加して自動で DJ。
    • シャッフルモード: アーティストやアルバム、レーティング、あるいは曲の雰囲気などでシャッフル (あるいは Auto DJ)。
    • アルバムアート: 自動的にアートワークを取得。
    • 強力な検索機能、スマートプレイリスト: 聞きたい曲をすぐに・正確に検索。
    • 動画のサポート: Banshee の機能は全て動画でも活用できる。
  • Yamipod
    • GTK インターフェイス (GNOME)。
    • iPod の音楽を管理するだけの超軽量なアプリケーション (コンピュータの音楽は管理できない)。
    • 簡単なレーティングの編集。
    • PC から iPod に同期。
    • ニュース RSS やポッドキャストを iPod にアップロード。
    • Last.fm サポート。
    • playlist サポート。
  • gtkpod
    • GTK インターフェイス (GNOME)
    • 既存の iTunesDB を読み込む (iPod の再生回数や評価、On-The-Go プレイリストなどをインポート)。
    • MP3, WAV, M4A (保護されてない AAC), M4B (オーディオブック), ポッドキャスト, 動画ファイル (単体ファイル, ディレクトリ, プレイリスト) を iPod に追加。'bashpodder' や 'gpodder' などのポッドキャストをダウンロードするにはサードパーティの製品が必要です。
    • カバーアートの表示・追加・修正。
    • ローカルデータベースに曲を全て追加して、アルバムやアーティスト、あるいはジャンルでハードディスクの中身を閲覧。トラックは iPod/Shuffle に簡単にドラッグできます。
    • プレイリストの作成・修正、スマートプレイリスト。
    • ID3 タグのエンコーディング文字セットを選択できます。デフォルトではロケールの設定が使われます。
    • テンプレートを指定することでファイル名からタグ情報を取得 (アーティスト, アルバム, 曲名...)。
    • 曲を追加する際に重複を検出 (任意)。
    • iPod からトラックを削除・エクスポート。
    • ID3 タグの修正 -- 元のファイルでも変更されます (任意)。
    • ファイルの ID3 タグを戻す (元のファイルのタグを変更した場合)。
    • ディレクトリの同期。
    • トラックの音量のノーマライゼーション (mp3gain や replay-gain タグを使用)。
    • iTunesDB を更新して iPod に追加した曲を書き出す。
    • オフラインでも動作し後から iPod とプレイリストや曲を同期できます。
    • korganizer/kaddressbook/Thunderbird/evocalendar/evolution/webcalendar... などのデータを iPod にエクスポート (他のプログラムのスクリプトを追加できます)。
  • Floola
    • GTK インターフェイス (GNOME)。
  • Amarok
    • KDE/qt インターフェイス。
  • qPod
    • KDE/qt インターフェイス。
    • GNUpod のフロントエンド。
  • GNUpod
    • コマンドラインのみ。
  • jakpod
    • JakPod は Java で書かれており、音楽や動画ファイルを iPod にコピーすることができます。
    • 第6世代 iPod Nano サポート。
    • jakpodAUR

参照