RDP do Windows - É possível redimensionar a resolução on-the-fly?

30

Gostaria de saber se é possível redimensionar a área de trabalho em uma sessão RDP em tempo real

Sei que você pode fazer isso antes de se conectar, mas estou procurando redimensioná-lo rapidamente, de forma semelhante à forma como o vmware funciona. Se eu a tiver em uma janela com 800 x 600, gostaria que a área de trabalho remota fosse redimensionada para 800 x 600 ... mas se eu maximizar minha janela local ou ficar em tela cheia, gostaria que a área de trabalho remota assumisse a resolução da área local PC ou as dimensões da janela.

O VMWare faz isso exatamente como eu quero com uma opção chamada "usar configurações de host para monitores"

À medida que dimensiono a janela, a área de trabalho no sistema operacional convidado é escalada, eu gostaria de fazer isso em uma sessão RDP?

Alguma ideia?

zimmer62
fonte
Desculpe, mas não consigo escolher uma resposta. Deve haver algum truque para permitir isso.
precisa saber é o seguinte
Eu criei um wrapper em torno do rdesktop que o reconecta com a nova geometria sempre que você redimensiona a janela. É basicamente apenas um hack rápido, mas realmente útil. Este é apenas o Linux, mas tenho 100% de certeza de que isso também pode ser implementado no Windows. github.com/kalmi/rrdesktop
Kálmán
1
Reiniciar parece uma dor, mas acho que é a melhor solução possível por enquanto. Sendo que algo como vmware faz isso em tempo real, eu acho que com algum tipo de software cliente em execução no controle remoto pode ajudar a alterar o tamanho da área de trabalho sem reiniciar. Examinarei se um script autoit ou um script autohotkey poderia ajudar a fazer isso rapidamente.
Zimmer62
1
Não é uma dor do jeito que eu a implementei. Você fornece seu nome de usuário e senha na linha de comando. E sempre que você redimensionar a janela, ela apenas reiniciará a sessão e efetuará login novamente. Na verdade, é como redimensionar uma janela de vmware. Torna-se utilizável novamente em menos de 2 segundos.
Tarnay Kálmán

Respostas:

8

Isso é implementado como um novo recurso chamado "Atualização Dinâmica de Resolução" e foi introduzido no Windows 8.1. Enquanto a resolução estiver definida como "Tela inteira" no cliente, a resolução da área de trabalho será mantida em sincronia com o cliente.

Uma das alterações que fizemos como parte do RDP 8.1 é a adição de uma nova mensagem que pode ser enviada do cliente para o servidor para atualizar dinamicamente a resolução dentro da sessão remota para corresponder ao que está disponível no cliente sem a necessidade para fazer uma reconexão completa da sessão. Anteriormente, apenas definíamos a resolução remota durante a conexão inicial. Com essa alteração, a resolução é definida no momento da conexão e pode ser atualizada quando a resolução do cliente é alterada enquanto o aplicativo está no modo de tela cheia ou quando o aplicativo passa do modo de janela para a tela inteira. A alteração da resolução é rápida o suficiente para ser praticamente a mesma que uma alteração local.

Veja o anúncio no blog do RDS para mais informações.

Mitch
fonte
2
A atualização de resolução dinâmica funciona se você usar o 'Microsoft Remote Desktop' da Windows Store, mas não há como habilitá-lo usando a área de trabalho remota da versão padrão da área de trabalho do Windows (mstsc). Infelizmente, o cliente RDP da Windows Store é limitado a uma única sessão de cada vez!
precisa saber é o seguinte
@ Sevin7, a versão para desktop da Área de Trabalho Remota (bom e velho mstsc) responderá aos ajustes de resolução quando maximizada. Por exemplo, se você conectar um laptop, uma sessão conectada será atualizada para o novo tamanho do monitor. Isso também ocorre ao maximizar para um monitor de tamanho diferente. A versão da Área de Trabalho Remota da Windows Store será redimensionada no redimensionamento da janela e suporta várias conexões no modo com guias, mas não em várias janelas.
Mitch
1
Mitch: obrigado por esclarecer. A postagem do blog da Microsoft mencionou que deveria funcionar se você iniciar em tela cheia, mas não consegui fazê-lo funcionar porque não tenho vários monitores executando resoluções diferentes. Eu estava tentando fazê-lo ajustar a resolução ao redimensionar de tela cheia para tela não cheia (com janela), o que é algo que o aplicativo Windows Store faz, mas o mstsc não faz.
precisa saber é o seguinte
7

