KDE Connect e GSConnect oferecem suporte à execução de comandos de um dispositivo Android para a área de trabalho Linux. Este artigo explica como bloquear e desbloquear sua área de trabalho Linux usando um único toque em seu dispositivo Android, através do aplicativo KDE Connect Android. Você também encontrará uma solução alternativa para o GNOME 3.34, que tem sua sessão gerenciada pelo systemd, o que complica um pouco isso.
O KDE Connect é uma ferramenta que permite que dispositivos como um desktop rodando Linux e dispositivos Android se comuniquem uns com os outros. Para usá-lo, você deve instalar o componente desktop em seu desktop Linux, e o aplicativo Android em um dispositivo Android. GSConnect é uma implementação completa do KDE Connect criado para a área de trabalho GNOME Shell.
É importante notar que os comandos que usaremos neste artigo para bloquear/desbloquear sua tela são independentes da área de trabalho e funcionam com qualquer ambiente de área de trabalho (e qualquer distribuição Linux) que usa logind.
Além do mais, não há necessidade de inserir sua senha ao desbloquear a tela. Isso porque os comandos de bloqueio/desbloqueio que usaremos a seguir não exigem privilégios de superusuário; além disso, o comando de desbloqueio é capaz de desbloquear sua sessão sem uma senha porque o KDE Connect é capaz de executar comandos na área de trabalho do Linux, mesmo quando a tela está bloqueada.
Editado: dê uma olhada em um vídeo mostrando bloqueio/desbloqueio de tela usando o aplicativo KDE Connect Android e GSConnect instalado no Fedora 31 (com GNOME 3.34; Estou usando scrcpy para mostrar meu telefone Android tela na área de trabalho):
Para poder bloquear/desbloquear sua tela usando seu dispositivo Android, abra KDE Connect/GSConnect e:
Run commands
Commands
na barra lateralComandos de conexão do KDE
Em seguida, adicione os seguintes comandos no KDE Connect/GSConnect com GNOME 3.32 ou anterior (isso não funcionará com GNOME 3.34 ou posterior!) Em sua área de trabalho:
loginctl lock-session
loginctl unlock-session
Depois de adicionar esses comandos em sua área de trabalho Linux, eles serão mostrados no aplicativo KDE Connect Android, em Run Command
:
Desde que o GNOME mudou para ter sua sessão gerenciada usando o systemd (com GNOME 3.34), esses comandos loginctl lock/unlock
pararam de funcionar por conta própria, exigindo o ID da sessão para bloquear ou desbloquear a tela. Eu consegui montar uma solução alternativa para isso - um comando (veja abaixo) que usa loginctl
para listar todas as sessões, procura o usuário atual na lista de sessões e recupera o ID da sessão, então usa loginctl lock-session
ou unlock-session
seguido pelo ID da sessão.
Comandos GSConnect
Portanto, se você usa GSConnect com GNOME 3.34 (ou mais recente), em vez dos comandos que mencionei acima, use estes comandos:
SESSION=$(loginctl list-sessions | grep $(whoami) | awk '{print $1}'); loginctl lock-session $SESSION
SESSION=$(loginctl list-sessions | grep $(whoami) | awk '{print $1}'); loginctl unlock-session $SESSION
Eu só tenho um computador rodando GNOME 3.34 para testar isso agora, e funcionou lá (usando Ubuntu 19.10), espero que funcione em outras distribuições Linux também. Editado: Eu também experimentei no Fedora 31 e funcionou conforme o esperado.
O aplicativo KDE Connect Android suporta widgets. Assim, você pode pular a necessidade de abrir o aplicativo KDE Connect Android toda vez que quiser bloquear ou desbloquear seu computador e simplesmente adicionar um widget que bloqueia e desbloqueia sua área de trabalho Linux com um único toque.
Mais alguns comandos úteis que você pode usar com o KDE Connect/GSConnect podem ser encontrados nesta página.
Esse post foi traduzido do site LinuxUprising.com pela rtland.team.
Confira a versão original desse post em inglês:
KDE Connect / GSConnect: How To Lock/Unlock Your Linux Desktop Using An Android Device