X2Go: Alternativa ao remote desktop para quem não quer ter lidar com o Microsoft Recall.

Olá a todos.

Certamente por esta altura já terão ouvido falar numa coisa chamada Copilot Recall da Microsoft.
O que provavelmente ainda não terão ouvido – ou não entenderam na altura – que este software está de X em X segundos a tirar screenshots ao vosso ecrã, e explico que o screenshot está a ser “lido e reconhecido” (por OCR) pela ferramenta Recall que faz parte do  Copilot (AI da Microsoft).
Isto só por si é uma tremenda falha de segurança e uma gritante invasão da nossa privacidade. Basta pensarem que os vossos dados e a imagem do que estão estão a ser enviados para fora para processamento em cloud…

Isto a somar com o facto do Windows 10 estar em EOL e o 11 ser absurdamente pesado em hardware mais antigo, está a deixar muita gente que ainda tem uma VM ou VDI em Windows para acesso RDP, muito preocupada com o futuro.
Não nos vamos enganar. O RDP (o software de assistência remota e acesso remoto da microsoft) deve ser das melhores coisas que produziram. Leve, pronto para redes e acessos wan com latência, tornam o acesso a máquinas remotas, um evento menos traumático.
O Linux e outros SO’s têm algo corriqueiro muito semelhante – vnc – mas que está muito longe dos índices de performance do RDP. Até porque enquanto o rdp apenas transmite o bit que foi mudado no ecrã, o vnc faz refresh’s contínuos do ecrã original.

Esta luta já é antiga. E existem muitos produtos no mercado para suprir esta necessidade. Por exemplo o NoMachine. Ou o X2GO.

Num mundo atual, onde a conectividade e a capacidade de acessar sistemas remotamente se tornaram essenciais, ferramentas de acesso remoto como o X2Go e o NoMachine têm assim ganhado destaque como um forte ponto de alternativa. Ambos apresentam-se como  uma excelente solução, e neste artigo, exploraremos o que é o X2Go, sua herança do NoMachine, e como ele pode ser instalado e utilizado no openSUSE Leap, proporcionando uma experiência de acesso remoto segura e eficiente.

O Que é o X2Go?

O X2Go é uma solução de acesso remoto que permite aos utilizadores aceder ás suas máquinas Linux (ou Mac)a partir de qualquer dispositivo. É baseado na tecnologia NX, que é conhecida por sua eficiência e desempenho superior em conexões de baixa largura de banda. O X2Go é uma ferramenta open-source – razão pela qual a escolhi – , o que significa que seu código está disponível para revisão e modificação, uma característica crucial para aqueles que dão prioridade a privacidade e a transparência.

Principais Características do X2Go

  1. Eficiência e Desempenho: O X2Go utiliza compressão avançada e técnicas de caching para proporcionar uma experiência de acesso remoto fluida, mesmo em conexões de internet mais lentas.
  2. Segurança: Todas as conexões X2Go são encriptadas via SSH, garantindo que os dados transmitidos estejam protegidos contra intercetação.
  3. Multi-Utilizador: Suporta múltiplas sessões simultâneas, permitindo que vários utilizadores acedam a mesma máquina de forma independente.
  4. Flexibilidade: Compatível com diversas distribuições Linux e oferece clientes para Windows, macOS e Linux.
  5. Suporte a Impressão e multimédia: O X2Go permite a impressão local a partir da sessão remota, facilitando o trabalho remoto. O mesmo se pode dizer para sessões multimédia – por exemplo para webcams ou afins.

A Herança do NoMachine

O NoMachine, também baseado na tecnologia NX, foi uma das primeiras soluções a trazer alta performance para acessos remotos em sistemas Linux. No entanto, com o tempo, o X2Go surgiu como uma alternativa open-source, oferecendo funcionalidades semelhantes com a vantagem adicional de ser completamente livre para uso e modificação.

A principal diferença entre o NoMachine e o X2Go reside no modelo de licenciamento e na filosofia de desenvolvimento. Enquanto o NoMachine oferece uma versão gratuita com funcionalidades limitadas e versões comerciais pagas, o X2Go mantém-se totalmente gratuito e open-source, alinhando-se com os princípios do software livre que tanto respeito e acarinho.

Privacidade e Segurança com X2Go

A preocupação com privacidade tem crescido nos últimos tempos, especialmente com o aumento da vigilância digital e o harvest de dados pessoais pelos grandes da tecnologia. Neste caso em especifico, o Microsoft Copilot, uma ferramenta que utiliza inteligência artificial, tem levantado questões sobre a segurança e privacidade dos dados dos utilizadores.
Microsoft, como uma grande corporação, está sujeita a regulamentações e práticas que podem não alinhar-se com as expectativas de todos os utilizadores em termos de privacidade.

O X2Go, sendo uma solução opensource, permite que qualquer pessoa inspecione o seu código-fonte (sim eu sei que muitos poucos o irão fazer) para garantir que não há backdoors ou harvesting  indesejado de dados. Além disso, a criptografia via SSH proporciona uma camada adicional de segurança, assegurando que os dados transmitidos entre o cliente e o servidor estejam protegidos.

Instalando e Configurando o X2Go no openSUSE Leap

