você está aqui: Home  → Arquivo de Mensagens

KDE Connect - Integrando o ambiente Android com o desktop Linux

Colaboração: Alessandro de Oliveira Faria

Data de Publicação: 16 de janeiro de 2015

Polêmicas à parte, o KDE tem sido um dos favoritos dos geeks, pois possui diversos recursos como total customização, recursos como área de trabalho semântica e novas tecnologias como o KDE Connect, onde o objetivo é conectar/comunicar com qualquer dispositivo KDE. Atualmente suporta dispositivos Android utilizando tecnologias como Avahi (uma implementação livre do Zeroconf com sistema multicast DNS/DNS-SD service discovery) e outros recursos via Wi-Fi.

Entre inúmeros recursos ressalto:

  • Exibição do estado da bateria em tempo real com alerta;
  • Compartilhamento do clipboard entre Android e KDE (sensacional);
  • Controle remoto do seu aplicativo de reprodução de vídeo/música favorito;
  • Notificação de mensagens em tempo real sincronizado com o Android;
  • Enviar e receber arquivos com um clique;
  • Troca rápida de URL e textos entre celulares e desktops;
  • Exibição de SMS na barra de notificação do KDE (trayicon).

A seguir algumas ilustrações operacionais, afinal uma imagem vale mais que mil palavras... (clique sobre as imagens para ampliar).

Instalação e configuração

Para efetuar a instalação a partir do código fonte, basta efetuar o comando "git clone" conforme o exemplo a seguir. Requisitos de compilação:

  • kdebase4-workspace-devel
  • libqca2-devel
  • libqjson-devel
  • libfakekey-devel
  $ git clone git://anongit.kde.org/kdeconnect-kde
  Cloning into 'kdeconnect-kde'...
  remote: Counting objects: 6484, done.
  remote: Compressing objects: 100% (1742/1742), done.
  remote: Total 6484 (delta 5153), reused 5852 (delta 4686)
  Receiving objects: 100% (6484/6484), 889.62 KiB | 88.00 KiB/s, done.
  Resolving deltas: 100% (5153/5153), done.
  Checking connectivity... done.
  $ cd kdeconnect-kde
  $ cmake -DCMAKE_INSTALL_PREFIX=/usr ./
  -- Found Qt-Version 4.8.6 (using /usr/bin/qmake)
  -- Found X11: /usr/lib64/libX11.so
  -- Found KDE 4.12 include dir: /usr/include
  -- Found KDE 4.12 library dir: /usr/lib64
  -- Found the KDE4 kconfig_compiler preprocessor: /usr/bin/kconfig_compiler
  -- Found automoc4: /usr/bin/automoc4
  -- Found X11: /usr/lib64/libX11.so
  -- checking for module 'libfakekey'
  -- found libfakekey, version 0.1
  -- Found LibFakeKey: /usr/lib64/libfakekey.so (found version "0.1")
  -- Configuring done
  -- Generating done
  -- Build files have been written to: /tmp/teste/kdeconnect-kde
  $ make
  Scanning dependencies of target org.kde.kdeconnect.daemon.xml
  [ 1%] Generating org.kde.kdeconnect.daemon.xml
  [ 1%] Built target org.kde.kdeconnect.daemon.xml
  Scanning dependencies of target kdeconnectcore_automoc
  Generating moc_landevicelink.cpp
  Generating moc_uploadjob.cpp
  Generating moc_lanlinkprovider.cpp
  Generating moc_filetransferjob.cpp
  Generating moc_daemon.cpp
  Generating moc_socketlinereader.cpp
  Generating moc_device.cpp
  Generating moc_networkpackage.cpp
  Generating moc_downloadjob.cpp
  Generating moc_loopbacklinkprovider.cpp
  Generating moc_loopbackdevicelink.cpp
  Generating moc_devicelink.cpp
  Generating moc_kdeconnectplugin.cpp
  Generating moc_linkprovider.cpp
  [ 1%] Built target kdeconnectcore_automoc
  Scanning dependencies of target org.kde.kdeconnect.device.xml
  [ 2%] Generating org.kde.kdeconnect.device.xml
  [ 2%] Built target org.kde.kdeconnect.device.xml
  Scanning dependencies of target kdeconnectcore
  [ 3%] Building CXX object core/CMakeFiles/kdeconnectcore.dir/kdeconnectcore_automoc.o
  [ 4%] Building CXX object core/CMakeFiles/kdeconnectcore.dir/backends/lan/lanlinkprovider.o
  /tmp/teste/kdeconnect-kde/core/backends/lan/lanlinkprovider.cpp: In member function 'virtual void LanLinkProvider::onStart()':
  /tmp/teste/kdeconnect-kde/core/backends/lan/lanlinkprovider.cpp:77:10: warning: unused variable 'buildSucceed' [-Wunused-variable]
    bool buildSucceed = mUdpServer->bind(QHostAddress::Any, port, QUdpSocket::ShareAddress);
     ^
  [ 5%] Building CXX object core/CMakeFiles/kdeconnectcore.dir/backends/lan/landevicelink.o
  [ 6%] Building CXX object core/CMakeFiles/kdeconnectcore.dir/backends/lan/uploadjob.o
  [ 7%] Building CXX object core/CMakeFiles/kdeconnectcore.dir/backends/lan/downloadjob.o
  [ 8%] Building CXX object core/CMakeFiles/kdeconnectcore.dir/backends/lan/socketlinereader.o
  [ 8%] Building CXX object core/CMakeFiles/kdeconnectcore.dir/backends/loopback/loopbacklinkprovider.o
  [ 9%] Building CXX object core/CMakeFiles/kdeconnectcore.dir/backends/loopback/loopbackdevicelink.o
  [ 10%] Building CXX object core/CmakeFiles/kdeconnectcore.dir/backends/linkprovider.o

