zaLinux.ru

Как передавать файлы между Android и Linux


В настоящее время многие дружественные к пользователю дистрибутивы уже настроены на загрузку файлов на телефон Android с Linux и для скачивания фотографий и любых других файлов с телефона на Linux. Поэтому достаточно подключить телефон к компьютеру по USB кабелю, затем в телефоне разрешить обмен данными по USB и в Linux вы увидите содержимое телефона, а также его карты памяти прямо в файловом менеджере (проводнике).

Тем не менее эта функциональность присутствует не на всех версиях Linux, либо вы можете столкнуться с проблемами, что что-то не работает. Эта инструкция поможет вам настроить с нуля обмен файлами между Android и Linux, а также разобраться в возможных проблемах, почему Linux не видит телефон.

Linux не видит Android телефон

Если вы подключили Android телефон к Linux, но ничего не происходит и, в особенности, телефон не спрашивает разрешение на передачу данных, то начните с самого простого — попробуйте использовать другой USB провод. Некоторые кабели просто не способны передавать данные, так как там отсутствуют необходимые для этого контакты. Также выполните такие простые действия как перезагрузка компьютера и перезагрузка телефона.

Выполните команду

mtp-detect

Если там будет показано что-то вроде:

libmtp version: 1.1.15

Listing raw device(s)
No raw devices found.

То есть если будет строка «No raw devices found.», значит нужно обратить внимание на кабель.

Если появится сообщение об ошибке (команда не найдена), то в Debain и производных (Ubuntu, Linux Mint, Kali Linux) установите необходимые пакеты:

sudo apt install mtp-tools libmtp9

В Arch Linux и производных:

sudo pacman -S libmtp

Передача файлов с/на телефон без провода

Прежде всего, отметим, что вам не нужен USB для передачи файлов с телефона и на телефон. Вы можете передавать файлы с/на Android устройства используя Wi-Fi сеть вашего устройства — то есть вам не нужно настраивать роутер или что-то ещё. Просто установите приложение Airdroid на ваше устройство Android. Затем активируйте Мобильную точку доступа Wi-Fi на вашем устройстве и откройте программу Airdroid.

Теперь с вашего компьютера подключитесь к точке доступа, которую создал ваш телефон. На компьютере в любом веб-браузере откройте URL адрес, которую вам даст Airdroid. Будут запрошены разрешения, нажмите Подключить.

Вот и всё! Работает на любом операционной системе, у которой есть веб-браузер, то есть везде.

Настройка автоматического подключения телефона

В настоящее время окружения рабочего стола сами монтируют телефон при его подключению к Linux. Если этого не происходит, значит не хватает каких-то необходимых пакетов.


В Debain и производные (Ubuntu, Linux Mint, Kali Linux) проверьте и, в случае отсутствия, устаовите:

  • libmtp9
  • fuse
  • gvfs
  • gvfs-fuse
  • gvfs-backends

В Arch Linux и производных установите:

  • libmtp
  • fuse2
  • mtpfs
  • gvfs-mtp

Обратите внимание, что в репозиториях Arch Linux также присутствует пакет fuse3 — можете попробовать установить его вместо fuse2.

Подключите телефон к компьютеру и на телефоне разрешить обмен данными:

Если установка пакетов не помогла, попробуйте перезагрузить компьютер, также проверьте файл fuse.conf:

sudo gedit /etc/fuse.conf

Найдите строку с #user_allow_other и убедитесь, что она раскомментирована, то есть выглядит так:


user_allow_other

Настройка автоматического монтирования флешек телефона

Если вы отключили автоматическое монтирование устройств на уровне системы, то вы можете настроить автоматическое монтирования телефона с помощью правил udev.

В выводе команды mtp-detect найдите значение idVendor и idProduct.

Можно использовать следующие команды для ускорения процесса

mtp-detect | grep idVendor
mtp-detect | grep idProduct

Создайте файл с udev правилом:

sudo gedit /etc/udev/rules.d/51-android.rules

в нём разместите следующее содержимое:

SUBSYSTEM=="usb", ATTR{idVendor}=="сюда_впишите_idVendor", ATTR{idProduct}=="сюда_впишите_idProduct", MODE="0666"

К примеру, мои данные:

idVendor: 04e8
idProduct: 6860

Тогда моё правило выглядит так:

SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", MODE="0666"

Чтобы это правило вступило в силу без перезагрузки компьютера выполните:


sudo udevadm control --reload-rules && udevadm trigger

Отредактируйте файл fuse.conf:

sudo gedit /etc/fuse.conf

Найдите строку с #user_allow_other и раскомментируйте её, чтобы получилось:

user_allow_other

Создайте точку монтирования:

sudo mkdir /mnt/android
sudo chmod a+rwx /mnt/android

Рекомендуемые статьи:

5 Комментарии

  1. Sash

    kdeconnect

    1. Alexey (Автор записи)

      Да, спасибо, что обратили внимание на KDEConnect. Тоже один из вариантов. Наверное, для его установки понадобиться ставить много пакетов из окружения рабочего стола KDE?

  2. mndrv

    Спасибо, в Mageia настройка автоматического подключения телефона решилась установкой неустановленных по умолчанию пакетов:

    mtpfs

    gvfs-mtp

  3. d3lta

    Посмотрел airdroid - не понравилось. Неизвестно чей сервис, доверия ему нет. Обратил внимание в плэй маркете, что у приложения +10 млн. скачиваний. Для себя сделал вывод чем хуже приложение и чем тупее аудитория, тем больше скачиваний)) к примеру у мобильного приложения маршрутизатора i2p всего 5+ тыс скачиваний, у самого безопасного мессенджера tox 1+ тыс скачиваний, а у тиктока 100+ млрд. скачиваний. Выводы делайте сами)

    1. Alexey (Автор записи)

      По идее, все действия Airdroid выполняет в локальной сети и файлы должны передаваться напрямую, без сторонних сервисов и серверов, то есть каких-то рисков утечки не должно быть.

      Что касается популярности приложений, то всё более сложное и более специальное имеет закономерно меньшую популярность, то же самое и с книгами, журналами, сайтами.

Добавить комментарий для Alexey Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *