Подключение iPod к Linux + автоматизация с помощью hotplug

Итак, подключим iPod к Linux и полностью автоматизируем работу с ним. Замечу, что я писал данную статью с плеером shuffle, но, думаю, советы отлично подойдут и к другим плеерам от Apple.

[Сергей Вольхин volhin AT bk.ru]

  • Подключаем наш iPod к usb и убеждаемся с помощью usbview, что он виден в системе.
  • Предварительно создав нужную папку:
    	mkdir /mnt/ipod
    
    добавляем в /etc/fstab строку:
    	/dev/sda1 /mnt/ipod vfat user,noauto,umask=000,iocharset=cp1251,codepage=866 0 0
    
    После чего плеер уже можно использовать как flash-накопитель, смонтировав командой mount /mnt/ipod.
  • Однако песни просто так iPod'у скормить не удасться, их нужно добавить в специальный индекс iTunes.
  • Для этого скачиваем gtkpod с сайта проекта (http://www.gtkpod.org/), либо тянем из репозитария вашего дисрибутива. Интерфейс программы интуитивно понятен, его разбирать нет смысла. В общем доступ к добавлению/удалению музыки уже есть и можно на этом остановиться, но...
  • Теперь приступим к редактированию конфигов hotplug для полной автоматизации всего и вся.

    Открываем файл /etc/hotplug/usb.agent и после фразы:
    	if [ -f $SYSFS/$DEVPATH/manufacturer ]; then
    	    LABEL="USB `cat $SYSFS/$DEVPATH/manufacturer` `cat $SYSFS/$DEVPATH/product`"
    	else
    	    LABEL="USB product $PRODUCT"
    	fi
    
    ...вставляем строчку:
    	echo $PRODUCT > /home/user/id
    
    где соответсвенно /home/user - ваш домашний каталог.

    Вынимаем, а затем опять включаем iPod и в файле /home/user/id получаем нужное значение переменной $PRODUCT (по ней мы и узнаем, что подключился именно iPod, а не, например, usb-сканер).

    У меня в файле появилась следующая строчка: 5ac/1300/1001.
  • Теперь вместо нашей строки
        echo $PRODUCT > /home/user/id
    
    вставляем в файл usb.agent следующую конструкцию:
        #iPod
        if [ "$PRODUCT" = "5ac/1300/1001" ]; then
    	su - -c "/usr/bin/gtkpod --display :0" user &
        fi
    
    "5ac/1300/1001" при необходимости замените на своё значение $PRODUCT.

    Теперь если hotplug увидит ваш iPod он автоматически запустит gtkpod на нужном X-сервере (--display :0) и с не рутовыми, а вашими правами (su -... user &, где user конечно замените на ваше имя в системе).

    Отмечу, что этот (с hotplug) способ довольно универсален и у меня по этому принципу работает ещё и сканер (при его подключении к usb запускается xsane).
  • И последний штрих: в программе gtkpod вибираем Edit -> Edit Preferences и ставим галку на позиции "Handle mounting/umounting of iPod drive"
Вот и всё =)

Теперь, если захотите залить новой музыки, вам просто нужно будет воткнуть iPod в usb-порт. Запустится gtkpod и плеер автоматом примонтируется. Соответственно при выходе из gtkpod плеер также автоматически отмонтируется.

Если что-то непонятно или возникли проблемы, вот ссылки по теме:
  • http://www.google.ru/search?q=linux+ipod
  • http://gentoo-wiki.com/HOWTO_Using_an_iPod_With_Gentoo_Linux
  • http://gentoo-wiki.com/HOWTO_iPod_Shuffle
  • http://ipodlinux.org/Main_Page


Статья взята с сайта OpenNet.

[ опубликовано 05/09/2006 ]

Сергей Вольхин volhin AT bk.ru - Подключение iPod к Linux + автоматизация с помощью hotplug   Версия для печати