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:
- KDE QuickGit :: kdeconnect-android.git/summary
- https://play.google.com/store/apps/details?id=org.kde.kdeconnect_tp
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.