Você pode procurar a seguinte configuração no arquivo RDP:

smart sizing:i:1

O uso do dimensionamento inteligente permitirá dimensionar sua sessão e remover as barras de rolagem. Você pode tentar ajustar o tamanho da tela antes de conectar para obter os efeitos desejados. Não é exatamente o que você está procurando, mas o mais próximo que você encontrará para usar a implementação atual do RDP.

A única ressalva aqui é que a área de trabalho ainda permanecerá na resolução efetiva com a qual você começa. Por exemplo, se você iniciar a área de trabalho em 1024x768, poderá redimensioná- la (e ela será reduzida, ficando menor e mais difícil de ler) tudo o que desejar, mas não poderá redimensioná-la para preencher totalmente uma tela de 1080p. Se você começar com vários monitores e depois reduzi-lo para um único monitor, o monitor RDP mostrará os vários desktops lado a lado, amontoados, em uma janela.

Veja aqui um blog com mais detalhes.

Como um aparte, muitas vezes usei a lista compilada de configurações de arquivo RDP da Universidade da Carolina do Norte no Charlotte College of Engineering. Espero que isto ajude.

Eric
fonte
1
Gosto de dimensionamento inteligente, mas o que realmente estou procurando é mudar a resolução sem reconectar.
zimmer62
3

Smart sizing agora é um recurso completo da área de trabalho remota, mas está "oculto" no menu do botão direito

insira a descrição da imagem aqui

Fonte: meu artigo (italiano) aqui ( Google Translate )

Espero que esta ajuda

Dr. Gianluigi Zane Zanettini
fonte
1
Eu gosto disso, mas não é exatamente o que estou procurando. Se você tiver a chance de ver como o VMWare faz isso, permitirá redimensionar a área de trabalho sem redimensioná-la.
zimmer62
Entendo o que você quer dizer agora e tenho certeza de que atualmente não há suporte para o RDP, mesmo que possa realmente ser muito útil.
Dr. Gianluigi Zane Zanettini
0

Não sei como redimensionar uma vez que a sessão é iniciada com o cliente RDP padrão. Você pode tentar o mRemote, que permite isso com a opção "Redimensionamento inteligente". (Advertência: a página de visão geral do mRemote informa que o mRemote é executado apenas no Windows XP e Windows Vista, não no linux.)

prototypef
fonte
mRemote não existe mais. Foi substituído por um software comercial. Há também mRemoteNG . Atualize sua postagem de acordo.
Der Hochstapler 10/10/12
0

Estou apenas colocando isso aqui para visibilidade, crédito total para o Sevin7 pelo comentário acima:

Use o aplicativo Microsoft Remote Desktop da Windows Store em vez da versão inserida no Windows. Tem uma opção que você precisa ativar ao fazer sua primeira conexão para "atualizar a resolução da sessão remota ao redimensionar", que permanecerá ativada para as conexões subseqüentes.

Ben
fonte
0

Você pode usar o WSL no Windows e instalar o freerdp2-x11 (eu uso o debian): apt update apt upgrade para instalar o freerdp2-x11 export DISPLAY = localhost: 0.0

execute um xserver (vcxsrv por exemplo) no seu computador com Windows xfreerdp / u: / v: / dynamic-resolution

Depois de redimensionar, a resolução é ajustada. E é grátis :-)

Jeroen Bleeker
fonte