Avantes notes

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Как подружить Nexus 4 и Gentoo Linux

Печать
Решил написать статью о том, как быстро и просто подружить Google nexus 4 с Gentoo linux. Данный способ скорее всего будет работать с большинством смартфонов/планшетов в режиме MTP. Для монтирования будет использоваться sys-fs/mtpfs, но водить в ручную команды досточно утомительное занятие, поэтому я написал небольшой скрипт на bash с использованием GTK+ библиотеки gnome-extra/zenity которая будет выводить диалоговые окна.
Приступим:
Устанавливаем mtpfs и zenity
View source
# emerge --ask mtpfs zenity
Добавляем пользователя в группу plugdev
View source
# gpasswd -a YOUR_USER plugdev
Правим /etc/fuse.conf, раскомментируем:
View source
user_allow_other
Теперь создаем файл скрипта в удобной для себя директории (у меня это ~/nexus/mtp.sh) и вставляем туда следующее(либо просто сохраняем из вложения):
mtp.sh
View source
  1. #!/bin/bash
  2. DIALOG='/usr/bin/zenity'
  3. MOUNTDIR='/home/rozen/nexus'
  4. FMANAGER='/usr/bin/thunar'
  5. MTPFS='/usr/bin/mtpfs'
  6. MKDIR='/bin/mkdir'
  7. LOGFILE='/home/rozen/scripts/mountmtp.log'
  8. FUSEMOUNT='/usr/bin/fusermount'
  9.  
  10.  
  11. if [ ! -d $MOUNTDIR ]; then
  12.     $MKDIR $MOUNTDIR >> ${LOGFILE} 2>&1
  13.     if [ ! -d $MOUNTDIR ]; then    
  14.         $DIALOG --error --text "Creating folder was failed. Check right on $MOUNTDIR"
  15.         exit 1
  16.     fi
  17. fi
  18.  
  19. if [ "$1" = "mount" ]; then
  20.     $MTPFS -o allow_other ${MOUNTDIR} >> ${LOGFILE} 2>&1
  21.     if [ "$?" -ne 0 ] ; then
  22.         $DIALOG --error --text "Phone was not mounted. Logfile can help you"
  23.         exit 2
  24.     else
  25.         $DIALOG --info --text "Phone was mounted in $MOUNTDIR"
  26.         $FMANAGER ${MOUNTDIR}
  27.     fi
  28. elif [ "$1" = "umount" ]; then
  29.     $FUSEMOUNT -u ${MOUNTDIR} >> ${LOGFILE} 2>&1
  30.     if [ "$?" -ne 0 ] ; then
  31.         $DIALOG --error --text "Phone was not umounted. Try later"
  32.         exit 1
  33.     else
  34.         $DIALOG --info --text "Phone was umounted"
  35.     fi
  36.  
  37. else
  38.     echo "USE: <script> mount or umount"
  39.     exit 3
  40. fi

Теперь немного поясню по работе скрипта. В начале скрипта задаются переменные для исполняемых файлов (если у вас Gentoo то скорее всего исполняемые файлы будут там же) и каталог куда монтировать MTP и куда писать логи.
Изначально проверяется наличие каталога монтирования и если его нет, то попытка создать. За тем в зависимости с каким параметром был запущен скрипт будет выполняться монтирование или демонтирование носителя.
Не много скриншотов для того, чтобы представить ка это выглядит:
mounted
Сразу после сообщения об монтировании открывается файловый менеджер со содержимым носителя.

umounted
Для того, чтобы было удобно монтировать/демонтировать добавил в панель xfce4 кнопки запуска скриптов, отдельно для монтирования и демонтирования, отличаются только иконками и параметром mount и umount соответственно.


На этом все.
Вложения:
Скачать файл (mtp.bz2)mtp.sh[ ]0.5 Kb