จะเปลี่ยนความละเอียดหน้าจอของเซิร์ฟเวอร์ VNC โดยไม่ต้องทำการรีสตาร์ทได้อย่างไร?


17

เป็นไปได้หรือไม่ที่จะเปลี่ยนความละเอียดของวิวเวอร์ที่ระบุระหว่างการเริ่มต้นเซิร์ฟเวอร์ vnc ด้วยอาร์กิวเมนต์บรรทัดคำสั่งเรขาคณิต? ฉันมี vncserver กำหนดค่าไว้สำหรับหน้าจอกว้าง แต่ฉันต้องการดูบนหน้าจอ 1024x768

คำตอบ:


10

UltraVNC ผู้ชมสนับสนุนการปรับอัตโนมัติดังนั้นมันจะปรับขนาดหน้าต่างดูโดยอัตโนมัติเพื่อแสดงหน้าจอทั้งหมดของเซิร์ฟเวอร์ระยะไกล

VNC Viewer

ปรับปรุง

ทั้งการแสดงผลแบบRealVNCและTightVNC / การปรับสก์ท็อป


ฉันใช้ vnc จริง 4.1.3 จะหาตัวเลือกการปรับขนาดเดสก์ทอปได้ที่ไหน ฉันหามันไม่เจอ.
Rohit Banga

มันไม่ได้รวมอยู่ใน RealVNC Free Edition คุณต้องใช้รุ่น Personal หรือ Enterprise ดูการเปรียบเทียบคุณสมบัติrealvnc.com/products/download.html
stukelly

ฉันดาวน์โหลดตัวแสดง vnc พิเศษแล้ว มันได้ผลขอบคุณ
Rohit Banga

2
ไม่ปรับขนาด แต่ปรับขนาดเปลี่ยนความละเอียดของพีซีที่ควบคุมโดยอัตโนมัติเพื่อจับคู่กับหน้าจอควบคุม
realtebo

ระวัง: การปรับขนาดอัตโนมัติไม่เปลี่ยนความละเอียดของเดสก์ท็อประยะไกลมันแค่ทำให้พิกเซลใหญ่ขึ้น (หรือเล็กกว่า) โดยขยายภาพที่ส่งออก สำหรับการปรับสเกลอัตโนมัติของผู้ใช้ส่วนใหญ่นั้นไร้ประโยชน์อย่างแท้จริงเว้นแต่คุณจะมีความบกพร่องทางสายตา มันลดคุณภาพของภาพลงอย่างมาก มันทำงานได้เหมือนซูมหรือมองกระจกในเครื่องมือแก้ไขบิตแมปยอดนิยม สิ่งที่ผู้ใช้ต้องการจริงๆคือการเปลี่ยนแปลงความละเอียดจริงของเซสชันระยะไกลและจนถึง TigerVNC เท่านั้นที่สามารถทำได้จากผู้ชมฟรีทุกคน ดูคำตอบของฉันด้านล่าง
Espinosa

11

มีการถามคำถามเดียวกันนี้เมื่อไม่นานมานี้เกี่ยวกับการล้นสแต็ก: /programming/15816/changing-the-resolution-of-a-vnc-session-in-linux

คำตอบที่ได้รับการยอมรับจาก Nathan Fellman:

เซิร์ฟเวอร์ Real VNC 4.4 มีการรองรับ Xrandr ซึ่งอนุญาตให้ปรับขนาด VNC เริ่มต้นเซิร์ฟเวอร์ด้วย:

vncserver -geometry 1600x1200 -randr 1600x1200,1440x900,1024x768

จากนั้นปรับขนาดด้วย:

xrandr -s 1600x1200
xrandr -s 1440x900  
xrandr -s 1024x768  

ด้วยไคลเอนต์ TigerVNC คุณไม่จำเป็นต้องตั้งรูปทรงใด ๆ บนฝั่งเซิร์ฟเวอร์ เซิร์ฟเวอร์ของฉันถูกเรียกใช้โดยไม่มีการตั้งค่าที่ทุกคนและเพียงแค่พื้นฐาน-randr -geometry 1024x768ความละเอียดต่ำนี้จะใช้เฉพาะเมื่อคุณเชื่อมต่อครั้งแรก แต่จากนั้นคุณสามารถเปลี่ยนความละเอียดได้เพียงแค่ปรับขนาดหน้าต่างไคลเอ็นต์ให้เป็นทุกอย่างที่คุณต้องการความละเอียดที่ไม่ได้มาตรฐานและความละเอียดโฆษณาที่คุณต้องการ การตั้งค่าของฉัน: openSuse 15.1, GDM, KDE Plasma, ไคลเอนต์ TigerVNC 1.9.0 (Windows)
Espinosa

3

หากคุณต้องการเปลี่ยนการตั้งค่าโดยไม่ต้องรีสตาร์ทเซิร์ฟเวอร์ VNC ฉันได้ผลลัพธ์ที่ดีด้วย:

vncconfig -set RandR="1024x768,1600x900"

จากนั้นใช้ xrandr เพื่อเปลี่ยนความละเอียดตามคำแนะนำ fgregg:

xrandr -s 1024x768
xrandr -s 1600x900

1

ด้วยความละเอียดอัตโนมัติของไคลเอ็นต์TigerVNC Windows VNC (ตัวแสดง) จะทำงานนอกกรอบ ไม่จำเป็นต้องตั้งค่าอะไรบนไคลเอนต์หรือบนเซิร์ฟเวอร์ เมื่อคุณเชื่อมต่อกับเซิร์ฟเวอร์ของคุณเป็นครั้งแรกความละเอียดจะถูกตั้งค่าเป็นอะไรก็ตามที่ตั้งไว้ทางฝั่งเซิร์ฟเวอร์ แต่คุณสามารถเปลี่ยนได้อย่างง่ายดายเพียงแค่ปรับขนาดหน้าต่างไคลเอ็นต์ สำหรับความละเอียดใด ๆ ความละเอียดแบบบ้าคลั่งที่ไม่ได้มาตรฐานใด ๆ ที่คุณต้องการ ความละเอียดเดสก์ท็อประยะไกลพูด KDE ตามความละเอียดหน้าต่างไคลเอ็นต์ของคุณอย่างราบรื่น

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่

ตรวจสอบว่ามีการตั้งค่า "ปรับขนาดเซสชันระยะไกลเป็นหน้าต่างท้องถิ่น" ควรเป็นค่าเริ่มต้น

โปรดอย่าสับสนการเปลี่ยนแปลงความละเอียดอัตโนมัติด้วยการยืดภาพหรือเรียกอีกอย่างว่าการปรับขนาดอัตโนมัติ Caling นี้ไร้ประโยชน์จริงเว้นแต่คุณจะมีความบกพร่องทางสายตา มันทำงานได้เหมือนซูมหรือมองกระจกในเครื่องมือแก้ไขบิตแมปยอดนิยม มันทำให้พิกเซลใหญ่ขึ้น (หรือเล็กลง) โดยการขยายภาพออก มันลดคุณภาพของภาพลงอย่างมากหากคุณยืดออกมาก

สิ่งที่ผู้ใช้ต้องการโดยทั่วไปคือการเปลี่ยนแปลงความละเอียดที่แท้จริงของเซสชันระยะไกล และนั่นคือสิ่งที่ฉันพูดถึงก่อนหน้านี้และนั่นคือสิ่งที่ไคลเอ็นต์ TigetVNC สามารถใช้งานได้การจัดหาเซิร์ฟเวอร์มีฟังก์ชันการทำงานที่ตรงกัน การแก้ปัญหาอัตโนมัติช่วยให้ภาพคมชัดทุกขนาด ข้อเสียคือมันยังเพิ่มแบนด์วิดท์เครือข่าย

จนถึงตอนนี้ฉันพบว่ามีเพียง TigerVNC เท่านั้นที่สามารถแก้ไขปัญหาอัตโนมัติได้ ฉันทดสอบ TightVNC (โอเพ่นซอร์ส), RealVNC (รุ่นฟรี) และ UltraVNC (โอเพ่นซอร์ส) และไม่มีโชคกับพวกเขาเลยพวกเขาให้การปรับขนาดอัตโนมัติที่ไร้ประโยชน์ที่สุด

หน้าแรกของ TigerVNC: https://tigervnc.org/
แหล่ง TigerVNC: https://github.com/TigerVNC/tigervnc
TigerVNC เผยแพร่บน GitHub: https://github.com/TigerVNC/tigervnc/releases
TigerVNC ไบนารีเพื่อดาวน์โหลด: https: //bintray.com/tigervnc/stable/tigervnc/1.9.0

หากคุณต้องการเฉพาะวิวเวอร์ให้ดาวน์โหลดเฉพาะวิวเวอร์เช่นvncviewer64-1.9.0.exeซึ่งเป็นเพียงวิวเวอร์ที่ไม่มีเซิร์ฟเวอร์ VNC ที่ให้มาด้วย ระวังด้วยการให้บริการเซิร์ฟเวอร์ TigerVNC เริ่มต้นโดยอัตโนมัติในเบื้องหลังซึ่งฉันเกลียดอย่างยิ่งว่าเป็นภัยคุกคามความปลอดภัยที่เป็นไปได้

เซิร์ฟเวอร์ของฉันถูกเรียกใช้โดยไม่มีการตั้งค่าที่ทุกคนและเพียงแค่พื้นฐาน-randr -geometry 1024x768ความละเอียดต่ำนี้จะใช้เฉพาะเมื่อคุณเชื่อมต่อครั้งแรก แต่จากนั้นคุณสามารถเปลี่ยนความละเอียดได้เพียงแค่ปรับขนาดหน้าต่างไคลเอ็นต์ หากคุณสงสัยนี่คือคำสั่งเซิร์ฟเวอร์ VNC เต็มของฉัน:

/usr/bin/Xvnc -log *:syslog:30,TcpSocket:syslog:-1 -inetd -MaxDisconnectionTime=5 -securitytypes=none -displayfd 10 -geometry 1024x768 -AllowOverride=Desktop,AcceptPointerEvents,SendCutText,AcceptCutText,MaxDisconnectionTime,MaxConnectionTime,MaxIdleTime,QueryConnect,QueryConnectTimeOut,AlwaysShared,NeverShared,DisconnectClients,SecurityTypes,Password,PlainUsers -query localhost -once -desktop New session -extension MIT-SHM

ตามคำอธิบายแพ็คเกจxorg-x11-XvncopenSuse - เซิร์ฟเวอร์ openSuse VNC - สร้างขึ้นด้วยรหัส TigerVNC ดังนั้นในกรณีของฉันลูกค้า TigerVNC พูดคุยกับเซิร์ฟเวอร์ TigerVNC ดังนั้นบางทีนั่นอาจเป็นเหตุผลว่าทำไมทั้งหมดจึงราบรื่น :)

การตั้งค่าไคลเอนต์ของฉัน: ไคลเอนต์ TigerVNC 1.9.0 (Windows)
การตั้งค่าเซิร์ฟเวอร์ของฉัน: openSuse 15.1, xorg-x11-Xvnc 1.9.0, vncmanager 1.0.2, GDM, KDE Plasma


0

ด้วยTightVNC (อย่างน้อย) ถ้าเซิร์ฟเวอร์ (windows) เปลี่ยนความละเอียดหน้าจอไคลเอ็นต์จะเปลี่ยนโดยอัตโนมัติเพื่อให้ตรงกับความละเอียดใหม่


เป็นไปได้หรือไม่ที่จะมีพฤติกรรม RDP เมื่อตัวควบคุมเชื่อมต่อกับ windows ที่ถูกควบคุม windows ที่ควบคุมจะเปลี่ยนความละเอียดของมัน อย่าปรับขนาดเปลี่ยนความละเอียดเพื่อให้ตรงกับความละเอียดหน้าจอของตัวควบคุมอย่างน้อยที่สุดในอัตราส่วนของรูปแบบ
realtebo

ที่จะน่าสนใจตอนนี้แน่ใจว่ามันเป็นไปได้ ...
rogerdpack

0

สำหรับ TightVNC ให้คลิกที่ไอคอนรูปเฟือง (การตั้งค่า) และเปลี่ยนคุณภาพของภาพเป็น "สูง" และใช้งานได้ดี


ทำไมคุณภาพของภาพควรเกี่ยวข้องกับการเปลี่ยนความละเอียดของหน้าจอโดยอัตโนมัติในส่วนที่ควบคุม?
realtebo

มันไม่ทำงานสำหรับฉัน เพิ่งทดสอบ ขนาดไคลเอนต์ VNC นี้รองรับความละเอียดระยะไกลจากไคลเอนต์ VNC บางตัวเช่น TigerVNC แต่ไม่ใช่ TightVNC หรือ RealVNC (รุ่นฟรี) ฉันเพิ่งทดสอบกับ RealVNC Viewer 6.19.715 และ TightVNC Viewer สำหรับ Windows 2.8.23
Espinosa

0

ฉันได้รับการตอบกลับอย่างเป็นทางการไปยังฝ่ายบริการลูกค้า VNC

รุ่นสั้นคือ: ไม่คุณไม่สามารถเปลี่ยนความละเอียดระยะไกลเพื่อให้ตรงกับความละเอียดหน้าจอหน้าต่าง / ตัวควบคุม vnc ท้องถิ่นโดยอัตโนมัติ

พวกเขาบอกฉันว่าเป็นเพราะ RDP เป็นเซสชันการเข้าสู่ระบบจริงดังนั้นหน้าจอจะทำงานเหมือนคุณเป็นผู้ใช้ทั่วไปในระบบควบคุม

VNC เพียงแค่สะท้อนหน้าจอ และไม่ใช่เรื่องเลวร้ายเพราะคุณไม่สามารถแบ่งปันเซสชัน RDP แต่คุณสามารถแบ่งปัน VNC ได้

ฉันแนะนำให้สร้างการกำหนดค่าบนเซิร์ฟเวอร์ vnc เพื่อให้เปลี่ยนหน้าจอเพราะฉันรู้ว่า windows API อนุญาตให้บุคคลที่สาม sw ตั้งโปรแกรมความละเอียดหน้าจอโดยทางโปรแกรม

จากนั้นฉันจะรอ ....

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.