Alguns segundos depois ...

  [ 97%] Built target testsocketlinereader_automoc
  Scanning dependencies of target testsocketlinereader
  [ 98%] Building CXX object tests/CMakeFiles/testsocketlinereader.dir/testsocketlinereader_automoc.o
  [ 99%] Building CXX object tests/CMakeFiles/testsocketlinereader.dir/testsocketlinereader.o
  [100%] Building CXX object tests/CMakeFiles/testsocketlinereader.dir/__/core/backends/lan/socketlinereader.o
  Linking CXX executable testsocketlinereader
  [100%] Built target testsocketlinereader
  $ sudo make install

Para os usuários openSUSE 13.2 disponibilizei o pacote no botão "Click Install":

Configurando o KDE Connect

Após a instalação, devemos ativar o KDE Connect com o seguinte comando:

  $ qdbus org.kde.kded /kded loadModule kdeconnect

Se tudo estiver funcionando corretamente, veremos a string "true" exibida na linha de comando. Agora para atualizar o cache das configurações do sistema, utilize o comando abaixo:

  $ kbuildsycoca4 -noincremental

Agora veremos em "Configurações do sistema" um novo ícone do KDE Connect:

Instale o KDE Connect no seu Android via "adb install" ou Google Play, os links a seguir para ambas opções:

Com o KDE Connect instalado no seu celular, adicione o dispositivo conforme as ilustrações abaixo:

O vídeo demonstrativo a seguir deixa claro a funcionalidade do projeto:

Assista ao vídeo

Agora habilite os recursos desejados e pronto! Divirta-se com a integração total entre os ambientes. Para finalizar, críticas e sugestões: <cabelo (a) opensuse org>

Alessandro de Oliveira Faria é Sócio-fundador da empresa NETi TECNOLOGIA fundada em Junho de 1996, empresa especializada em desenvolvimento de soluções com a tecnologia de Reconhecimento Facial, Consultor Biométrico, Experiência em Realidade Aumentada, Visão Computacional (opencv), Neuro-tecnologia, Redes Neurais e Programação multi-nuclear com CPU e GPU, atua na área de tecnologia desde 1986, leva o Linux a sério desde 1998, membro da comunidade Viva O Linux com mais de 50 palestras e 100 artigos publicados, mantenedor da biblioteca open-source de vídeo captura, Embaixador e openSUSE Member.


Veja a relação completa dos artigos de Alessandro de Oliveira Faria