Amazon EC2 Windows 머신의 해상도를 어떻게 변경합니까?


9

(나는 여기에 ServerFault 및 StackOverFlow를 게시하는 것에 대해 토론했습니다. 이것을 해결했습니다. 잘하면 좋을 것입니다.)

Amazon EC2 Windows 머신 (Amazon의 CloudFormation API를 사용하여 시작)과 함께 Selenium Grid 2를 사용하여 UI 테스트 스위트를 실행합니다. 내 질문은 어떻게 그 컴퓨터의 해상도를 변경합니까?

원격으로 연결하면 원격 데스크톱을 사용하여 해상도를 지정할 수 있습니다. 그러나 분명히 해상도가 영구적으로 바뀌지는 않습니다. 테스트를 실행할 때 해상도가 너무 작아서 브라우저가 요소를 함께 축소하여 테스트가 실패합니다.

어떤 아이디어? CloudFormation 레시피에 넣을 수있는 것이 있습니까? AMI를 생성하기 전에 이미지에 수행 할 수있는 작업이 있습니까?

장치 관리자의 스크린 샷

감사.


1
흥미 롭군 제가 생각하는 표준 인스턴스 여야하므로 인스턴스에 지정된 CUDA 그래픽 카드가 없습니다. 따라서 표준 가상 그래픽 카드로 작업하고 있습니다. 장치 관리자에서 어떤 모습입니까? 스크린 샷을 게시 할 수 있습니까? 콘솔에 rdp-ing하여 더 높은 수준으로 강제 설정할 수 있습니다.mstsc.exe /console
Paul

@Paul, 스크린 샷을 추가했습니다. 표준 인스턴스입니다. Windows Server R2. 감사.
Joel

@Joel,이 문제를 해결 한 적이 있습니까? 아래 답변을 사용하는 것을 포함하여 며칠 동안이 작업을 수행하는 방법을 찾으려고 노력했지만 지금까지는 운이 없습니다. 재부팅하거나 AMI에서 생성 (응답이 적용된 것 포함)하더라도 여전히 1024x768에서 시작합니다.
Sean

답변:


4

면책 조항 : TightVNC는 ​​안전하지 않으므로 보안에 문제가 있으면 다른 접근법을 찾아야 할 수도 있습니다. 전체 프로세스는 몇 분 밖에 걸리지 않으므로 보안 허점이 작지만 그럼에도 불구하고 보안 허점은 작습니다.

  1. 콘솔에 로그인 할 수 있도록 EC2 인스턴스에 TightVNC 서버를 설치하십시오.
  2. 모든 사용자 원격 데스크톱 세션 연결을 끊고 세션을 콘솔로 반환
  3. TightVNC 뷰어를 사용하여 EC2 인스턴스 콘솔에 로그인하여 해당 연결에 포트 5900이 열려 있는지 확인하십시오.
    • 바탕 화면을 마우스 오른쪽 버튼으로 클릭하고 "화면 해상도"를 선택하십시오.
    • "고급 설정"을 선택하십시오.
    • "모든 모드 나열"을 선택하십시오
    • 더 높은 해상도를 선택하십시오

이것은 나의 결의안을 바꿀 수있게 해주 었는데, 그것은 나의 실제 문제를 해결할 것이라고 믿었지만, 그렇지 않았다. 작업 스케줄러를 통해 Windows 2008 ec2 서버에서 자동으로 실행되는 셀레늄 테스트는 여전히 작은 해상도로 실행됩니다. 위의 내용으로 업데이트 한 후에도 더 작은 해상도로 실행됩니다. 예, 창은 셀레늄 구성에서 해상도를 최대화하도록 설정되어 있습니다.
복사 및 붙여 넣기

1

두 개의 레지스트리 값을 수정하여 화면 해상도를 변경할 수 있습니다. 이 두 값은 다음과 같습니다. HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Video\GUID\0000\DefaultSettings.XResolution HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Video\GUID\0000\DefaultSettings.YResolution여기서 GUID는 임의로 생성 된 GUID입니다.

실제로 16 진수 인 한 XResolution 및 YResolution 값을 지정할 수 있습니다.

