Как получить доступ к общим ресурсам с устройства Android с помощью KDEConnect с помощью командной строки
Когда устройства были подключены к компьютеру <-> телефон с помощью KDEConnect, возможно ли получить доступ к SD-карте телефона и внутренней памяти непосредственно из командной строки?
Случай использования:
Когда устройства были сопряжены, я хочу автоматически копировать файлы с телефона (внутренняя память, внешняя SD-карта) с помощью скрипта. шаги:
- Установить устройства как спаренные
- Запустить скрипт
С kdeconnect-cli
Я могу получить идентификатор устройства следующим образом:
$ kdeconnect-cli --id-only -a
166ec0250e88ff2b
Но я не могу получить к нему доступ здесь:
$ ls /run/user/1000/166ec0250e88ff2b/
ls: cannot access '/run/user/1000/166ec0250e88ff2b/': Permission denied
Разрешения:
[root@host]# ls -la /run/user/1000/
ls: cannot access '/run/user/1000/166ec0250e88ff2b': Permission denied
...
drwx------ 9 user user 380 Nov 17 11:57 .
drwxr-xr-x 3 user user 60 Nov 17 08:07 ..
d????????? ? ? ? ? ? 166ec0250e88ff2b
Как получить доступ к файловой системе внутреннего и внешнего хранилища телефона?
$ ls -la /run/user/1000/166ec0250e88ff2b/storage
total 0
dr-x------ 1 user user 0 Jan 1 1970 0000-0000/
d--x------ 1 user user 0 Feb 6 1970 emulated/
d--x------ 1 user user 0 Sep 2 20:10 self/
$ ls -la /run/user/1000/166ec0250e88ff2b/storage/0000-0000/
ls: reading directory '/run/user/1000/166ec0250e88ff2b/storage/0000-0000/': Operation not permitted
total 0
1 ответ
Mconnect - это реализация протокола KDE Connect в Vala/C, доступная через github.com. Он не нуждается в библиотеках KDE и поставляется с клиентом, который позволяет легко обмениваться файлами из командной строки, например:
mconnectctl share-file /org/mconnect/device/0 /path/to/file
Смотрите связанную страницу GitHub для получения дополнительной информации.
Вы должны быть в состоянии использовать mconnectctl
проверить, является ли конкретное устройство сопряженным, например, для телефона под названием Motorola Moto G Maciek
соединен с /org/mconnect/device/0
:
mconnectctl show-device /org/mconnect/device/0 | awk '/Motorola Moto G Maciek/{f=1}/Paired/{{if(f){g=1}}}f&&g{print $2;exit}'
Это вернется true
если в паре и может быть использован в сценарии.