Ubuntu 26.04: acesso remoto sem monitor via RDP
No Ubuntu 26.04, o xrdp não inicia o GNOME. Configure o GNOME Remote Login por SSH e acesse a porta 3389 via túnel ou Tailscale.
Como usar o ambiente de trabalho remoto do Ubuntu sem monitor
Para usar o ambiente de trabalho remoto do Ubuntu sem monitor, ative o GNOME Remote Desktop no modo Remote Login. O Remote Login inicia a sua própria sessão GNOME a partir do ecrã de início de sessão. Por isso, a máquina não precisa de um ecrã nem de um utilizador já autenticado. Faça a configuração uma vez através de SSH com grdctl. Depois, ligue-se a partir de qualquer cliente RDP (protocolo de ambiente de trabalho remoto) na porta 3389.
Este guia destina-se a uma máquina Ubuntu Desktop sem monitor ligado, como um servidor doméstico ou um mini PC. Primeiro, abrange o Ubuntu 26.04 LTS e, depois, apresenta as diferenças no 24.04 LTS. Se a máquina for um VPS (servidor privado virtual) com um ambiente de trabalho XFCE leve, o xrdp continua adequado. O guia ambiente de trabalho remoto num VPS Linux com xrdp e XFCE explica esse caso. Este guia não repete esse conteúdo.
Por que o xrdp não funciona com o GNOME no Ubuntu 26.04
Muitos guias antigos instalam o xrdp. No Ubuntu 26.04, isso não disponibiliza um ambiente de trabalho GNOME. A causa está nas notas de lançamento da versão 26.04: o GNOME Shell já não pode ser executado como uma sessão X.org, e a sessão Ubuntu Desktop agora funciona apenas com o backend Wayland. O xrdp funciona apenas com Xorg, por isso não tem uma sessão GNOME para iniciar.
O popular script de instalação do xrdp, disponibilizado por c-nergy.be, informa o mesmo. A versão 1.6, publicada em May 2026, não instala o pacote xrdp quando encontra um ambiente de trabalho GNOME sem suporte para X11. O autor informa que o Ubuntu 26.04 com GNOME não é suportado e encaminha os utilizadores do GNOME para o GNOME Remote Desktop integrado.
Os outros ambientes de trabalho ainda permitem escolher. As notas de lançamento indicam que o KDE em X11, o Xfce, o MATE, o i3 e muitos outros ainda podem iniciar uma sessão X.org, e que as aplicações X11 continuam a ser executadas através do XWayland. Para consultar o restante das alterações da versão, leia o que mudou no Ubuntu 26.04.1 e quando fazer a atualização.
Partilha do ambiente de trabalho ou início de sessão remoto: de qual precisa?
O GNOME Remote Desktop é o servidor RDP incluído no GNOME. O projeto upstream descreve três formas de o executar: assistência remota, modo headless para um único utilizador e início de sessão remoto headless. A aplicação Settings apresenta duas delas com dois nomes.
- Partilha do ambiente de trabalho é assistência remota. Espelha uma sessão que já está em execução na máquina. Vê o mesmo ecrã que uma pessoa à frente do computador veria.
- Início de sessão remoto é o início de sessão remoto headless. O cliente RDP apresenta primeiro o ecrã de início de sessão do GDM (gestor de ecrã do GNOME), onde inicia sessão numa nova sessão. O início de sessão remoto funciona apenas através de RDP, não de VNC (virtual network computing).
Numa máquina sem monitor, o modo pretendido é o início de sessão remoto. A partilha do ambiente de trabalho precisa de uma sessão que já exista. Depois de um reboot, ninguém tem sessão iniciada, portanto a partilha do ambiente de trabalho não tem nada para espelhar.
A partilha do ambiente de trabalho tem uma segunda armadilha. As notas de configuração do projeto upstream indicam que, no modo de assistência remota, bloquear o ecrã também fecha a ligação remota. Assim, quando a sessão na máquina é bloqueada, a ligação da partilha do ambiente de trabalho também cai. O início de sessão remoto não depende de uma sessão local, razão pela qual é adequado para uma máquina onde ninguém trabalha diretamente.
Os dois modos também escutam em portas diferentes. A ajuda do GNOME indica que o início de sessão remoto usa a porta 3389. A partilha do ambiente de trabalho usa então uma porta diferente, como 3390, pelo que pode ser necessário introduzir essa porta no cliente. A versão 46 do servidor adicionou suporte para este conflito específico entre o daemon do sistema e o daemon por utilizador.
Verifique qual versão está instalada
lsb_release -ds
apt-cache policy gnome-remote-desktopapt-cache policy deve mostrar uma linha Installed: com uma versão. Em 1 de novembro de 2026, o Launchpad lista 50.2-0ubuntu0.1 no pocket de atualizações do 26.04 e 46.3-0ubuntu1.2 para o 24.04. Se Installed: mostrar (none), instale o pacote:
sudo apt update
sudo apt install -y gnome-remote-desktopA versão principal é importante porque grdctl mudou entre 46 e 50. Os passos abaixo indicam cada diferença.
Configurar o acesso remoto por SSH no Ubuntu 26.04
É necessário ter acesso SSH ao sistema. Se ainda não houver um servidor SSH em execução, ligue um ecrã uma vez e execute sudo apt install -y openssh-server. Se já tiver um ecrã ligado, também pode utilizar o caminho Settings na secção seguinte e ignorar estes comandos.
Passo 1: confirmar a conta de serviço
grdctl --system não altera as definições como o seu próprio utilizador. A fonte 50.2 mostra que o processo é executado novamente através de pkexec --user gnome-remote-desktop, pelo que todos os ficheiros que lê têm de estar acessíveis a essa conta. Confirme que a conta existe:
id gnome-remote-desktopDeverá ver uma linha uid=. no such user significa que o pacote não está instalado.
Passo 2: criar um certificado TLS
O RDP no GNOME Remote Desktop precisa de uma chave e de um certificado TLS (transport layer security). A documentação upstream indica que os ficheiros do serviço do sistema devem ser criados como o utilizador gnome-remote-desktop. Este é o comando OpenSSL da documentação upstream, executado como esse utilizador:
sudo -u gnome-remote-desktop sh -c 'mkdir -p ~gnome-remote-desktop/.local/share/gnome-remote-desktop && openssl req -new -newkey rsa:4096 -days 720 -nodes -x509 -subj /C=SE/ST=NONE/L=NONE/O=GNOME/CN=gnome.org -out ~gnome-remote-desktop/.local/share/gnome-remote-desktop/tls.crt -keyout ~gnome-remote-desktop/.local/share/gnome-remote-desktop/tls.key'O certificado é válido durante 720 dias. Registe essa data, porque terá de criar um novo certificado antes de expirar. Agora indique os dois ficheiros ao daemon do sistema:
sudo grdctl --system rdp set-tls-key ~gnome-remote-desktop/.local/share/gnome-remote-desktop/tls.key
sudo grdctl --system rdp set-tls-cert ~gnome-remote-desktop/.local/share/gnome-remote-desktop/tls.crtPasso 3: definir as credenciais RDP
Estas são um nome de utilizador e uma palavra-passe RDP separados. Não correspondem à sua conta Linux. Primeiro, o utilizador remoto introduz este par partilhado. Depois, inicia sessão no ecrã de login do GDM com a sua própria conta Linux. No 26.04, execute set-credentials sem argumentos. O comando lê o nome de utilizador e a palavra-passe da entrada padrão, para que a palavra-passe não fique no histórico da shell:
sudo grdctl --system rdp set-credentialsPasso 4: ativar o RDP e iniciar o serviço
sudo grdctl --system rdp enable
sudo systemctl enable --now gnome-remote-desktop.service
systemctl is-active gdm.serviceA documentação upstream também ativa gdm.service, porque o Remote Login apresenta o ecrã de login do GDM. O Ubuntu Desktop já utiliza o GDM, pelo que o último comando deverá apresentar active. Se isso não acontecer, execute sudo systemctl enable --now gdm.service.
Passo 5: confirmar que está à escuta
sudo grdctl --system status --show-credentials
systemctl is-active gnome-remote-desktop.service
sudo ss -tlnp | grep 3389grdctl --system status --show-credentials deverá mostrar a secção RDP ativada na porta 3389, com os seus ficheiros TLS e o nome de utilizador. Sem --show-credentials, status continua a apresentar a porta e os ficheiros TLS, mas mostra o nome de utilizador como (hidden). Os rótulos exatos variam entre versões. systemctl is-active deverá apresentar active, e ss deverá apresentar uma linha LISTEN na porta 3389. Se não houver nenhuma linha de ss, nada está à escuta e o cliente receberá uma ligação recusada. Leia o log com journalctl -u gnome-remote-desktop.service -n 50 para perceber o motivo.
Passo 6: registar a impressão digital do certificado
O certificado é autoassinado, pelo que o cliente RDP apresenta um aviso na primeira ligação. Apresente agora a impressão digital e compare-a com a que o cliente mostra antes de a aceitar:
sudo openssl x509 -in ~gnome-remote-desktop/.local/share/gnome-remote-desktop/tls.crt -noout -fingerprint -sha256Alguns clientes apresentam uma impressão digital SHA-1. Nesse caso, execute o mesmo comando com -sha1. Uma impressão digital que não corresponda significa que não está a comunicar com o seu sistema.
O caminho pelas definições, se conseguir ligar um ecrã uma vez
Se conseguir ligar um ecrã uma vez, o percurso gráfico configura o mesmo modo. A ajuda atual do GNOME indica este caminho: abra Definições, depois Sistema, depois Ambiente de trabalho remoto e, por fim, Início de sessão remoto. Clique em Desbloquear e autentique-se. Em seguida, ative Início de sessão remoto.
A secção Detalhes do início de sessão nessa página mostra o nome de utilizador e a palavra-passe de que o cliente precisa. Verificar encriptação mostra a impressão digital do certificado para comparação. Quando terminar, desligue o ecrã. O Início de sessão remoto continua a funcionar porque não precisa de uma sessão local.
A Partilha do ambiente de trabalho está na outra página, em Ambiente de trabalho remoto. Ative Partilha do ambiente de trabalho para permitir que outros vejam o ecrã e Controlo remoto para permitir que o utilizem. Faça isto apenas se também mantiver uma sessão iniciada, pelas razões indicadas acima.
O que muda no Ubuntu 24.04
O Remote Login também está disponível no 24.04. O upstream adicionou o login remoto sem monitor através do GDM na versão 46.alpha, e o Noble inclui a versão 46.3. A versão 46.2 também corrigiu a CVE-2024-5148, uma falha na transição do ecrã de login para a sessão do utilizador. Por isso, confirme que apt-cache policy mostra a versão atualizada, e não a versão original 46.1.
O esquema do Settings deverá ser igual. O GNOME Settings 46 adicionou a página Remote Login, mudou o nome da antiga página Remote Desktop para Desktop Sharing e colocou o Remote Desktop no novo painel System. O Noble inclui o Settings 46.7. Não confunda Remote Login com Secure Shell no mesmo painel System. O Settings 46 deu esse nome à opção SSH, que é uma funcionalidade diferente.
A maior diferença na linha de comandos está em set-credentials. Na versão 46.3, são obrigatórios um nome de utilizador e uma palavra-passe como argumentos. O comando não pede esses dados. Leia primeiro a palavra-passe para uma variável, para que ela não fique no histórico da shell:
read -rsp 'RDP password: ' GRD_PASS; echo
sudo grdctl --system rdp set-credentials rdpuser "$GRD_PASS"
unset GRD_PASSTodos os outros comandos dos passos para 26.04 acima têm a mesma forma na versão 46.3: set-tls-key, set-tls-cert, enable e status. No entanto, há três funcionalidades ausentes no 24.04. As sessões de login remoto persistentes foram introduzidas na versão 47, por isso a versão 46.x ainda não as inclui. Guarde o trabalho antes de desligar e teste o que acontece à sessão quando voltar a ligar. A versão 50 também adicionou o login remoto às sessões de autologin sem monitor do GDM e a autenticação Kerberos. No 24.04, não tem nenhuma dessas funcionalidades.
Se precisar de xrdp especificamente com GNOME, o script c-nergy só recusa o GNOME 49 e versões posteriores, e o 24.04 usa o GNOME 46. Esse é um dos motivos pelos quais alguns leitores continuam na versão anterior. Voltar do Ubuntu 26.04 para o 24.04 explica o custo real dessa mudança.
Login automático: teste-o antes de depender dele
Alguns guias recomendam ativar o login automático para que o Desktop Sharing tenha uma sessão para espelhar depois de um reboot. A ajuda do GNOME coloca essa opção em Settings, System, Users, Unlock, Automatic Login. A mesma página avisa que qualquer pessoa que inicie o computador poderá usar a sua conta e os seus dados.
Há uma segunda razão para ter cuidado. No modo de utilizador, o serviço de origem guarda as credenciais RDP do Desktop Sharing através do libsecret, na coleção de chaveiro predefinida. Com o login automático, nunca introduz uma palavra-passe durante o arranque. Por isso, faça reboot ao computador e teste uma ligação do Desktop Sharing antes de se afastar dele. O Remote Login não precisa de nada disto, porque começa no ecrã de login.
Por que a porta 3389 nunca deve ficar exposta à internet
Não encaminhe a porta 3389 no router de casa. Uma porta RDP pública recebe tentativas de login de desconhecidos, e a única coisa entre eles e o seu ecrã de login é uma palavra-passe partilhada. Aceda ao sistema através de um caminho encriptado que já controla. Há duas opções eficazes.
Opção 1: um túnel SSH
Se já consegue aceder ao sistema por SSH, encaminhe uma porta local para a porta RDP:
ssh -N -L 13389:127.0.0.1:3389 you@home-box-L encaminha a porta local 13389 para a porta 3389 do sistema, e -N indica ao SSH para não executar um comando remoto, porque só pretende o encaminhamento. Mantenha esse terminal aberto. Aponte o cliente RDP para 127.0.0.1:13389. A porta local é 13389, e não 3389, porque uma máquina Windows com o seu próprio servidor Remote Desktop ativo já utiliza a porta 3389. Apenas a porta SSH precisa de estar acessível a partir do exterior.
Opção 2: Tailscale
O Tailscale coloca ambas as máquinas numa rede privada, por isso nenhuma delas precisa de ter uma porta aberta no router. Instale-o no sistema Ubuntu com os comandos da documentação Linux do Tailscale:
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
tailscale ip -4Instale também o Tailscale no computador cliente e aponte o cliente RDP para o endereço tailscale ip -4 apresentado, na porta 3389. Se o script de instalação terminar com um erro, corrigir erros de instalação do Tailscale no Ubuntu aborda os problemas mais comuns. Não precisa do Tailscale SSH para isto. O Tailscale SSH disponibiliza apenas a porta 22, apenas no endereço Tailscale, e o RDP utiliza uma porta separada.
Se o ufw estiver ativo no sistema, pode permitir RDP apenas através da interface tailnet:
sudo ufw allow in on tailscale0 to any port 3389 proto tcpEm seguida, confirme o que está realmente aberto com como listar as regras ativas da firewall no Ubuntu. A porta 3389 não deve aparecer numa regra que permita o acesso a partir de qualquer origem.
Quando a ligação falha
O cliente indica que a ligação foi recusada. Não existe nenhum serviço a escutar na porta utilizada. Execute sudo ss -tlnp | grep 3389 no servidor. Sem saída, o serviço está parado ou o RDP não está ativado. Repita o Passo 4 e consulte journalctl -u gnome-remote-desktop.service -n 50. Se estiver a utilizar um túnel SSH, confirme também se a janela ssh -N continua aberta.
O cliente pede uma palavra-passe duas vezes. Isto é normal no Remote Login. O primeiro pedido solicita o par RDP definido com set-credentials. O segundo é o ecrã de início de sessão do GDM e solicita a sua conta Linux. Introduzir a palavra-passe Linux no primeiro pedido falha porque os dois pedidos são independentes.
Esperava ver a sessão aberta, mas foi apresentado um ecrã de início de sessão. Ligou-se à porta 3389, que pertence ao Remote Login. Quando o Remote Login está ativo, o Desktop Sharing utiliza outra porta. Consulte a porta apresentada na respetiva página Settings.
O Desktop Sharing termina após algum tempo. A sessão no servidor foi bloqueada. No modo de assistência remota, bloquear o ecrã encerra a ligação remota. Utilize o Remote Login num servidor sem monitor.
set-credentials falha no 24.04. A versão 46.3 requer os dois argumentos. Utilize o formato read -rsp da secção 24.04.
FAQ
Posso usar o xrdp com o GNOME no Ubuntu 26.04?
Não. As notas de versão do Ubuntu 26.04 indicam que o GNOME Shell já não pode ser executado como uma sessão X.org, e o xrdp funciona apenas com Xorg. Por esse motivo, o instalador do c-nergy.be recusa-se a instalar o xrdp no GNOME 49 e posteriores. Use o GNOME Remote Desktop com o Remote Login, ou use o xrdp com um ambiente de trabalho que ainda tenha uma sessão X.org, como o XFCE.
O ambiente de trabalho remoto do Ubuntu funciona sem um monitor ligado?
Sim, no modo Remote Login. O projeto upstream chama-lhe início de sessão remoto headless: o cliente RDP apresenta-lhe o ecrã de início de sessão do GDM e inicia sessão numa nova sessão, por isso não é necessário um ecrã local nem um utilizador com sessão iniciada. O Desktop Sharing é diferente. Espelha uma sessão que já está em execução, por isso, depois de um reboot sem nenhum utilizador com sessão iniciada, não há nada para partilhar.
Que porta o GNOME Remote Desktop usa no Ubuntu?
O Remote Login usa a porta 3389, a porta RDP padrão, que também é a predefinida no código-fonte do gnome-remote-desktop. Quando o Remote Login está ativo, o Desktop Sharing muda para outra porta, como a 3390, e deve indicar essa porta no cliente. sudo ss -tlnp no servidor mostra o que está efetivamente a escutar.
É seguro reencaminhar a porta 3389 no router?
Não faça isso. Uma porta RDP pública atrai tentativas de início de sessão, e uma única palavra-passe partilhada é tudo o que protege o seu ecrã de início de sessão. Reencaminhe uma porta local através de SSH com ssh -N -L 13389:127.0.0.1:3389 you@home-box, ou coloque as duas máquinas no Tailscale e ligue-se ao endereço Tailscale do servidor na porta 3389.
O Remote Login funciona no Ubuntu 24.04?
Sim. O início de sessão remoto headless foi introduzido no gnome-remote-desktop 46, e o Ubuntu 24.04 inclui a versão 46.3. A principal diferença é que grdctl --system rdp set-credentials na versão 46.3 precisa do nome de utilizador e da palavra-passe como argumentos, enquanto a versão 26.04 pode lê-los da entrada padrão. As sessões persistentes de início de sessão remoto só foram introduzidas na versão 47, por isso guarde o seu trabalho antes de desligar a sessão no 24.04.