참고 : CRT 모니터의 경우 해상도가 불규칙하면 모니터가 손상 될 수 있습니다. LCD 모니터의 경우 모니터에 더 이상 사용자 인터페이스가 표시되지 않을 수 있습니다. 화면 해상도를 변경하는 좋은 방법은 화면 너비를 채우려는 픽셀 양 (XResolution)과 화면 높이에서 원하는 픽셀 양 (YResolution)을 기록하는 것입니다. Windows 계산기 (Server Core에서는 사용할 수 없으며 다른 컴퓨터 나 하드웨어 고급 계산기를 찾아야 함)는 10 진수를 16 진수로 쉽게 변환 할 수있는 방법을 제공합니다. 그런 다음이 값을 사용하여 해당 레지스트리 값을 수정할 수 있습니다. 다시 시작하면 원하는 화면 해상도가 현실이됩니다.

모니터에 사용 된 색 농도는 다음 레지스트리 값으로 캡처됩니다. HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Video\GUID\0000\DefaultSettings.BitsPerPel내 상자에서이 16 진수 값은 0x00000008 (8)로 설정되어 화면에 8 비트 색 농도가 사용되었습니다. (256 색) 16 비트 (0x00000010)로 변경하면 65536 색 (고색)으로 표시됩니다. 일반적으로 사용 가능한 다른 값은 24 비트 (0x00000018)와 32 비트 (0x00000020)입니다.

출처


GUID.0000에 DefaultSettings. * Resolution 키가 없습니다. 가상 장치 만 있기 때문이라고 생각합니다. 각각에 해당 키를 추가 할 수 있습니까? 작동합니까?
Joel

@Joel : 의심합니다. '비디오'지점이 없습니까? EC2에 Server Core 2008 R2 인스턴스가 있으므로 오늘 저녁에 살펴 보겠습니다.
paradroid

예, 그렇게 생각하지 않았습니다. 어쨌든 물어볼 줄 알았는데 계속 솔루션을 찾고 있습니다. 뭔가 찾으면 알려주세요. 감사.
Joel

또한 레지스트리에 DefaultSettings. *가 없습니다. 이 솔루션을 시도조차 할 수 없었습니다. 그것은 전부가 아니라 일부를 도울 수있는 것처럼 보입니다.
복사 및 붙여 넣기

1

위의 @ kenny-trytek 답변과 자동 로그인 설정을 조합 하여이 작업을 수행 할 수있었습니다.

VNC 해상도는 현재 사용자에 대해서만 설정되므로 자동 로그인을 설정하면이 사용자에게 열린 세션이 있습니다.

자동 로그인 설정 https://support.microsoft.com/en-us/kb/324737

그런 다음 사용자의 시작 폴더에 셀레늄 노드 프로세스를 시작하기위한 바로 가기 또는 박쥐 파일을 제공하십시오.


1
링크 된 페이지가 변경되면 답변이 유효하지 않을 수 있으므로 참조 링크에서 답변의 필수 부분을 인용하십시오.
DavidPostill

1

나는 위의 모든 것을 시도했지만 실패했습니다. 내 상황에 맞는 솔루션을 찾았습니다. ..Windows power-shell을 사용하십시오.

파워 쉘 스크립트 작성

Set-DisplayResolution -Width 1920 -Height 1080 -Force

이름을 resolution.ps1

C : \ myTestFolder에 저장

아래 명령 줄에서 실행하십시오 ..... (내 스크립트는 배치 파일에 의해 구동됩니다)

WindowsPowerShell\v1.0\powershell.exe C:\myTestFolder\resolution.ps1

0

RDP를 사용하여 AWS Windows에서 헤드리스 화면 해상도를 설정하는 방법은 다음과 같습니다.

  • rdp_local이라는 새 사용자를 만듭니다.
  • 지정된 해상도에서 지정된 사용자 계정 (예 : 셀레늄)으로 RDP에 대한 시작 스크립트 생성
  • RDP 포트 3389를 여는 방화벽 규칙 추가
  • 재부팅시 rdp_local로 로그인하도록 자동 로그온 구성

자동 로그온에는 사용자 이름과 비밀번호가 필요하며 비밀번호는 Windows 레지스트리 HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon에 암호화되지 않은 상태로 저장됩니다.

Amazon Windows Server 2012 R2 AMI에서 테스트되었습니다.

위의 작업을 수행하는 Chef 요리 책은 다음과 같습니다. https://github.com/dhoer/chef-windows_screenresolution


업데이트 : 셀레늄 테스트에 사용되는 Windows 컴퓨터에서 화면 해상도를 설정하려면 github.com/dhoer/choco-screen-resolution#screen-resolution 을 사용하는 것이 좋습니다 . 설치할 드라이버가없고 자동 로그인이 안전합니다 (일반 텍스트에는 암호가 없음)
Dennis Hoer
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.