как получить доступ к моему телефону Android из моего терминала?

14

Я подключил свой телефон Android Kit-kat к компьютеру Ubuntu 14.04, и я захожу в терминал, и я хочу иметь возможность доступа к файлам на моем телефоне, таким как папки мультимедиа и музыки через терминал ... это возможно?

cmehmen
источник
Зависит от продавца. Некоторые (Samsung) делают это сложнее, другие легче.
mikewh независимо от
У меня есть примечание 4 @mikewhothing
cmehmen
2
... а что происходит при подключении? Ubuntu видит это? Какой выход dmesg? Есть ли в настройках телефона опция, позволяющая подключаться к USB?
mikewh независимо от

Ответы:

11

Вы можете найти точку монтирования в $XDG_RUNTIME_DIR/gvfsкаталоге. Главный каталог может быть похож mtp:host=…на некоторые экранированные символы и идентификаторы USB / производителя / продукта, но вы сможете получить доступ к своим файлам в терминале.

Добей
источник
Я не уверен, как следовать вашим инструкциям. В каком каталоге $XDG_RUNTIME_DIR/gvfs? Я не могу найти это нигде. Это скрыто?
Сара Сабо
1
По $XDG_RUNTIME_DIRумолчанию /run/user/$UID/я думаю. В нем есть gvfsподкаталог.
Добей
Я нашел команду gvfs directory, but I don't see anything in it using the ls`.
Сара Сабо,
OK. Это сработало, когда я ответил на вопрос в 2015 году 14.04. Может быть, что-то изменилось / сломалось в более новой Ubuntu по отношению к этому?
Добей
Возможно, мне стоит еще раз задать вопрос, связанный с современными системами?
Сара Сабо,
9

Устройства Android обычно используют протокол передачи мультимедиа (MTP) при подключении через USB. Этот протокол работает иначе, чем традиционный USB.

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

Хорошо, достаточно введения. Чтобы получить доступ к устройству, подключенному через MTP, вам нужна информация о его #Bus и #Dev. Для этого вы можете запустить следующую команду.

usb-devices

Это предоставит вам список подключенных USB-устройств. Вам нужно найти свое устройство из этого списка. Это может быть немного утомительно, поэтому вы можете искать устройство с доступной опцией производителя . Просто используйте следующую команду.

usb-devices  | grep "Manufacturer=OnePlus" -B 3

Это предоставит вам 4 строки информации, где первая строка выглядит следующим образом.

T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 13 Spd=480 MxCh= 0

Как вы можете видеть здесь, связанный Bus - это 02, а Dev - 13.

Теперь измените ваш каталог на / run / user / 1000 / gvfs / и посмотрите список папок там.

/run/user/1000/gvfs/
ls

Вы найдете соответствующее устройство MTP с #Bus и #Dev в списке. Например, у меня было mtp: host =% 5Busb% 3A002% 2C013% 5D . Теперь просто измените ваш каталог, используя следующую команду.

cd mtp\:host\=%5Busb%3A002%2C013%5D/

Вуаля ! Вы находитесь в хранилище файлов!

Мунтасир Вахед
источник
3
Потрясающие! Работал как шарм, спасибо
Джастин
2
Работал как шарм, но это был не mpt: host, это был gphoto2: host
user1271772
2
Что делать , если нет ничего /run/user/1000/gvfs/. Мой lsничего не показывает.
Нихил Ваг