मैं अमेज़ॅन EC2 विंडोज मशीन के रिज़ॉल्यूशन को कैसे बदलूं?


9

(मैंने इसे यहां पोस्ट करने के बीच बहस की, सर्वरफॉल्ट और स्टैकऑवरफ्लो। इसके लिए समझौता किया। उम्मीद है कि यह सही जगह पर है।)

हम अपने यूआई परीक्षण सूट को अमेज़ॅन ईसी 2 विंडोज मशीन के साथ सेलेनियम ग्रिड 2 का उपयोग करके चलाते हैं (जो अमेज़ॅन क्लाउडफ़ॉर्मेशन एपीआई का उपयोग करने में शुरू हुआ है)। मेरा सवाल यह है कि मैं उस मशीन के रिज़ॉल्यूशन को कैसे बदलूं?

यदि मैं इसमें रिमोट करता हूं, तो मैं रिमोट डेस्कटॉप का उपयोग करके रिज़ॉल्यूशन निर्दिष्ट कर सकता हूं। लेकिन जाहिर है कि यह संकल्प को स्थायी रूप से नहीं बदलता है। जब हम अपने परीक्षण चलाते हैं, तो रिज़ॉल्यूशन इतना छोटा होता है कि ब्राउज़र तत्वों को एक साथ दबा देता है और परीक्षण विफल हो जाता है।

कोई विचार? क्या मैं CloudFormation रेसिपी में कुछ डाल सकता हूँ? क्या एएमआई बनाने से पहले मैं कुछ कर सकता हूं?

डिवाइस मैनेजर का स्क्रीनशॉट

धन्यवाद।


1
दिलचस्प। यह एक मानक उदाहरण होना चाहिए जिसकी मैं कल्पना करता हूं, इसलिए कोई CUDA ग्राफ़िक्स कार्ड उदाहरण के लिए असाइन नहीं किया गया है। तो आप एक मानक वर्चुअल ग्राफिक्स कार्ड के साथ काम कर रहे हैं। यह डिवाइस मैनेजर में कैसा दिखता है? क्या आप स्क्रीनशॉट पोस्ट कर सकते हैं? आप कंसोल के लिए RDP-आईएनजी द्वारा यह उच्च मजबूर करने के लिए सक्षम हो सकते हैं:mstsc.exe /console
पॉल

@Paul, मैंने एक स्क्रीनशॉट जोड़ा। यह एक मानक उदाहरण है। विंडोज सर्वर आर 2। धन्यवाद।
जोएल

@ योएल, क्या आपने कभी इसका समाधान किया? मैं कई दिनों से ऐसा करने की कोशिश कर रहा हूं, जिसमें नीचे दिए गए उत्तरों का उपयोग करना शामिल है, लेकिन अब तक कोई भाग्य नहीं है। एएमआई से रिबूट, या निर्माण पर (यहां तक ​​कि उन लोगों के लिए जिनके पास उन पर लागू उत्तर हैं), वे अभी भी 1024x768 में शुरू होते हैं।
शॉन

जवाबों:


4

अस्वीकरण: TightVNC सुरक्षित नहीं है, इसलिए यदि सुरक्षा एक समस्या है, तो आपको एक अलग दृष्टिकोण खोजने की आवश्यकता हो सकती है। पूरी प्रक्रिया में केवल कुछ मिनट लगेंगे, इसलिए सुरक्षा छेद छोटा है, लेकिन फिर भी।

  1. EC2 उदाहरण पर TightVNC सर्वर स्थापित करें ताकि आप कंसोल में लॉग इन कर सकें
  2. सभी उपयोगकर्ता दूरस्थ डेस्कटॉप सत्र डिस्कनेक्ट करें और सत्र को कंसोल पर लौटाएं
  3. EC2 इंस्टेंस कंसोल में लॉग इन करने के लिए TightVNC व्यूअर का उपयोग करें, यह सुनिश्चित करता है कि पोर्ट 5900 उस कनेक्शन के लिए खुला है
    • डेस्कटॉप पर राइट-क्लिक करें और "स्क्रीन रिज़ॉल्यूशन" चुनें
    • "उन्नत सेटिंग" चुनें
    • "सभी मोड़ों की सूची चुनें"
    • एक उच्च संकल्प का चयन करें

इससे मुझे अपने संकल्प को बदलने की अनुमति मिली, जिसका मानना ​​था कि मैं अपनी वास्तविक समस्या को ठीक करूंगा, हालांकि ऐसा नहीं हुआ। टास्क शेड्यूलर के माध्यम से मेरी सेलेनियम टेस्ट जो मेरी विंडोज़ 2008 ईएक्स 2 सर्वर पर स्वचालित चल रही हैं, अभी भी एक छोटे से रिज़ॉल्यूशन पर चल रही हैं। उपरोक्त के साथ अद्यतन करने के बाद भी, वे एक छोटे से संकल्प पर चल रहे हैं। हाँ, सेलेनियम कॉन्फ़िगरेशन में रिज़ॉल्यूशन को अधिकतम करने के लिए विंडो सेट की गई हैं।
कॉपी और पेस्ट

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 है।

जब तक वे हेक्साडेसिमल हैं, तब तक आप वास्तव में किसी भी एक्सोसेलिंग और YResolution मूल्य को निर्दिष्ट कर सकते हैं।

नोट: CRT मॉनिटर के मामले में एक बेतुके संकल्प को निर्दिष्ट करने से आपका मॉनिटर खराब हो सकता है। एलसीडी मॉनिटर के मामले में आपका मॉनिटर अब कोई भी यूजर इंटरफेस नहीं दिखा सकता है। अपने स्क्रीन रिज़ॉल्यूशन को बदलने का एक अच्छा तरीका यह है कि आप अपनी स्क्रीन की चौड़ाई (यह एक्सरेसोल्यूशन) भरें और आपके स्क्रीन की ऊँचाई (YResolution) पर आप जितनी पिक्सेल चाहते हैं, उतने पिक्सेल लिखना चाहते हैं। विंडोज कैलकुलेटर (सर्वर कोर में उपलब्ध नहीं है, आपको एक अन्य कंप्यूटर या एक हार्डवेयर उन्नत कैलकुलेटर खोजना होगा) दशमलव राशियों को हेक्साडेसिमल मात्रा में बदलने का एक आसान तरीका प्रदान करता है। तब आप संबंधित रजिस्ट्री मानों को संशोधित करने के लिए इन मानों का उपयोग कर सकते हैं। एक पुनरारंभ आपके पसंदीदा स्क्रीन रिज़ॉल्यूशन को वास्तविकता को पूरा करेगा।

आपके मॉनिटर पर उपयोग की गई रंग की गहराई को निम्न रजिस्ट्री मान में कैप्चर किया गया है: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Video\GUID\0000\DefaultSettings.BitsPerPelमेरे बॉक्स पर यह हेक्साडेसिमल मान 0x00000008 (8) पर सेट किया गया था, जिसका मतलब था कि मेरी स्क्रीन में 8 बिट रंग की गहराई का उपयोग किया गया था। (256 रंग) इसे 16 बिट्स (0x00000010) में बदलने पर 65536 रंग (उच्च रंग) दिखाई देंगे। आमतौर पर उपलब्ध अन्य मूल्य 24 बिट्स (0x00000018) और 32 बिट्स (0x00000020) हैं।

स्रोत


मेरे पास DefaultSettings नहीं है। * GUID.0000 में से किसी में रिज़ॉल्यूशन कुंजी। मुझे लगता है कि यह है क्योंकि यह केवल आभासी उपकरणों है। क्या मैं उनमें से प्रत्येक में वह कुंजी जोड़ सकता हूँ? क्या इससे काम हो जायेगा?
जोएल

@Joel: मुझे संदेह है। वहाँ एक 'वीडियो' शाखा बिल्कुल नहीं है? मेरे पास EC2 पर एक सर्वर कोर 2008 R2 उदाहरण है, इसलिए आज शाम को मैं इसे देखूंगा।
पैराडायरायड

हाँ, ऐसा नहीं सोचा था। सोचा था कि मैं फिर भी पूछूंगा। मैं समाधान खोजता रहूँगा। अगर आपको कुछ भी मिले तो मुझे बताएं। धन्यवाद।
जोएल

