Подключение Android по MTP в OpenBSD
Опубликовано 23.02.2024 в OpenBSD
... на четвертые сутки зоркий индеец Соколиный Глаз заметил, что устройства на Android давным-давно уже разучились эмулировать флешку. Честное слово, с этими вездесущими безлимитными и высокоскоростными (ну, условно) интернетами в дикой, отсталой России - я уже много лет как забыл о такой процедуре, как подключение смартфона к компьютеру кабелем с целью передачи файлов. Ну вот не нужно оно - сделанные телефоном снимки автоматически синхронизируются с облаком, всякой там музыки, кино и пиратского софта я уж не первое десятилетие, как не качаю, для резервного копирования есть решения от производителя смартфона... Оно как бы и незачем?
Но вот понадобилось тут вдруг. А в Android оказывается уже много версий как лишился возможности эмулировать эту самую флешку при подключении по USB - удалили ее по причине несекьюрности, в пользу богомерзкого протокола MTP, придуманного в мрачных осклизлых пещерах Microsoft специально, чтобы люди страдали и из достоинств только и имеющего, что встроенную защиту от копирования и прочие бездны анальных ограничений. Ну ладно, ладно, сгущаю краски. Да и не все производители android-устройств от эмуляции дискового накопителя отказались.
И тем не менее: как подключить свой смартфон на Android в OpenBSD для передачи файлов? Да проще простого! Во-первых, установим необходимый для этого пакет:
$ doas pkg_add simple-mtpfs
Создадим для удобства папку, куда будем монтировать наш девайс:
$ doas mkdir -p /mnt/mtp
Затем подключим собственно устройство USB-шнурком и введем незатейливую команду для получения списка подключенных устройств (ну чисто убедиться, что всё в порядке), вот что примерно мы увидим:
$ doas simple-mtpfs -l
1: SamsungGalaxy models (MTP)
В данном случае, устройство у нас нашлось одно, но я допускаю, что их может быть и больше (например, если Android-смартфон имеет, помимо встроенной памяти, еще внешнюю флешку, ну или в других каикх случаях). Теперь, собственно, приступим к монтированию:
$ doas simple-mtpfs --device 1 /mnt/mtp/ -o allow_other
Could not retrieve device storage.
For android phones make sure the screen is unlocked.
pthread_mutex_destroy on mutex with waiters!
Озадачившись вышеизложенным выводом, поспешим разблокировать экран устройства - а там нас ждет уже запрос на подключение, где нужно нажать "разрешить", после чего повторяем вызов той же самой команды:
$ doas simple-mtpfs --device 1 /mnt/mtp/ -o allow_other
На этот раз никаких пугающих сообщений мы не увидим, открываем свой любимый файловый менеджер и следуем в /mnt/mtp/
сотворять интересующие нас файловые операции. Кстати, если у нас устройство обнаружилось лишь одно, то опцию --device 1
можно и опустить.
По завершению не забываем сделать doas umount /mnt/mtp
. Собственно, всё.
P.S. К сожалению, под OpenBSD не портирован пакет gvfs-mtp, так что научить какой-нибудь фичастый файловый менеджер вроде Thunar или Nautilus автомонтированию смартфона пока не получилось. Но на досуге я как-нибудь поковыряюсь и с автомонтированием, тут под OpenBSD тоже есть парочка любопытных и кастомизируемых решений.