Como acessar compartilhamentos do dispositivo Android com o KDEConnect usando a linha de comando

1

Quando os dispositivos foram pareados, o computador < - > telefone usando o KDEConnect, é possível acessar o cartão SD do telefone e o armazenamento interno diretamente da linha de comando?

Caso de uso:

Quando os dispositivos foram emparelhados, quero copiar automaticamente os arquivos do telefone (memória interna, cartão SD externo) com um script. Etapas:

  1. Definir dispositivos como pareados
  2. Executar script

Com kdeconnect-cli , posso obter o ID do dispositivo assim:

$ kdeconnect-cli --id-only -a 
166ec0250e88ff2b

Mas não consigo acessar aqui:

$ ls /run/user/1000/166ec0250e88ff2b/
ls: cannot access '/run/user/1000/166ec0250e88ff2b/': Permission denied

Permissões:

[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

Como faço para acessar o sistema de arquivos de armazenamento interno e externo do telefone?

$ 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
    
por photorar 17.11.2017 / 08:51

1 resposta

1

Mconnect é uma implementação do protocolo KDE Connect em Vala / C disponível através do github.com . Ele não precisa de bibliotecas do KDE e vem com um cliente que permite compartilhar facilmente arquivos da linha de comando com, por exemplo.

 mconnectctl share-file /org/mconnect/device/0 /path/to/file

Veja a página do github para mais.

Você deve poder usar mconnectctl para testar se um dispositivo específico está emparelhado, por exemplo, para um telefone chamado Motorola Moto G Maciek conectado a /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}'

Isso retornará true se pareado e pode ser usado em um script.

    
por dessert 17.11.2017 / 10:08