Como altero a resolução de uma máquina Windows do Amazon EC2?

9

(Eu debati entre postar isso aqui, ServerFault e StackOverFlow. Resolvido por isso. Espero que esteja no lugar certo.)

Executamos nosso conjunto de testes de UI usando o Selenium Grid 2 com uma máquina Windows do Amazon EC2 (que é iniciada usando as APIs do Amazon CloudFormation). Minha pergunta é, como eu mudo a resolução daquela máquina?

Se eu for remoto, posso especificar a resolução usando a Área de Trabalho Remota. Mas obviamente isso não altera permanentemente a resolução. Quando executamos nossos testes, a resolução é tão pequena que o navegador agrupa os elementos e faz com que os testes falhem.

Alguma ideia? Existe algo que eu possa colocar na receita do CloudFormation? Há algo que eu possa fazer na imagem antes de criar a AMI?

Obrigado.

    
por Joel 20.04.2012 / 01:08

4 respostas

4

Isenção de responsabilidade: o TightVNC não é seguro, portanto, se a segurança for um problema, talvez seja necessário encontrar uma abordagem diferente. Todo o processo levará apenas alguns minutos, então o buraco de segurança é pequeno, mas ainda assim.

  1. Instale o TightVNC Server na instância do EC2 para que você possa efetuar login no console
  2. Desconecte todas as sessões da área de trabalho remota do usuário e retorne a sessão ao console
  3. Use o TightVNC Viewer para efetuar login no console da instância do EC2, garantindo que a porta 5900 esteja aberta para essa conexão
    • Cliquecomobotãodireitodomousenaáreadetrabalhoeselecione"Resolução da tela"
    • Selecione "Configurações avançadas"
    • Selecione "Listar todos os modos"
    • Selecione uma resolução maior
por 25.10.2012 / 23:07
1

Você pode alterar a resolução da tela modificando dois valores do Registro. Esses dois valores são: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Video\GUIDHKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Video\GUIDHKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Video\GUID%code%00\DefaultSettings.BitsPerPel00\DefaultSettings.YResolution00\DefaultSettings.XResolution %code% Onde GUID é um GUID gerado aleatoriamente.

Você pode especificar qualquer valor de XResolution e YResolution, desde que eles sejam hexadecimais.

Nota: No caso de um monitor CRT, especificar uma resolução absurda pode danificar seu monitor. No caso de um monitor LCD, seu monitor pode não mostrar mais nenhuma interface de usuário. Uma boa maneira de alterar a resolução da tela é anotar a quantidade de pixels com que você deseja preencher a largura da tela (essa é a resolução X) e a quantidade de pixels desejada na altura da tela (a resolução Y). A calculadora do Windows (não disponível no Server Core, você terá que encontrar outro computador ou uma calculadora avançada de hardware) oferece uma maneira fácil de converter valores decimais em valores hexadecimais. Você pode então usar esses valores para modificar os valores do registro correspondentes. Uma reinicialização fará com que sua resolução de tela preferida atenda à realidade.

A profundidade de cor usada em seu monitor é capturada no seguinte valor do Registro: %code% Na minha caixa, esse valor hexadecimal foi definido como 0x00000008 (8), o que significa que minha tela usava uma profundidade de cor de 8 bits. (256 cores) Alterando-o para 16 bits (0x00000010) mostrará 65536 cores (High Colors) Outros valores normalmente disponíveis são 24 bits (0x00000018) e 32 bits (0x00000020).

Origem

    
por 20.04.2012 / 03:33
1

Consegui fazer isso funcionar usando uma combinação da resposta do @kenny-trytek acima e configurando o login automático.

Acho que a resolução VNC só é definida para o usuário atual, portanto, a configuração do login automático garante que esse usuário tenha uma sessão aberta.

Configurar login automático link

Em seguida, na pasta Start Up do usuário, forneça um atalho ou um arquivo bat para iniciar o processo do nó de selênio.

    
por 20.07.2016 / 21:19
0

Veja como defini a resolução da tela sem cabeçalho no Windows AWS usando o RDP:

  • crie um novo usuário chamado rdp_local
  • crie um script de inicialização para o RDP em uma conta de usuário especificada (por exemplo, selênio) na resolução especificada
  • adicione uma regra de firewall para abrir a porta RDP 3389
  • configure o logon automático para efetuar login como rdp_local na reinicialização

Observe que o logon automático exige um nome de usuário e uma senha, e que a senha é armazenada sem criptografia no registro do Windows NT \ CurrentVersion \ Winlogon do HKLM \ SOFTWARE \ Microsoft \ Windows.

Testado na AMI do Amazon Windows Server 2012 R2.

Aqui está um livro de receitas do Chef que faz o seguinte: link

    
por 30.12.2016 / 18:22