मेरे पास अपनी रजिस्ट्री में DefaultSettings * भी नहीं है। मैं इस समाधान का प्रयास भी नहीं कर सका। ऐसा लगता है कि यह कुछ मदद कर सकता है, बस सभी नहीं।
कॉपी और पेस्ट

1

मैं ऊपर दिए गए @ केनी-ट्रेटेक के उत्तर के संयोजन का उपयोग करके और ऑटो लॉगिन सेट करके इस काम को प्राप्त करने में सक्षम था।

मुझे लगता है कि वीएनसी रिज़ॉल्यूशन केवल वर्तमान उपयोगकर्ता के लिए सेट हो जाता है, इसलिए ऑटो-लॉगिन सेट करना सुनिश्चित करता है कि इस उपयोगकर्ता का एक खुला सत्र है।

सेटअप ऑटो लॉगिन https://support.microsoft.com/en-us/kb/324737

अगला, स्टार्ट अप फ़ोल्डर में उपयोगकर्ता सेलेनियम नोड प्रक्रिया को बंद करने के लिए एक शॉर्टकट या बैट फ़ाइल प्रदान करते हैं।


1
कृपया संदर्भ लिंक (एस) से उत्तर के आवश्यक भागों को उद्धृत करें, क्योंकि लिंक लिंक किए गए पृष्ठ बदलने पर उत्तर अमान्य हो सकता है।
DavidPostill

1

मैंने सबसे ऊपर सभी की कोशिश की और असफल रहा। मेरी स्थिति के लिए एक समाधान अनोखा मिला जो सरल था..उपयोग की खिड़कियों के पॉवर-शेल।

पावर-शेल स्क्रिप्ट लिखी

Set-DisplayResolution -Width 1920 -Height 1080 -Force

इसका नाम resolution.ps1 है

C: \ myTestFolder में सहेजा गया है

और इसे कमांड लाइन से नीचे की तरह चलाएं ..... (मेरी स्क्रिप्ट बैच फ़ाइलों द्वारा संचालित होती हैं)

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

0

यहाँ पर मैंने RWS का उपयोग करके AWS विंडोज पर बिना स्क्रीन वाला रिज़ॉल्यूशन सेट किया है:

  • एक नया उपयोगकर्ता बनाएँ जिसे rdp_local कहा जाता है
  • निर्दिष्ट रिज़ॉल्यूशन में निर्दिष्ट उपयोगकर्ता खाते (जैसे सेलेनियम) में आरडीपी के लिए एक स्टार्टअप स्क्रिप्ट बनाएं
  • RDP पोर्ट 3389 खोलने के लिए फ़ायरवॉल नियम जोड़ें
  • रिबूट पर rdp_local के रूप में लॉगिन करने के लिए ऑटो-लॉगऑन कॉन्फ़िगर करें

ध्यान दें कि ऑटो-लॉगऑन को उपयोगकर्ता नाम और पासवर्ड की आवश्यकता होती है और यह पासवर्ड विंडोज़ रजिस्ट्री एचकेएलएम \ सॉफ्टवेयर \ माइक्रोसॉफ्ट \ विंडोज एनटी / करंट वर्जन \ विनलॉगन के तहत अनएन्क्रिप्टेड स्टोर किया जाता है।

अमेज़ॅन विंडोज सर्वर 2012 R2 एएमआई पर परीक्षण किया गया।

यहाँ एक बावर्ची रसोई की किताब है जो उपरोक्त कार्य करती है: https://github.com/dhoer/chef-windows_screenerts


अद्यतन: मैं सेलेनियम परीक्षण के लिए उपयोग की जाने वाली विंडोज़ मशीनों पर स्क्रीन रिज़ॉल्यूशन सेट करने के लिए github.com/dhoer/choco-screen-resolution#screen-resolution का उपयोग करने की सलाह दूंगा । इसे स्थापित करने के लिए किसी ड्राइवर की आवश्यकता नहीं है और ऑटो-लॉगिन सुरक्षित है (सादे पाठ में कोई पासवर्ड नहीं)
डेनिस होयर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.