명령줄을 사용하여 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 Connect 프로토콜 구현입니다.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스크립트에서 사용할 수 있습니다.

관련 정보