如何使用命令列透過 KDEConnect 從 Android 裝置存取共享

如何使用命令列透過 KDEConnect 從 Android 裝置存取共享

當裝置使用 KDEConnect 與電腦 <-> 手機配對時,是否可以直接從命令列存取手機的 SD 卡和內部儲存?

使用案例:

當裝置配對時,我想使用腳本自動從手機(記憶體、外部 SD 卡)複製檔案。腳步:

  1. 將裝置設定為配對
  2. 運行腳本

kdeconnect-cli可以這樣取得設備 ID:

$ 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

行動互聯是 Vala/C 中的 KDE Con​​nect 協議實現,可透過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並且可以在腳本中使用。

相關內容