В настоящее время многие дружественные к пользователю дистрибутивы уже настроены на загрузку файлов на телефон 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
Связанные статьи:
- Зависание при доступе к DCIM/Camera на Android (57.1%)
- Как в Linux подключить новый диск, разметить и отформатировать разделы (53.2%)
- Инструкция по использованию команды dd (53.2%)
- Какие есть полезные инструменты с интерфейсом командной строки для системных администраторов Linux (50%)
- PhotoRec: восстановление удалённых и потерянных фотографий и файлов на картах памяти и жёстких дисках (50%)
- Как посмотреть текущую частоту процессора в Linux (RANDOM - 22.1%)
kdeconnect
Да, спасибо, что обратили внимание на KDEConnect. Тоже один из вариантов. Наверное, для его установки понадобиться ставить много пакетов из окружения рабочего стола KDE?
Спасибо, в Mageia настройка автоматического подключения телефона решилась установкой неустановленных по умолчанию пакетов:
mtpfs
gvfs-mtp
Посмотрел airdroid - не понравилось. Неизвестно чей сервис, доверия ему нет. Обратил внимание в плэй маркете, что у приложения +10 млн. скачиваний. Для себя сделал вывод чем хуже приложение и чем тупее аудитория, тем больше скачиваний)) к примеру у мобильного приложения маршрутизатора i2p всего 5+ тыс скачиваний, у самого безопасного мессенджера tox 1+ тыс скачиваний, а у тиктока 100+ млрд. скачиваний. Выводы делайте сами)
По идее, все действия Airdroid выполняет в локальной сети и файлы должны передаваться напрямую, без сторонних сервисов и серверов, то есть каких-то рисков утечки не должно быть.
Что касается популярности приложений, то всё более сложное и более специальное имеет закономерно меньшую популярность, то же самое и с книгами, журналами, сайтами.