Como a minha estação pessoal de trabalho no dia a dia é openSUSE Leap, decidi fazer este howto nesse seguimento. E aqui está um guia passo a passo para configurar esta poderosa ferramenta de acesso remoto.

Passo 1: Preparação do Sistema

Antes de iniciar a instalação, é importante garantir que o nosso sistema está atualizado. Abram um terminal e execute o seguinte comando:

sudo zypper refresh
sudo zypper update

Passo 2: Instalar o Servidor X2Go

Para instalar o servidor X2Go no openSUSE Leap, usem o comando abaixo para adicionar o repositório X2Go:

sudo zypper ar https://download.opensuse.org/repositories/X11:RemoteDesktop:x2go/openSUSE_Leap_15.2/X11:RemoteDesktop:x2go.repo

Em seguida, atualizem os repositórios e instale o servidor X2Go:

sudo zypper refresh
sudo zypper install x2goserver x2goserver-xsession

Passo 3: Configurando o Servidor X2Go

Após a instalação, o servidor X2Go precisa ser configurado para iniciar automaticamente. Para isso, utilizem o comando:

sudo systemctl enable x2goserver
sudo systemctl start x2goserver

Nota: Por problemas com o XFCE é recomendado fazer isto ao nível do servidor:

/usr/bin/xfconf-query -c xfwm4 -p /general/use_compositing -s false

Passo 4: Instalar o Cliente X2Go

Para aceder o servidor X2Go a partir de outro dispositivo, iremos precisar do cliente X2Go. Em um sistema openSUSE Leap,a instalação do cliente X2Go consegue-se o seguinte comando:

sudo zypper install x2goclient

Passo 5: Configurando o Cliente X2Go

Após a instalação, abram (executem) o cliente X2Go. Irá ser solicitado que configurem  uma nova sessão. Aqui estão os passos básicos para configurar a sessão:

1. **Host**: Insira o endereço IP ou o nome de domínio do servidor X2Go.
2. **Login**: Insiram o nome de utilizador que normalmente utilizam para aceder ao servidor.
3. **SSH Port**: Por padrão, o X2Go usa o porto 22 (lembram-se do acesso através de ssh?). Se configuram o SSH desse servidor para usar um porto diferente, alterem-o aqui.
4. **Session Type**: Escolham o ambiente de desktop que você deseja utilizar (KDE, GNOME, XFCE, etc.). Convém que o tenham instalado antes claro 🙂

Cliquem em “OK” para salvar a configuração da sessão.
Nota: O cliente de x2go suporta autenticação Krb pelo que é perfeitamente apto a integrar ambientes com AD ou IDM/Freeipa para autenticação.

Passo 6: Conectando-se ao Servidor

Com a sessão configurada, cliquem duas vezes na sessão recém-criada no cliente X2Go. Irão será solicitados a inserir a password do utilizador. Após autenticar, serão conectados ao ambiente de desktop remoto.

Benefícios do Uso do X2Go versus o nomachine ou até mesmo uma sessão RDP?

Performance Superior

Uma das principais vantagens do X2Go é sua capacidade de fornecer uma experiência de desktop remoto fluida e responsiva. Utilizando técnicas de compressão avançada, o X2Go minimiza a quantidade de dados transmitidos, tornando-o ideal para conexões de internet mais lentas.

Segurança e Privacidade

Com a criptografia SSH integrada, o X2Go garante que todas as comunicações entre o cliente e o servidor sejam seguras. Além disso, como uma solução open-source, os utilizadores têm a garantia de que não há coleta de dados não autorizada como poderia ocorrer quando o nosso ecrã está a ser varrido a procura de dados por uma AI algures.

Flexibilidade e Escalabilidade

O X2Go é altamente flexível, suportando uma variedade de ambientes de desktop e permitindo a personalização para atender às necessidades específicas dos utilizadores. A sua capacidade de suportar múltiplas sessões simultâneas o torna ideal para ambientes corporativos e educacionais.

Custo-Benefício

Sendo uma solução open-source, o X2Go é gratuito para uso. Isto o torna uma opção atraente para organizações e indivíduos que buscam uma solução de acesso remoto robusta sem os custos associados a alternativas comerciais.

E chegamos ao fim do post desta semana. Hoje validamos o X2Go como  uma poderosa ferramenta de acesso remoto que oferece uma combinação imbatível de desempenho, segurança e flexibilidade. Para aqueles preocupados com a privacidade e buscando alternativas ao Microsoft Copilot, o X2Go representa uma solução confiável e eficiente para continuarem a ter um acesso remoto com baixa latência a um desktop. Com  o seu modelo open-source, os utilizadores têm uma maior tranquilidade de saber que seus dados estão seguros e que não há coleta indesejada de informações.

Se forem como eu e estiverem a utilizar o openSUSE Leap, seguir os passos indicados acima permitirá que instalem e configure o X2Go facilmente e rapidamente aproveitando todas as suas vantagens (o howto é o meu cookbook para deployment quando preciso de uma VM para VDI nova rapidamente).
E claro, já sabem onde me encontrar se encontrarem alguma coisa menos correta ou omissão.

Até ao próximo artigo.
1 Abraço.
Nuno

Documentação:  https://wiki.x2go.org/doku.php/doc:start