Do executável Linux à captura remota
Este guia vai do download do rdp-cli até uma captura do desktop Windows por RDP. Ele descreve a versão 0.1.0 com evidências já existentes: a compilação Linux x86_64 2026092203 passou pela validação de software em dez sistemas; a ARM64 2026092301, em doze ambientes, incluindo Raspberry Pi 4 e DGX Spark. Este artigo não é um novo teste nem afirma que todas as distribuições Linux foram testadas.
Escolher a arquitetura e conferir o arquivo
No computador Linux que executará o rdp-cli:
uname -m
Na página de download, escolha Linux x86_64 para x86_64 ou Linux ARM64 para aarch64. Um processador ARM com sistema operacional de 32 bits está fora desta versão ARM64. Um Mac com macOS precisa do pacote macOS. Baixe o executável; os materiais separados de código-fonte e licenças não são necessários para executá-lo.
Antes de executar, compare o SHA-256 com os detalhes do arquivo da arquitetura correspondente na página de download. Para x86_64:
sha256sum ./rdp-cli-linux-x86_64
Somente após confirmar que o resumo coincide, habilite a execução e confira a versão:
chmod u+x ./rdp-cli-linux-x86_64
./rdp-cli-linux-x86_64 --version
Para ARM64:
sha256sum ./rdp-cli-linux-arm64
Somente após confirmar que o resumo coincide, habilite a execução e confira a versão:
chmod u+x ./rdp-cli-linux-arm64
./rdp-cli-linux-arm64 --version
--version deve retornar informações de versão em JSON. O produto é um único ELF estático e pode rodar como usuário comum, sem instalação como root. O visualizador nativo ainda usa os serviços de exibição do desktop ativo. O escopo validado não certifica todos os desktops, kernels ou dispositivos de áudio.
Conectar pelo Bash
O servidor Windows já deve ter RDP ativado, permitir que sua conta entre remotamente e estar acessível pelo computador Linux na rede ou VPN prevista. Instalar o cliente não ativa o serviço do Windows.
Em Bash, na pasta do executável, execute o seguinte. No ARM64, altere a primeira linha para rdp_cli=./rdp-cli-linux-arm64. Substitua 192.0.2.20 e USER pelo destino e conta autorizados; os caracteres da senha não aparecem durante a digitação.
rdp_cli=./rdp-cli-linux-x86_64
IFS= read -r -s -p 'Password: ' rdp_password
printf '\n'
printf '%s' "$rdp_password" | "$rdp_cli" connect --host 192.0.2.20 --user USER --password-stdin
unset rdp_password
Continue no mesmo shell para manter rdp_cli definido. O pipe envia a senha e fecha a entrada padrão. Para uma conta de domínio, acrescente --domain DOMAIN; não combine fontes de senha. Atualmente, RDP usa --cert-policy ignore por padrão: consulte connect --help e configure a verificação de certificado adequada ao ambiente. Uma política de certificados não corrige servidor inacessível nem credenciais inválidas.
Leia o JSON: em caso de falha, confira error.code e error.message; em caso de sucesso, guarde data.session como SESSION.
Examinar o estado e o primeiro PNG
"$rdp_cli" status --session SESSION
"$rdp_cli" screenshot --session SESSION --out first-screen.png
Confira os estados de conexão e controle. Abra first-screen.png com uma ferramenta de imagens e identifique a tela real antes de agir. Uma sessão conectada ainda pode mostrar login, boas-vindas ou um aplicativo ocupado. Guarde o data.observation da resposta da captura para uma entrada posterior baseada nessa imagem; ele não é um identificador permanente de sessão.
A janela local é opcional para capturas e entradas. Para uma pessoa acompanhar a mesma sessão em um desktop Linux:
"$rdp_cli" watch --session SESSION --viewer window
A janela inicia em modo somente leitura; a tomada de controle humana é explícita. Fechar um visualizador somente leitura mantém a conexão ativa; perder o visualizador que detém o controle deixa a entrada pausada. Após reconectar ou transferir o controle, examine uma captura nova e respeite o estado de controle.
Resolver a falha específica
- Formato de executável incorreto: compare
uname -mcom a arquitetura baixada; os arquivos x86_64 e ARM64 não são intercambiáveis. - Permissão negada: confira o bit de execução e se o sistema de arquivos permite executar programas. Escolha uma pasta de usuário adequada em vez de elevar privilégios.
- Erro de conexão ou autenticação: confira rota, porta, serviço RDP, permissão da conta e erro retornado. Não repita senhas nem ative TLS antigo para falhas sem relação com TLS.
SDL_INIT_FAILEDsem desktop: a visualização nativa precisa de uma sessão gráfica; capturas CLI continuam disponíveis sem desktop. Um erro no visualizador, sozinho, não prova uma falha do RDP.CREDENTIAL_STORE_FAILED: credenciais salvas usam o Secret Service do host. Se ele não estiver disponível, use uma fonte compatível como--password-stdin; não considere a credencial salva.
Continue pelo início rápido, pela referência de comandos ou pelo envio e download de arquivos por RDP. A troca de arquivos também depende de redirecionamento de unidades no servidor e de permissões nos arquivos.