นี่คือคำสั่ง x11vnc ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้เวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
x11vnc - อนุญาตการเชื่อมต่อ VNC กับจอแสดงผล X11 จริง
เวอร์ชัน: 0.9.13, เวอร์ชันล่าสุด: 2011-08-10
เรื่องย่อ
x11vnc [ตัวเลือก]...
DESCRIPTION
การใช้งานทั่วไปคือ:
รันคำสั่งนี้ในเชลล์บนเครื่องระยะไกล "far-host" ด้วย X session you
ต้องการดู:
x11vnc - จอแสดงผล :0
จากนั้นเรียกใช้ในหน้าต่างอื่นบนเครื่องที่คุณกำลังนั่งอยู่ที่:
vncviewer ไกลโฮสต์:0
เมื่อ x11vnc สร้างการเชื่อมต่อกับเซิร์ฟเวอร์ X11 และเริ่มฟังเป็น VNC
เซิร์ฟเวอร์จะพิมพ์สตริง: PORT=XXXX โดยที่ XXXX โดยทั่วไปคือ 5900 (ค่าเริ่มต้นVNC
พอร์ตเซิร์ฟเวอร์) ต่อไปจะเรียกใช้สิ่งนี้บนเครื่องท้องถิ่น: "vncviewer
hostname:N" โดยที่ "hostname" คือชื่อเครื่องที่รัน x11vnc และ N คือ XXXX -
5900 นั่นคือปกติ "ชื่อโฮสต์ vncviewer:0"
โดยค่าเริ่มต้น x11vnc จะไม่อนุญาตให้แชร์หน้าจอและจะปิดทันทีที่
ลูกค้ายกเลิกการเชื่อมต่อ ดู - แบ่งปัน และ - ก่อนหน้านี้ ด้านล่างเพื่อแทนที่การป้องกันเหล่านี้ ดู
คำถามที่พบบ่อยสำหรับรายละเอียดวิธีอุโมงค์การเชื่อมต่อ VNC ผ่านช่องทางที่เข้ารหัสเช่น
SSH(1). โดยสังเขป:
SSH -t -L 5900:localhost:5900 โฮสต์ไกล 'x11vnc -localhost -แสดง : 0 '
% vncviewer - การเข้ารหัส 'คัดลอก zrle hextile แน่น' localhost:0
นอกจากนี้ การใช้รหัสผ่าน VNC (-rfbauth หรือ -passwdfile) ขอแนะนำอย่างยิ่ง
ดูข้อมูลเพิ่มเติมได้ที่: http://www.karlrunge.com/x11vnc/ และ
http://www.karlrunge.com/x11vnc/faq.html
รองรับไฟล์คอนฟิก: หากไฟล์ $HOME/.x11vncrc มีอยู่แล้ว แต่ละบรรทัดในไฟล์จะถือว่าเป็น
ตัวเลือกบรรทัดคำสั่งเดียว ปิดการใช้งานด้วย -นอร์ค สำหรับแต่ละชื่อตัวเลือก นำหน้า
ไม่จำเป็นต้องใช้อักขระ "-" เช่นบรรทัดที่ "ตลอดไป" หรือ "- ก่อนหน้านี้" อาจจะ
ใช้แล้วเทียบเท่า ในทำนองเดียวกัน "รอ 100" หรือ "-รอ 100" เป็นที่ยอมรับและเทียบเท่า
เส้น อักขระ "#" แสดงความคิดเห็นต่อท้ายบรรทัดด้วยวิธีปกติ (แบ็กสแลช
สำหรับตัวอักษร) ช่องว่างนำหน้าและต่อท้ายถูกตัดออก เส้นอาจจะ
ต่อด้วย "\" เป็นอักขระตัวสุดท้ายของบรรทัด (จะกลายเป็นอักขระเว้นวรรค)
OPTIONS
-แสดง จอ
เซิร์ฟเวอร์ X11 แสดงผลเพื่อเชื่อมต่อ โดยปกติ :0 กระบวนการเซิร์ฟเวอร์ X ต้องทำงานอยู่
บนเครื่องเดียวกันและรองรับ MIT-SHM เทียบเท่ากับการตั้งค่าสภาพแวดล้อม DISPLAY
ตัวแปรถึง จอ.
ดูคำอธิบายด้านล่างของ "-แสดง รอ:..." ส่วนขยาย โดยที่ alias
"-หา" จะค้นหาการแสดงผลของผู้ใช้โดยอัตโนมัติ และ "-สร้าง" จะสร้าง
เซสชัน Xvfb หากไม่พบเซสชัน
-รับรองความถูกต้อง ไฟล์
ตั้งค่าไฟล์สิทธิ X เป็น ไฟล์เทียบเท่ากับการตั้งค่า XAUTHORITY
ตัวแปรสภาพแวดล้อมถึง ไฟล์ ก่อนเริ่มต้น เหมือนกับ -xauth ไฟล์. ดู
Xsecurity(7), xauth(1) หน้าคนสำหรับข้อมูลเพิ่มเติม
ใช้ '-auth Guess' เพื่อให้ x11vnc ใช้ -findauth กลไก (อธิบายด้านล่าง) ถึง
พยายามเดาชื่อไฟล์ XAUTHORITY และใช้งาน
XDM/GDM/KDM: หากคุณใช้ x11vnc เป็นรูทและต้องการค้นหา XAUTHORITY
ก่อนที่ใครก็ตามจะเข้าสู่เซสชัน X ให้ใช้: x11vnc -env FD_XDM=1 -รับรองความถูกต้อง
เดา ... (สิ่งนี้จะพบ XAUTHORITY หากผู้ใช้ลงชื่อเข้าใช้ .แล้ว
X session.) เมื่อรันเป็น root, FD_XDM=1 จะถูกลองถ้า initial -รับรองความถูกต้อง
เดาล้มเหลว
-N
หากจอแสดงผล X เป็น :N ให้ลองตั้งค่าการแสดงผล VNC เป็น :N นี่เป็นเพียงการตั้งค่า
-rfbพอร์ต ตัวเลือกเป็น 5900+N โปรแกรมจะออกทันทีหากพอร์ตนั้นไม่ใช่
ใช้ได้ -N ตัวเลือกใช้งานได้กับปกติเท่านั้น -แสดง การใช้งาน เช่น :0 หรือ :8, -N
ถูกละเลยใน -แสดง รอ:..., -สร้าง, -หา, -svc, -เปลี่ยนเส้นทาง โหมด ฯลฯ
-ออโต้ n
โพรบโดยอัตโนมัติสำหรับพอร์ต VNC ฟรีโดยเริ่มต้นที่ n. ค่าเริ่มต้นคือการเริ่ม
โพรบที่ 5900 ใช้สิ่งนี้เพื่ออยู่ห่างจากเซิร์ฟเวอร์ VNC อื่นใกล้กับ 5900
-rfbพอร์ต Str
พอร์ต VNC ที่จะรับฟัง (ตัวเลือก LibVNCServer) เช่น 5900, 5901 เป็นต้น ถ้า
ระบุเป็น "-rfbพอร์ต แจ้งให้" แล้ว x11vnc -กุย ใช้เพื่อแจ้งให้ผู้ใช้
ป้อนหมายเลขพอร์ต
-6
รองรับการฟัง IPv6 นอกจาก IPv4 แล้ว ที่อยู่ IPv6 ยังรับฟังอยู่สำหรับ
การเชื่อมต่อขาเข้า ใช้หมายเลขพอร์ตเดียวกันกับ IPv4
หมายเหตุ: ไบนารี x11vnc นี้ถูกคอมไพล์เพื่อให้มีโหมดการฟัง IPv6 "-6" ที่เปิดใช้งาน
โดยค่าเริ่มต้น (CPPFLAGS -DX11VNC_LISTEN6=1) ดังนั้นเพื่อปิดการใช้งานโหมดฟัง IPv6 คุณ
ต้องจัดหา "-no6" ตัวเลือก (ดูด้านล่าง)
โหมด "-6" ใช้งานได้ทั้งการเชื่อมต่อปกติและ -ssl คนที่เข้ารหัส เกือบ
รองรับทุกอย่างสำหรับเคส IPv6 แต่มีข้อยกเว้นบางประการ ดู
-ตะลึง สำหรับการสนับสนุน IPv6
ปัจจุบันนี้เพื่อให้ทุกอย่างทำงานได้อย่างถูกต้อง เครื่องอาจต้องมี
รองรับ IPv4 อย่างน้อยก็สำหรับอินเทอร์เฟซลูปแบ็ค อย่างไรก็ตาม สำหรับเกือบ
โหมดการใช้งานทั้งหมดไม่จำเป็นต้องรองรับ IPv4 ดู -nopiv4.
หากคุณมีปัญหาในการรวบรวมหรือใช้งานในโหมด IPv6 ให้ตั้งค่า -DX11VNC_IPV6=0 in
CPPFLAGS เมื่อกำหนดค่าเพื่อปิดใช้งานการสนับสนุน IPv6
-no6
ปิดใช้งานการสนับสนุนการฟัง IPv6 (มีประโยชน์เฉพาะในกรณีที่โหมด "-6" ถูกคอมไพล์เป็นbe
ค่าเริ่มต้น; ดูคำอธิบาย X11VNC_LISTEN6 ด้านบนภายใต้ "-6")
-noipv6
อย่าพยายามใช้ IPv6 สำหรับการฟังหรือเชื่อมต่อซ็อกเก็ต ซึ่งรวมถึงทั้ง
พอร์ตบริการรับฟังและการเชื่อมต่อขาออกจาก -เชื่อมต่อ,
-connect_or_exit, or -พร็อกซี่ ใช้สิ่งนี้หากคุณประสบปัญหาเนื่องจาก IPv6
-noipv4
อย่าพยายามใช้ IPv4 สำหรับการฟังหรือเชื่อมต่อซ็อกเก็ต นี้เป็นหลักสำหรับ
สำรวจพฤติกรรมของ x11vnc บนระบบ IPv6 เท่านั้น แต่อาจมีการใช้งานอื่น
- เปิดใหม่
หากการเชื่อมต่อเซิร์ฟเวอร์ X ถูกตัดการเชื่อมต่อ ให้ลองเปิดจอแสดงผล X อีกครั้ง (สูงสุดหนึ่ง
เวลา) สิ่งนี้ใช้สำหรับตัวจัดการการแสดงผลเช่น GDM (ตัวเลือก KillInitClients) นั้น
ฆ่า x11vnc หลังจากที่ผู้ใช้ลงชื่อเข้าใช้เซสชัน X หมายเหตุ: สถานะเปิดใหม่
อาจไม่เสถียร ตั้งค่า X11VNC_REOPEN_DISPLAY=n ให้เปิดใหม่ n ครั้งและตั้งค่า
X11VNC_REOPEN_SLEEP_MAX เป็นจำนวนวินาที ค่าเริ่มต้น 10 เพื่อพยายามต่อไป
เปิดจอแสดงผลอีกครั้ง (หนึ่งครั้งต่อวินาที)
อัปเดต: ณ วันที่ 0.9.9 x11vnc พยายามหลีกเลี่ยงการถูกฆ่าโดย .โดยอัตโนมัติ
ตัวจัดการการแสดงผลโดยชะลอการสร้างหน้าต่างหรือใช้ XFIXES ดังนั้นคุณไม่ควร
จำเป็นต้องใช้ KillInitClients=false ตราบใดที่คุณเข้าสู่ระบบได้เร็วพอ (ภายใน 45
วินาทีของการเชื่อมต่อ) คุณสามารถปิดใช้งานได้โดยการตั้งค่า
X11VNC_AVOID_WINDOWS=ไม่เคย คุณยังสามารถตั้งค่าเป็นจำนวนวินาทีที่จะหน่วงเวลาได้
-สะท้อน โฮสต์:N
แทนที่จะเชื่อมต่อและโพลจอแสดงผล X ให้เชื่อมต่อกับเซิร์ฟเวอร์ VNC ระยะไกล
โฮสต์:N และเป็นตัวสะท้อน/ทวนสำหรับมัน สิ่งนี้มีประโยชน์สำหรับการพยายามจัดการ
กรณีของผู้ดู VNC พร้อมกันจำนวนมาก (เช่น การออกอากาศในห้องเรียน) โดยที่คุณ
ใส่ทวนบนสวิตช์เครือข่ายแต่ละตัว ฯลฯ เพื่อปรับปรุงประสิทธิภาพโดยแจกจ่าย
โหลดและการรับส่งข้อมูลเครือข่าย หมายถึง - แบ่งปัน (ใช้ -noshared เป็นทางเลือกในภายหลังเพื่อ
ปิดการใช้งาน) ดูการสนทนาด้านล่างภายใต้ -rawfb vnc:host:N สำหรับรายละเอียดเพิ่มเติม
-NS รหัสหน้าต่าง
แสดงหน้าต่าง X ที่สอดคล้องกับ รหัสหน้าต่าง ไม่ใช่จอแสดงผลทั้งหมด หน้าต่างใหม่
เช่น เมนูป๊อปอัป ระดับบนสุดชั่วคราว ฯลฯ อาจมองไม่เห็นหรือถูกตัดออก
การปิดใช้งาน SaveUnders หรือ BackingStore ในเซิร์ฟเวอร์ X อาจช่วยแสดงผลได้ x11vnc
อาจมีปัญหาหากหน้าต่างถูกบดบังบางส่วนในตอนแรก เปลี่ยนขนาด is
เป็นรูปเป็นร่าง ฯลฯ มีการดำเนินการบางขั้นตอนเพื่อหลีกเลี่ยงสิ่งนี้และ -xrandr กลไกคือ
ใช้ในการติดตามการปรับขนาด ใช้ xwininfo(1) เพื่อรับรหัสหน้าต่างหรือใช้ "-NS เลือก"ถึง
มี x11vnc ทำงาน xwininfo(1) สำหรับคุณและดึง id NS -NS ตัวเลือกมีประโยชน์
สำหรับการส่งออกแอปพลิเคชั่นที่ง่ายมาก (เช่น มุมมองปัจจุบันบนเว็บแคม)
-ซิด รหัสหน้าต่าง
As -NS, แต่แทนที่จะใช้หน้าต่างโดยตรง มันจะเปลี่ยนมุมมองรูทไปที่มัน: this
แสดงเมนู SaveUnders ฯลฯ แม้ว่าจะถูกตัดหากขยายเกิน
หน้าต่าง.
- แท็ก Str
ตัวเลือกนี้ถูกละเว้น แต่อนุญาตให้คุณระบุสตริงที่ไม่ซ้ำบน x11vnc
บรรทัดคำสั่ง เช่น "- แท็ก ทดสอบ 34934z" สิ่งนี้สามารถช่วยให้เกิดวิธีการที่เชื่อถือได้ในการ
ระบุกระบวนการ x11vnc ที่แตกต่างกันผ่านบรรทัดคำสั่ง (ดู ps(1), กริป(1),
และ ฆ่า(1) และ /proc/PID/cmdline.)
-แชร์แอป
การแชร์แอปพลิเคชันอย่างง่ายโดยอิงจาก -id/-ซิด กลไก. ทุกระดับบนสุดใหม่
หน้าต่างที่แอปพลิเคชันสร้างทำให้เกิดหน้าต่างแสดงใหม่ผ่านการย้อนกลับ
การเชื่อมต่อ ดิ -id/-ซิด และ -เชื่อมต่อ จำเป็นต้องมีตัวเลือก เรียกใช้ 'x11vnc -แชร์แอป
-ช่วย' สำหรับข้อมูลเพิ่มเติม
-คลิป กxส+X+Y
แสดงเฉพาะภูมิภาคย่อยของการแสดงผลแบบเต็มที่สอดคล้องกับรูปสี่เหลี่ยมผืนผ้า
หน้าลายที่มีขนาด WxH และออฟเซ็ต +X+Y จอแสดงผล VNC มีขนาด WxH (เช่น เล็กกว่า
กว่าการแสดงผลแบบเต็ม) สิ่งนี้ยังใช้ได้กับ -id/-ซิด โหมดที่ออฟเซ็ตคือ
สัมพันธ์กับมุมบนซ้ายของหน้าต่างที่เลือก ตัวอย่างการใช้สิ่งนี้
ทางเลือกคือแบ่งการแสดงผลขนาดใหญ่ (เช่น Xinerama) ออกเป็นสองส่วนเป็น
เข้าถึงได้ผ่านผู้ชมที่แยกจากกันโดยเรียกใช้ x11vnc แยกกันในแต่ละส่วน
ใช้ '-clip xinerama0' เพื่อตัดไปที่หน้าจอย่อย xinerama แรก (หากเป็น xinerama
คล่องแคล่ว). xinerama1 สำหรับหน้าจอย่อยที่ 2 ฯลฯ ด้วยวิธีนี้คุณไม่จำเป็นต้องคิด
จาก WxH+X+Y ของหน้าจอย่อย xinerama ที่ต้องการ หน้าจอถูกจัดเรียงใน
เพิ่มระยะห่างจากจุดกำเนิด (0,0) (ไม่ใช่คำสั่งของ Xserver)
-แฟลชแมป
ในสีที่จัดทำดัชนี 8bpp ให้แผนที่สีที่ติดตั้งไว้กะพริบเมื่อตัวชี้ย้ายจาก
หน้าต่างสู่หน้าต่าง (ช้า). ลอง -8ถึง24 ตัวเลือกเพื่อหลีกเลี่ยงการใช้แฟลชโดยสิ้นเชิง
-shiftcmap n
ปัญหาที่พบได้ยาก แต่จอแสดงผล 8bpp บางตัวใช้เซลล์สีน้อยกว่า 256 สี (เช่น 16 สี
ระดับสีเทา บางทีบิตอื่นอาจใช้สำหรับบัฟเฟอร์สองเท่า) *และ* ก็จำเป็นต้อง .ด้วย
เลื่อนค่าพิกเซลออกจาก 0, .., เซลล์ n บ่งบอกถึงการเลื่อนไปเป็น
นำไปใช้กับค่าพิกเซล หากต้องการดูค่าพิกเซลให้ตั้งค่า DEBUG_CMAP=1 เพื่อพิมพ์
ฮิสโตแกรมแผนผังสี ตัวอย่าง: -shiftcmap 240
-ไม่ทรูคัลเลอร์
สำหรับการแสดงผล 8bpp ให้บังคับสีที่จัดทำดัชนี (เช่น แผนที่สี) แม้ว่าจะดูเหมือน 8bpp
TrueColor (ปัญหาที่หายาก)
-advertise_truecolor
หากจอแสดงผล X11 เป็นสีที่จัดทำดัชนี ให้โกหกลูกค้าเมื่อเชื่อมต่อครั้งแรกโดย
บอกว่าเป็นสีทรูคัลเลอร์ วิธีแก้ปัญหา RealVNC: inPF มี colourMap แต่ไม่ใช่
8bpp ใช้ '-advertise_truecolor reset' เพื่อรีเซ็ตไคลเอ็นต์ fb ด้วย
-ภาพ n
ตัวเลือกนี้อาจไม่เป็นไปตามที่คุณคิด มันก็แค่ *บังคับ* ภาพ
ใช้สำหรับเฟรมบัฟเฟอร์ นี่อาจจะเป็นสิ่งที่ไม่ดี... (เช่น ทำให้สีเลอะหรือ
ทำให้เกิดความผิดพลาด) มีประโยชน์สำหรับการทดสอบและวิธีแก้ปัญหาบางอย่าง n อาจจะเป็น a
เลขฐานสิบหรือ 0x ฐานสิบหก วิ่ง xdpyinfo(1) สำหรับค่า อาจใช้
"TrueColor" เป็นต้น ดู สำหรับรายการ หากสตริงลงท้ายด้วย ":m" ดังนั้น for
ดีกว่าหรือแย่กว่านั้นความลึกของภาพถูกบังคับให้เป็น m คุณอาจต้องการใช้ -โนชม์
เมื่อใช้ตัวเลือกนี้ (ดังนั้น XGetImage อาจแปลข้อมูลพิกเซลโดยอัตโนมัติ)
-โอเวอร์เลย์
จัดการภาพเชิงลึกหลายภาพบนหน้าจอเดียว เช่น ภาพซ้อนทับ 8+24 และ 24+8
(32 บิตต่อพิกเซลบรรจุด้วย 8 สำหรับ PseudoColor และ 24 สำหรับ TrueColor)
ขณะนี้ -โอเวอร์เลย์ ใช้ได้เฉพาะกับ Solaris ผ่านทาง XReadScreen(3X11) และ IRIX โดยใช้
XReadDisplay(3). บน Solaris มีปัญหากับภาพ "เลือดออก" รอบ ๆ
เมนูป๊อปอัปชั่วคราว (แต่ไม่ใช่สำหรับเมนูเอง): วิธีแก้ปัญหาคือปิดการใช้งาน
SaveUnders โดยผ่าน "-ซู" อาร์กิวเมนต์ Xsun (ใน /etc/dt/config/Xservers)
ใช้ -โอเวอร์เลย์ เป็นวิธีแก้ปัญหาสำหรับสถานการณ์เช่นนี้: แอปพลิเคชันรุ่นเก่าบางตัว
กำหนดให้ภาพเริ่มต้นเป็น 8bpp (8+24) มิฉะนั้นจะใช้ 8bpp PseudoColor
แม้ว่าภาพเริ่มต้นจะเป็นความลึก 24 TrueColor (24+8) ในกรณีเหล่านี้ สี
ในบางหน้าต่างจะไม่ถูกต้องใน x11vnc เว้นแต่ -โอเวอร์เลย์ ถูกนำมาใช้. การใช้งานอื่น
of -โอเวอร์เลย์ คือการเปิดใช้งานการแสดงรูปร่างเคอร์เซอร์ของเมาส์ที่แน่นอน (รายละเอียดด้านล่าง)
ภายใต้ -โอเวอร์เลย์, ประสิทธิภาพจะค่อนข้างช้าเนื่องจากภาพพิเศษ
การเปลี่ยนแปลงที่จำเป็น เพื่อประสิทธิภาพสูงสุดอย่าใช้ -โอเวอร์เลย์, แต่
กำหนดค่าเซิร์ฟเวอร์ X เพื่อให้ภาพเริ่มต้นเป็นความลึก 24 TrueColor แล้วลอง
ให้แอพทั้งหมดใช้ภาพนั้น (เช่น แอพบางตัวมี -use24 or -ภาพ ตัวเลือก).
-overlay_nocursor
ชุดอุปกรณ์ -โอเวอร์เลย์, แต่ไม่ได้พยายามวาดรูปร่างเคอร์เซอร์ของเมาส์ที่แน่นอนโดยใช้
กลไกการซ้อนทับ
-8ถึง24 [ตัวเลือก]
ลองใช้ตัวเลือกนี้ถ้า -โอเวอร์เลย์ ไม่รองรับระบบปฏิบัติการของคุณและคุณมี 8bpp . รุ่นเก่า
แอพที่คุณต้องการดูบนจอแสดงผลแบบหลายความลึกที่มีความลึกเริ่มต้น 24 (และคือ32
bpp) หรือมีการแสดงความลึก 8 เริ่มต้นพร้อมหน้าต่างซ้อนทับ 24 ความลึกสำหรับบางแอป
ตัวเลือกนี้อาจใช้ไม่ได้กับเซิร์ฟเวอร์ X และฮาร์ดแวร์ทั้งหมด (ทดสอบบน XFree86/Xorg mga
ไดรเวอร์และ Xsun) ไม่จำเป็นต้องใช้สตริง "opts" และอธิบายไว้ด้านล่าง
โหมดนี้ช่วยให้แฮ็คที่ x11vnc ตรวจสอบหน้าต่างภายใน 3 ระดับจาก
หน้าต่างราก หากพบสิ่งใดที่เป็น 8bpp จะแยกพิกเซลสีที่จัดทำดัชนี
ค่าโดยใช้ XGetImage() จากนั้นใช้การแปลงโดยใช้ colormap ถึง
สร้างค่า TrueColor RGB ที่จะแทรกลงในบิต 1-24 ของ
เฟรมบัฟเฟอร์ ซึ่งจะสร้างความลึก 24 "มุมมอง" ของจอแสดงผลที่ส่งออกแล้ว
ผ่าน VNC
ในทางกลับกัน สำหรับการแสดงความลึก 8 เริ่มต้น ความลึก 24 ขอบเขตจะถูกอ่านโดย
XGetImage() และทุกอย่างถูกแปลงและแทรกลงในความลึก 24 TrueColor
เฟรมบัฟเฟอร์
โปรดทราบว่าแม้ว่าจะมี *ไม่มี* ความลึก 24 ภาพหรือหน้าต่าง (เช่น 8bpp ล้วนๆ) สิ่งนี้
โหมดอาจมีการปรับปรุงมากกว่า -แฟลชแมป เพราะมันหลีกเลี่ยงการกระพริบ
และแสดงแต่ละหน้าต่างด้วยสีที่ถูกต้อง
วิธีนี้ใช้ได้ดี แต่อาจยังมีจุดบกพร่องและใช้ทรัพยากรหมู ถ้ามี
เป็นหน้าต่าง 8bpp หลายบานที่ใช้แมปสีต่างกัน หนึ่งอาจต้องทำให้เป็นไอคอนทั้งหมด
แต่หนึ่งเพื่อให้สีถูกต้อง
อาจมีข้อผิดพลาดในการวาดภาพสำหรับการตัดและการสลับระหว่างหน้าต่างที่มีความลึก8
และ 24. ใช้ฮิวริสติกเพื่อลดข้อผิดพลาดในการวาดภาพ หนึ่งกระป๋อง
ยังกด 3 Alt_L's ติดต่อกันเพื่อรีเฟรชหน้าจอหากข้อผิดพลาดไม่ซ่อมแซม
ตัวเอง. ทางเลือกอีกด้วย - แก้ไขหน้าจอ 8=3.0 หรือ - แก้ไขหน้าจอ สามารถใช้ V=3.0 เพื่อ
รีเฟรชหน้าจอเป็นระยะโดยใช้แบนด์วิดท์ (ทุกๆ 3 วินาทีสำหรับสิ่งนี้
ตัวอย่าง).
สตริง [opts] สามารถมีการตั้งค่าต่อไปนี้ การตั้งค่าหลายรายการคือ
คั่นด้วยเครื่องหมายจุลภาค.
สำหรับเซิร์ฟเวอร์ X บางตัวที่มีความลึกเริ่มต้น 24 อาจเร่งความเร็วได้ผ่านทาง
ตัวเลือก "nogetimage" สิ่งนี้เปิดใช้งานรูปแบบที่ XGetImage() ไม่ได้ใช้เพื่อ
ดึงข้อมูล 8bpp แต่จะถือว่าข้อมูล 8bpp เป็นบิต 25-32 ของ
พิกเซล 32 บิต X ไม่มีข้อกำหนดว่าเซิร์ฟเวอร์ X ควรใส่ข้อมูล
มีสำหรับคำขอโพลของเรา แต่บางคนทำและดังนั้นขั้นตอนพิเศษในการดึงข้อมูลสามารถทำได้
จะถูกข้าม ทดสอบกับไดรเวอร์ mga ด้วย XFree86/Xorg สำหรับความลึกเริ่มต้น8
กรณีที่ตัวเลือกนี้ถูกละเว้น
เพื่อปรับความถี่ในการใช้ XGetImage() เพื่อสำรวจพื้นที่ภาพที่ไม่ใช่ค่าเริ่มต้นสำหรับ
เปลี่ยนแปลง ใช้ตัวเลือก "poll=t" โดยที่ "t" เป็นเวลาทศนิยม (ค่าเริ่มต้น:
0.05)
การตั้งค่าตัวเลือก "ระดับ 2" จะจำกัดการค้นหาหน้าต่างภาพที่ไม่ใช่ค่าเริ่มต้นเป็น
สองระดับจากหน้าต่างรูท ทำสิ่งนี้กับเครื่องที่ช้าที่คุณรู้จัก
ตัวจัดการหน้าต่างกำหนดหน้าต่างพิเศษเพียงหนึ่งหน้าต่างระหว่างหน้าต่างแอพและรูท
หน้าต่าง
นอกจากนี้สำหรับเครื่องที่ช้ามาก ให้ใช้ "cachewin=t" โดยที่ t คือจำนวนจุดทศนิยมของ
เวลาในการแคชผลลัพธ์ XGetWindowAttributes เช่น cachewin=5.0. ซึ่งอาจนำไปสู่
หน้าต่างจะไม่มีใครสังเกตเห็นในช่วงเวลานี้เมื่อทำการแยกส่วน, ทาสี
ข้อผิดพลาด ฯลฯ
ขณะทดสอบกับ SS20 ที่เก่ามาก ตัวเลือกเหล่านี้ให้การตอบสนองที่ยอมรับได้: -8ถึง24
โพล=0.2,แคชวิน=5.0. สำหรับเครื่องนี้ -โอเวอร์เลย์ ได้รับการสนับสนุนและให้ดีกว่า
คำตอบ
การดีบักสำหรับโหมดนี้สามารถเปิดใช้งานได้โดยการตั้งค่า "dbg=1", "dbg=2" หรือ "dbg=3"
-24ถึง32
ปัญหาที่หายากมาก: ถ้าเฟรมบัฟเฟอร์ (X แสดงหรือ -rawfb) คือ 24bpp แทนที่จะเป็น
ปกติ 32bpp จากนั้นแปลงพิกเซลเป็น 32bpp แบบไดนามิก สิ่งนี้จะช้าลง
แต่สามารถใช้เพื่อแก้ไขปัญหาที่ VNC viewer ไม่สามารถจัดการ 24bpp (เช่น
"หลัก: setPF: ไม่ใช่ 8, 16 หรือ 32 bpp?") ดูคำถามที่พบบ่อยสำหรับข้อมูลเพิ่มเติม
ในกรณีที่ -rawfb โหมดพิกเซลจะถูกแก้ไขโดยตรงโดยการแทรก 0 byte
เพื่อขยายออกเป็น 32bpp สำหรับการแสดง X จะทำ kludge ที่เทียบเท่ากับ
"-โนชม์ -ภาพ TrueColor:32" (หากต้องการประสิทธิภาพที่ดีกว่าสำหรับรุ่นหลัง
อย่าลังเลที่จะถาม).
- สเกล เศษ
ปรับขนาดเฟรมบัฟเฟอร์ตามตัวประกอบ เศษ. ค่าที่น้อยกว่า 1 ลดขนาด fb ให้ใหญ่ขึ้น
คนขยายมัน หมายเหตุ: ภาพอาจไม่คมชัดและการตอบสนองอาจช้าลง ถ้า
เศษ มีจุดทศนิยม "." นำมาเป็นเลขทศนิยม
หรืออาจใช้สัญกรณ์ "m/n" เพื่อแสดงเศษส่วนอย่างแน่นอน เช่น
- สเกล 2/3
หากต้องการปรับขนาดแบบไม่สมมาตรในทิศทางแนวนอนและแนวตั้ง ให้ระบุ WxH
เรขาคณิตที่จะขยายเป็น: เช่น '-ขนาด 1024x768' หรือ '-มาตราส่วน 0.9x0.75'
ตัวเลือกการปรับขนาด: สามารถเพิ่มได้หลังจาก เศษ ผ่าน ":" เพื่อจัดหาหลายรายการ ":"
ตัวเลือกใช้เครื่องหมายจุลภาค หากคุณต้องการการปรับขนาดที่หยาบและรวดเร็วโดยไม่ต้องผสม
ต่อท้าย ":nb" ถึง เศษ (เช่น - สเกล 1/3:nb). ไม่มีการผสมเป็นค่าเริ่มต้นสำหรับ 8bpp
สีที่จัดทำดัชนี หากต้องการบังคับผสมสำหรับกรณีนี้ ให้ใช้ ":fb"
ปิดใช้งาน -scrollcopyrect และ -wirecopyrect ภายใต้ - สเกล ใช้ ":nocr" ถ้าคุณต้องการ
หากต้องการเปิดใช้งานให้ใช้ ":cr" หรือระบุอย่างชัดเจนในบรรทัดคำสั่ง ถ้า
ตรวจพบลิงก์ที่ช้า ":nocr" อาจถูกนำไปใช้โดยอัตโนมัติ ค่าเริ่มต้น: :cr
ตัวเลือกลึกลับเพิ่มเติม: เพื่อความเข้ากันได้กับ vncviewers ความกว้างที่ปรับขนาดคือ
ปรับเป็นทวีคูณของ 4: เพื่อปิดใช้งานการใช้งานนี้ ":n4" ":in" ใช้การแก้ไข
แบบแผนแม้ในขณะที่ย่อขนาด ":pad" แผ่นที่ปรับขนาดความกว้างและความสูงเป็นทวีคูณของ
ตัวหารมาตราส่วน (เช่น 3 สำหรับ 2/3)
-เรขาคณิต กxส
เหมือนกับ - สเกล กxส
-scale_cursor เสื้อหางยาว
โดยค่าเริ่มต้น if - สเกล ถูกจัดให้รูปร่างเคอร์เซอร์ถูกปรับขนาดด้วยปัจจัยเดียวกัน
ขึ้นอยู่กับการใช้งานของคุณ คุณอาจต้องการปรับขนาดเคอร์เซอร์โดยอิสระจาก
หน้าจอหรือไม่เลย หากคุณระบุ -scale_cursor เคอร์เซอร์จะถูกปรับขนาดโดย
ปัจจัยนั้น เมื่อใช้ - สเกล โหมดเพื่อให้เคอร์เซอร์อยู่ที่ขนาด "ธรรมชาติ" ใช้
"-scale_cursor 1" ตัวเลือกการปรับขนาด ":" ส่วนใหญ่ใช้ที่นี่เช่นกัน
-สำหรับดูเท่านั้น
ไคลเอนต์ VNC ทั้งหมดสามารถดูได้เท่านั้น (ปิดค่าเริ่มต้น)
- แบ่งปัน
มีการแชร์การแสดงผล VNC กล่าวคือสามารถเชื่อมต่อผู้ชมได้มากกว่าหนึ่งรายในเวลาเดียวกัน
(ค่าเริ่มต้นปิด).
-ครั้งหนึ่ง
ออกหลังจากที่ผู้ดูเชื่อมต่อสำเร็จครั้งแรกยกเลิกการเชื่อมต่อ ตรงข้ามกับ
-ตลอดไป. นี่คือค่าเริ่มต้น
- ก่อนหน้านี้
ฟังต่อไปสำหรับการเชื่อมต่อมากกว่าที่จะออกทันทีครั้งแรก
ลูกค้ายกเลิกการเชื่อมต่อ เหมือนกับ -มากมาย
เพื่อให้ได้พฤติกรรม VNC ที่ไม่แชร์แบบมาตรฐานซึ่งเมื่อไคลเอ็นต์ VNC ใหม่เชื่อมต่อ
ไคลเอนต์ VNC ที่มีอยู่ถูกยกเลิกการใช้งาน: -ไม่เคยแชร์ - ก่อนหน้านี้ วิธีนี้สามารถ
ยังใช้เพื่อป้องกันการเชื่อมต่อ TCP ที่หยุดทำงานซึ่งไม่หายไป
- ลูป
สร้างการวนรอบนอกเพื่อเริ่มกระบวนการ x11vnc ใหม่ทุกครั้งที่สิ้นสุด -บีจี และ
-ไอเน็ต จะถูกละเว้นในโหมดนี้ (แต่เห็น -loopbg ด้านล่าง)
มีประโยชน์สำหรับการดำเนินการต่อแม้ว่าเซิร์ฟเวอร์ X จะยุติและรีสตาร์ท (ในขณะนั้น
กระบวนการจะต้องได้รับอนุญาตเพื่อเชื่อมต่อกับเซิร์ฟเวอร์ X ใหม่แน่นอน)
ใช้ เช่น -ลูป100 เพื่อสลีป 100 มิลลิวินาทีระหว่างการรีสตาร์ท ฯลฯ ค่าเริ่มต้นคือ
2000ms (เช่น 2 วินาที) ใช้เช่น -ลูป300,5 ให้นอน 300 ms และวนซ้ำ 5 ครั้งเท่านั้น
If -loopbg (บวกตัวเลขใดๆ) แทน "-บีจี" ตัวเลือกเป็นนัยและ
โหมดโดยประมาณ inetd(8) การใช้งานในระดับหนึ่ง ในกรณีนี้เมื่อมันไป
ซ็อกเก็ตการฟังใด ๆ (เช่นพอร์ต 5900, 5800) ถูกปิดลงในพื้นหลังดังนั้น
อันถัดไปในลูปก็ใช้ได้ โหมดนี้จะใช้ได้ก็ต่อเมื่อVNC
ไคลเอนต์ (ไคลเอนต์เดียวสำหรับกระบวนการนั้น) เชื่อมต่ออยู่แล้วก่อนกระบวนการ
ไปที่พื้นหลัง เช่น การใช้ -แสดง รอ:.., -svc, และ
-เชื่อมต่อ สามารถใช้โหมด inetd "คนจน" นี้ได้ เวลารอเริ่มต้นคือ
500ms ในโหมดนี้ การใช้งานนี้อาจมีประโยชน์: -svc -บีจี -loopbg
-หมดเวลา n
ออกเว้นแต่ไคลเอ็นต์จะเชื่อมต่อภายใน n วินาทีแรกหลังจากเริ่มต้น
หากไม่มีความพยายามในการเชื่อมต่อหลังจาก n วินาที x11vnc ออกทันที
หากลูกค้าพยายามเชื่อมต่อแต่ยังไม่เข้าสู่การทำงานปกติ
สถานะ x11vnc ให้เวลาอีกสองสามวินาทีในการเสร็จสิ้นและออกหากไม่ได้ทำ
ให้อยู่ในสภาวะปกติ
สำหรับการเชื่อมต่อย้อนกลับผ่าน -เชื่อมต่อ or -connect_or_exit หมดเวลา n วินาที
จะถูกตั้งค่าสำหรับการเชื่อมต่อแบบย้อนกลับทั้งหมด หากการเตือนการหมดเวลาการเชื่อมต่อดับลง
x11vnc จะออกทันที
-นอนหลับ n
เมื่อเปิดเครื่อง ให้พัก n วินาทีก่อนดำเนินการต่อ (เช่น อนุญาตให้ redirs และฟัง
ลูกค้าที่จะเริ่มต้นขึ้น)
หากกำหนดช่วง: '-sleepin min-max' ค่าสุ่มระหว่างค่าต่ำสุดและสูงสุดคือ
นอนหลับ เช่น '-sleepin 0-20' และ '-sleepin 10-30' อนุญาตให้ลอยตัวด้วย
-ไอเน็ต
เปิดตัวโดย inetd(8): stdio แทนซ็อกเก็ตการฟัง หมายเหตุ: ถ้าคุณไม่ใช่
เปลี่ยนเส้นทาง stderr ไปยังล็อกไฟล์ (ผ่านเชลล์ 2> หรือ -o ตัวเลือก) คุณต้องระบุด้วย
-q ตัวเลือกมิฉะนั้น stderr ไปที่โปรแกรมดูซึ่งจะทำให้เป็น
ยกเลิก ระบุทั้งคู่ -ไอเน็ต และ -q และไม่ -o จะปิด .โดยอัตโนมัติ
สเ
หาก libvncserver ที่ใช้รองรับซ็อกเก็ตที่ไม่ใช่ AF_INET (อันที่รวมอยู่ใน x11vnc
0.9.13 และใหม่กว่านั้น) จากนั้น -ไอเน็ต สามารถใช้โหมดสำหรับไพพ์ stdio แบบดิบได้ สำหรับ
ตัวอย่าง การใช้กลไก SSVNC viewer exec=...
ssvnc -ผู้ชม exec="ssh -ต -e ไม่มี user@host \ ´x11vnc -ไอเน็ต -o เข้าสู่ระบบ txt -แสดง
:0'"
โดยที่ cmdline ยาวถูกแยกออก ในข้างต้น การเชื่อมต่อ TCP เท่านั้นคือ
ของการเชื่อมต่อ ssh ไม่มีการเปลี่ยนเส้นทางพอร์ต (-L) ฯลฯ ; stdio ดิบคือ
ใช้ทั้งสองด้านของ ssh ในบางกรณี -ต ไม่จำเป็นต้องใช้ตัวเลือก
-tightfilexfer
เปิดใช้งานนามสกุลการถ่ายโอนไฟล์ TightVNC โปรดทราบว่าเมื่อ -สำหรับดูเท่านั้น
มีตัวเลือกให้ การถ่ายโอนไฟล์ทั้งหมดถูกปิดใช้งาน ลูกค้าที่เข้าสู่ระบบด้วย
ดูอย่างเดียวไม่สามารถโอนไฟล์ได้ อย่างไรก็ตาม หากใช้กลไกการควบคุมระยะไกล
เพื่อเปลี่ยนสถานะการดูทั่วโลกหรือต่อลูกค้าเท่านั้นที่จะอนุญาตการถ่ายโอนไฟล์
ไม่เปลี่ยน.
สำคัญ: โปรดเข้าใจถ้า -tightfilexfer ถูกระบุและคุณเรียกใช้ x11vnc as
รูทสำหรับ, พูด, inetd หรือตัวจัดการการแสดงผล (gdm, kdm, ...) เข้าถึงและคุณไม่มี
มันเปลี่ยนผู้ใช้ผ่านทาง -ผู้ใช้ ตัวเลือก VNC Viewers ที่เชื่อมต่อสามารถทำได้
filetransfer อ่านและเขียนเป็น *root*
นอกจากนี้ tightfilexfer ยังถูกปิดใช้งานใน -unixpw โหมด.
-อัลตร้าไฟล์เอ็กซ์เฟอร์
หมายเหตุ: เพื่อเปิดใช้งานการถ่ายโอนไฟล์ UltraVNC และเพื่อให้ทำงานได้ คุณอาจต้อง
จัดหาตัวเลือก LibVNCServer เหล่านี้: "-rfbversion 3.6 - อนุญาตให้ถ่ายโอนไฟล์"
"-อัลตร้าไฟล์เอ็กซ์เฟอร์" เป็นนามแฝงสำหรับชุดค่าผสมนี้
สำคัญ: โปรดเข้าใจถ้า -อัลตร้าไฟล์เอ็กซ์เฟอร์ ถูกระบุและคุณเรียกใช้ x11vnc as
รูทสำหรับ, พูด, inetd หรือตัวจัดการการแสดงผล (gdm, kdm, ...) เข้าถึงและคุณไม่มี
มันเปลี่ยนผู้ใช้ผ่านทาง -ผู้ใช้ ตัวเลือก VNC Viewers ที่เชื่อมต่อสามารถทำได้
filetransfer อ่านและเขียนเป็น *root*
โปรดทราบว่าคุณไม่สามารถทำทั้งสองอย่างได้ -tightfilexfer และ -อัลตร้าไฟล์เอ็กซ์เฟอร์ ในเวลาเดียวกัน
เวลาเพราะตัวหลังต้องตั้งค่าเวอร์ชันเป็น 3.6 และ tightvnc จะไม่
ทำการถ่ายโอนไฟล์เมื่อเห็นหมายเลขเวอร์ชันนั้น
-http
แทนที่จะใช้ -httpdir (ดูด้านล่าง) เพื่อระบุว่า Java vncviewer applet . อยู่ที่ใด
คือ ให้ x11vnc พยายาม *เดา* ว่าไดเร็กทอรีอยู่ที่ไหนโดยการดูสัมพันธ์กับ
ตำแหน่งของโปรแกรมและในตำแหน่งมาตรฐาน (/usr/local/share/x11vnc/classes ฯลฯ)
ภายใต้ -ssl or -ตะลึง ค้นหาไดเร็กทอรีย่อยคลาส ssl
-http_ssl
As -http, แต่บังคับให้ค้นหา subdir คลาส ssl
โปรดทราบว่าสำหรับ HTTPS การส่งแอปเพล็ต Java แบบพอร์ตเดียว คุณสามารถตั้งค่า
X11VNC_HTTPS_DOWNLOAD_WAIT_TIME ถึงจำนวนวินาทีสูงสุดที่จะรอแอปเพล็ต
ดาวน์โหลดให้เสร็จ ค่าเริ่มต้นคือ 15
-อวาฮี
ใช้โปรโตคอล Avahi/mDNS ZeroConf เพื่อโฆษณาเซิร์ฟเวอร์ VNC นี้ไปยังท้องถิ่น
เครือข่าย (คำที่เกี่ยวข้อง: นัดพบ บงชูร์). ขึ้นอยู่กับการตั้งค่าของคุณ คุณอาจ
ต้องเริ่ม avahi-daemon และเปิดพอร์ต udp 5353 ในไฟร์วอลล์ของคุณ
คุณสามารถตั้งค่า X11VNC_AVAHI_NAME, X11VNC_AVAHI_HOST และ/หรือ X11VNC_AVAHI_PORT
ตัวแปรสภาพแวดล้อมเพื่อแทนที่ค่าเริ่มต้น ตัวอย่างเช่น: -env
X11VNC_AVAHI_NAME=เก่ง
หากไม่พบ avahi API ณ เวลาสร้าง โปรแกรมตัวช่วยเช่น อวาฮี-
ประกาศ(1) หรือ DNS- sd(1) จะพยายาม
-mdns
เหมือนกับ -อวาฮี
-zeroconf
เหมือนกับ -อวาฮี
-เชื่อมต่อ เชือก
สำหรับใช้กับการเชื่อมต่อแบบย้อนกลับ "vncviewer -listen" ถ้า เชือก มีรูปแบบ
"host" หรือ "host:port" จะทำการเชื่อมต่อเพียงครั้งเดียวเมื่อเริ่มต้น
ใช้เครื่องหมายจุลภาคสำหรับรายการ host's และ host:port's เช่น -เชื่อมต่อ host1,host2 หรือ
host1:0,host2:5678. โปรดทราบว่าหากต้องการเชื่อมต่อหลายโฮสต์พร้อมกัน
เวลาที่คุณจะต้องจัดหา: - แบ่งปัน
โปรดทราบว่าไม่เหมือนเซิร์ฟเวอร์ vnc ส่วนใหญ่ x11vnc จะต้องใช้รหัสผ่านสำหรับการย้อนกลับเป็น
เช่นเดียวกับการเชื่อมต่อไปข้างหน้า (เปิดใช้งานการตรวจสอบรหัสผ่านที่ให้ไว้
-rfbauth, ฯลฯ) หากคุณไม่ต้องการใช้รหัสผ่านสำหรับการเชื่อมต่อแบบย้อนกลับ set
X11VNC_REVERSE_CONNECTION_NO_AUTH=1 ในสภาพแวดล้อมของคุณก่อนที่จะเริ่ม x11vnc
If เชือก มี "/" ซึ่งแปลเป็นไฟล์แทนการตรวจสอบเป็นระยะ
สำหรับเจ้าบ้านใหม่ อ่านบรรทัดแรกแล้วไฟล์จะถูกตัดทอน ระวัง
เกี่ยวกับตำแหน่งของไฟล์นี้หาก x11vnc ทำงานเป็นรูท (เช่น via GDM(1),
ฯลฯ )
โหมด Repeater: บริการบางอย่างมี "vnc repeater" ระดับกลาง:
http://www.uvnc.com/addons/repeater.html (และนอกจากนี้ยังมี http://koti.mbnet.fi/jtko/ สำหรับ
พอร์ตลินุกซ์) ที่ทำหน้าที่เป็นพร็อกซี/เกตเวย์ โหมดเช่นนี้ต้องใช้ชื่อย่อ
สตริงที่จะส่งสำหรับการเชื่อมต่อย้อนกลับก่อนเริ่มโปรโตคอล VNC
มีวิธีการทำเช่นนี้:
-เชื่อมต่อ pre=some_string+host:พอร์ต -เชื่อมต่อ pre128=some_string+โฮสต์:พอร์ต -เชื่อมต่อ
ทวน=ID:1234+โฮสต์:พอร์ต -เชื่อมต่อ ตัวทำซ้ำ=23.45.67.89::5501+โฮสต์:พอร์ต
รองรับสัญกรณ์ SSVNC ด้วย:
-เชื่อมต่อ ตัวทำซ้ำ: // host:port+ID:1234
ตามปกติ -เชื่อมต่อ การใช้งานถ้าพอร์ตทวนไม่ได้ให้มา 5500 is
สันนิษฐาน
แนวคิดพื้นฐานอยู่ระหว่างแท็กพิเศษ เช่น "pre=" และ "+" เป็นค่าพรีสตริง to
จะถูกส่ง โปรดทราบว่าในกรณีนี้ host:port เป็นเซิร์ฟเวอร์ทวน ไม่ใช่ vnc
ผู้ชม ยังไงก็ตาม pre-string จะบอกเซิร์ฟเวอร์ repeater วิธีค้นหาvnc
โปรแกรมดูและเชื่อมต่อคุณกับมัน
ในกรณีที่ pre=some_string+host:port จะส่ง "some_string" ไป ในกรณี
preNNN=some_string+host:port "some_string" ถูกส่งไปในบัฟเฟอร์ null padded ของ
ความยาว NN. repeater= เหมือนกับ pre250= นี่คือ ultravnc repeater buffer
ขนาด.
สตริงเช่น "\n" และ "\r" เป็นต้น ถูกขยายเป็นขึ้นบรรทัดใหม่และขึ้นบรรทัดใหม่ "\ค"
ถูกขยายเป็น "," เนื่องจากสตริงการเชื่อมต่อถูกคั่นด้วยเครื่องหมายจุลภาค
ดูเพิ่มเติมที่ -ผู้รับมอบฉันทะ ตัวเลือกด้านล่างสำหรับวิธีเพิ่มเติมในการเชื่อมต่อย้อนกลับ
ย้อนกลับ SSL: ใช้ -เชื่อมต่อ in -ssl โหมดทำให้ x11vnc ทำหน้าที่เป็นไคลเอนต์ SSL
(เริ่มต้นการเชื่อมต่อ SSL) แทนที่จะเป็นเซิร์ฟเวอร์ SSL แนวคิดคือ x11vnc อาจเป็น
เชื่อมต่อกับ stunnel ด้านผู้ชมกับผู้ชมในโหมดฟัง ถ้าคุณ
ไม่ต้องการพฤติกรรมนี้ ใช้ -env X11VNC_DISABLE_SSL_CLIENT_MODE=1. ด้วยสิ่งนี้
ฝั่งผู้ดูสามารถทำหน้าที่เป็นไคลเอนต์ SSL ได้ตามปกติสำหรับการส่งต่อ
การเชื่อมต่อ
โหมด Reverse SSL Repeater: สิ่งนี้จะได้ผล แต่โปรดทราบว่าหากไคลเอ็นต์ VNC ทำ
การกระทำ 'ดึงใบรับรอง' ใด ๆ ก่อนเชื่อมต่อจากนั้น Repeater จะมีแนวโน้ม
ยกเลิกการเชื่อมต่อและทั้งสองฝ่ายจะต้องเริ่มต้นใหม่ พิจารณาการใช้
-connect_or_exit และ -ลูป300,2 เพื่อให้ x11vnc เชื่อมต่อใหม่อีกครั้งกับตัวทำซ้ำหลังจาก
การดึงข้อมูล คุณยังอาจจะต้องการจัดหา -sly เพื่อหลีกเลี่ยงความคิด x11vnc
ความล่าช้าในการตอบสนองหมายถึงการเชื่อมต่อคือ VenCrypt env var
X11VNC_DISABLE_SSL_CLIENT_MODE=1 ที่กล่าวถึงข้างต้นอาจมีประโยชน์เช่นกัน (เช่น
โปรแกรมดูสามารถทำการเชื่อมต่อไปข้างหน้าได้ตามปกติ)
IPv6: ณ วันที่ x11vnc 0.9.10 -เชื่อมต่อ ตัวเลือกควรเชื่อมต่อกับโฮสต์ IPv6
อย่างถูกต้อง. หากมีปัญหา คุณสามารถปิดการใช้งาน IPv6 ได้โดยการตั้งค่า -DX11VNC_IPV6=0 in
CPPFLAGS เมื่อกำหนดค่า หากมีปัญหาในการเชื่อมต่อกับโฮสต์ IPv6 ให้พิจารณา a
รีเลย์เช่นสคริปต์ inet6to4 ที่รวมอยู่หรือ -ผู้รับมอบฉันทะ ตัวเลือก
-connect_or_exit Str
เช่นเดียวกับ -เชื่อมต่อ, ยกเว้นว่าไม่มีการเชื่อมต่อย้อนกลับสำเร็จ ดังนั้น x11vnc
ปิดตัวลงทันที
นามแฝงที่พิมพ์ได้ง่ายขึ้นสำหรับตัวเลือกนี้คือ '-coe'
ยังไงก็ตาม หากคุณไม่ต้องการให้ x11vnc ฟังบนอินเทอร์เฟซใดๆ ก็ตามที่ใช้ -rfbพอร์ต 0
ซึ่งสะดวกสำหรับ -connect_or_exit โหมด.
-ผู้รับมอบฉันทะ เชือก
ใช้พร็อกซีในสตริง (เช่น host:port) เป็นพร็อกซีสำหรับการเชื่อมต่อย้อนกลับ
(-เชื่อมต่อหรือ -connect_or_exit ตัวเลือก).
รองรับเว็บพรอกซี แต่โปรดทราบว่าโดยค่าเริ่มต้นส่วนใหญ่รองรับเท่านั้น
การเชื่อมต่อปลายทางไปยังพอร์ต 443 หรือ 563 ดังนั้นสิ่งนี้อาจไม่เป็นประโยชน์มากนัก (
ผู้ชมจะต้องฟังบนพอร์ตนั้นหรือเราเตอร์จะต้องทำพอร์ต
การเปลี่ยนเส้นทาง)
เว็บพรอกซีอาจถูกระบุโดย "host:port" หรือ "http://host:port" (พอร์ต
จำเป็นแม้ว่าจะเป็นตัวเลือกทั่วไป 80 หรือ 8080)
รองรับ SOCKS4, SOCKS4a และ SOCKS5 ด้วย พร็อกซี SOCKS ปกติไม่มี
ข้อจำกัดเกี่ยวกับหมายเลขพอร์ตปลายทาง
ใช้รูปแบบดังนี้: socks://host:port หรือ socks5://host:port สังเกตว่า ssh -D
ไม่รองรับ SOCKS4a ดังนั้นให้ใช้ socks5://. สำหรับถุงเท้า: // SOCKS4 ใช้กับ a
IP ตัวเลขและ "localhost" มิฉะนั้นจะใช้ SOCKS4a (และพร็อกซีพยายาม
ทำการค้นหา DNS)
โหมดทดลองคือ "-ผู้รับมอบฉันทะ http://host:ท่า/..." หมายเหตุ "/" หลังพอร์ต
ที่แตกต่างจากเว็บพรอกซีทั่วไป ต้องจัดหาพอร์ตแม้ว่า
เป็นค่าเริ่มต้น 80 สำหรับโหมดนี้ GET จะทำกับ URL ที่ให้มาด้วยเครื่องหมาย
string host=H&port=P ต่อท้าย H และ P จะเป็น -เชื่อมต่อ ย้อนกลับ เชื่อมต่อโฮสต์
และพอร์ต ใช้สตริง "__END__" เพื่อปิดใช้งานการต่อท้าย แนวคิดพื้นฐานที่นี่
คือบางทีสคริปต์ cgi บางตัวอาจให้การเชื่อมต่อและการสร้างช่องสัญญาณของตัวแสดงจริง
วิธีการบรรลุสิ่งนี้จริง ๆ ภายใน cgi, php และอื่น ๆ นั้นไม่ชัดเจน... เว็บที่กำหนดเอง
เซิร์ฟเวอร์หรือโมดูล apache จะตรงไปตรงมา
โหมดทดลองอื่นคือ "-ผู้รับมอบฉันทะ ssh://user@host" ซึ่งในกรณีนี้ อุโมงค์ SSH คือ
ใช้สำหรับพร็อกซี่ ไม่จำเป็นต้องใช้ "user@" เว้นแต่ชื่อผู้ใช้ unix ของคุณคือ
แตกต่างกันใน "โฮสต์" สำหรับพอร์ต SSH ที่ไม่ได้มาตรฐาน ให้ใช้ ssh://user@host:port ถ้า
พร็อกซี่ถูกล่ามโซ่ (ดูย่อหน้าถัดไป) ดังนั้น ssh จะต้องเป็นอันแรก
หาก ssh-agent ไม่ทำงาน จำเป็นต้องป้อนรหัสผ่าน ssh ใน
เทอร์มินัลที่ x11vnc ทำงานอยู่ ตัวอย่าง:
-เชื่อมต่อ localhost: 0 -ผู้รับมอบฉันทะ ssh://me@friends-pc:2222
-เชื่อมต่อ สนูปปี้:0 -ผู้รับมอบฉันทะ ssh://ssh.company.com
ผู้รับมอบฉันทะหลายคนอาจถูกล่ามโซ่ไว้ด้วยกันในกรณีที่จำเป็นต้องสะท้อนกลับจาก
จำนวนโฮสต์ที่จะไปถึงตัวแสดง VNC ในที่สุด มากถึง 3 อาจล่ามโซ่แยกกัน
โดยใช้เครื่องหมายจุลภาคในลำดับที่จะเชื่อมต่อ เช่น:
http://host1:port1,socks5://host2:port2 หรือสาม like: first,second,third
IPv6: ณ วันที่ x11vnc 0.9.10 -ผู้รับมอบฉันทะ ตัวเลือกควรเชื่อมต่อกับโฮสต์ IPv6 อย่างถูกต้อง
หากมีปัญหา คุณสามารถปิดการใช้งาน IPv6 ได้โดยการตั้งค่า -DX11VNC_IPV6=0 ใน CPPFLAGS
เมื่อกำหนดค่า หากมีปัญหาในการเชื่อมต่อกับโฮสต์ IPv6 ให้พิจารณารีเลย์เช่น
สคริปต์ inet6to4 ที่รวมอยู่
-vncconnect, -novncconnect
ตรวจสอบคุณสมบัติ VNC_CONNECT X ที่กำหนดโดยโปรแกรม VNC มาตรฐาน vncconnect(1)
เมื่อตั้งค่าคุณสมบัติเป็น "โฮสต์" หรือ "โฮสต์:พอร์ต" ให้สร้างการเชื่อมต่อแบบย้อนกลับ
การใช้ เอ็กซ์พร็อพ(1) แทน vncconnect อาจใช้งานได้ (ดูคำถามที่พบบ่อย) NS รีโมท ควบคุม
กลไกใช้ช่อง X11VNC_REMOTE และตัวเลือกนี้จะปิดใช้งาน/เปิดใช้งานด้วยเช่นกัน
ค่าเริ่มต้น: -vncconnect
หากต้องการใช้ชื่ออื่นสำหรับคุณสมบัติ X11 เหล่านี้ (เช่น ให้แยก
ช่องทางการสื่อสารสำหรับ x11vnc หลายตัวบนจอแสดงผลเดียวกัน) ตั้งค่า
VNC_CONNECT หรือ X11VNC_REMOTE env วาร์ ไปยังสตริงที่คุณต้องการ เช่น -env
X11VNC_REMOTE=X11VNC_REMOTE_12345 ทั้งสองฝั่งของช่องจะต้องใช้ช่องเดียวกัน
ชื่อที่ไม่ซ้ำ สามารถทำได้เช่นเดียวกันสำหรับคุณสมบัติ X11VNC_TICKER ภายใน
(การเต้นของหัวใจและประทับเวลา) หากต้องการ
-อนุญาต โฮสต์1[,โฮสต์2..]
อนุญาตเฉพาะการเชื่อมต่อไคลเอ็นต์จากโฮสต์ที่ตรงกับรายการที่คั่นด้วยเครื่องหมายจุลภาคของ
ชื่อโฮสต์หรือที่อยู่ IP เมื่อลงท้ายด้วย "." ก็สามารถเป็น IP ที่เป็นตัวเลขได้เช่นกัน
คำนำหน้า เช่น "192.168.100" เพื่อให้ตรงกับซับเน็ตอย่างง่าย สำหรับบิลด์การควบคุมที่มากขึ้น
LibVNCServer พร้อมรองรับ libwrap (ดูคำถามที่พบบ่อย) หากรายการมี "/" it
แทนที่จะเป็นไฟล์ที่มีที่อยู่หรือคำนำหน้าซึ่งถูกตีความว่าเป็นไฟล์ที่อ่านซ้ำ
ทุกครั้งที่ลูกค้าใหม่เชื่อมต่อ สามารถแสดงความคิดเห็นบรรทัดด้วยอักขระ "#"
ตามปกติ
-อนุญาต ใช้ใน -ssl โหมดแต่ไม่อยู่ใน -ตะลึง โหมด.
IPv6: ตั้งแต่ x11vnc 0.9.10 โฮสต์สามารถระบุได้ในรูปแบบตัวเลข IPv6 เช่น
2001:4860:b009::93
สิ่งแวดล้อม vars: Set -env X11VNC_DEBUG_ACCESS=1 เพื่อพิมพ์ข้อมูลการดีบักระหว่าง
check_access() โทร ชุด -env X11VNC_ALLOW_FULLMATCH=1 เพื่อบังคับให้เต็มสตริง
ตรงกัน นั่นคือไม่มีซับเน็ต "." จะทำการจับคู่
ซ็อกเก็ตยูนิกซ์: if -ยูนิกซ์ซ็อก กำลังใช้งานอยู่และคุณต้องการจำกัดการเข้าถึง TCP ด้วยคุณ
ต้องรวมพาธไปยังยูนิกซ์ซ็อกเก็ตที่นำหน้าด้วย "unix=" ใน allow
รายการเช่น: -อนุญาต 192.168.100.3,unix=/tmp/mysock หากซ็อกเก็ตไม่ใช่ชื่อ
เช่นสร้างผ่าน ซ็อกเก็ตคู่(2) ด้วย -inetd, จากนั้นคุณต้องระบุชื่อสามัญ
x11vnc มอบให้เช่น -อนุญาต 192.168.100.3,UNNAMED_AF_UNIX ในทั้งสองกรณีจะต้อง
เป็นสตริงที่ตรงกันทั้งหมดเพื่อให้สามารถเชื่อมต่อได้ โปรดทราบว่าเนื่องจากคุณสมบูรณ์
ควบคุมวิธีการเข้าถึงที่ไม่ใช่ TCP ในเครื่องเหล่านี้โดยการอนุญาตระบบไฟล์ ฯลฯ มันคือ
ไม่มีประโยชน์ที่จะป้องกันพวกมันด้วย -อนุญาต, ยังไงก็ต้องมี
ในรายการอนุญาตเพื่อให้พวกเขาเชื่อมต่อ
-localhost
โดยพื้นฐานแล้วเหมือนกับ "-อนุญาต 127.0.0.1".
หมายเหตุ: หากคุณต้องการจำกัดอินเทอร์เฟซเครือข่ายที่ x11vnc รับฟัง ให้ดูที่
-ฟัง ตัวเลือกด้านล่าง เช่น "-ฟัง localhost"หรือ"-ฟัง 192.168.3.21". ในฐานะที่เป็น
กรณีพิเศษตัวเลือก "-localhost"หมายความว่า"-ฟัง localhost".
กรณีหายาก แต่สำหรับไม่ใช่ localhost -ฟัง การใช้งาน หากคุณใช้รีโมทคอนโทรล
กลไก (-R) เพื่อเปลี่ยน -ฟัง อินเทอร์เฟซคุณอาจต้องปรับ
-อนุญาต รายการ (และในทางกลับกัน) เพื่อหลีกเลี่ยงสถานการณ์ที่ไม่มีการเชื่อมต่อ (หรือมากเกินไป)
ได้รับอนุญาต.
หากคุณไม่ต้องการให้ x11vnc ฟังบนอินเทอร์เฟซ TCP ใด ๆ (เห็นได้ชัดว่าคุณกำลังใช้
-เชื่อมต่อ or -connect_or_exit, หรือวางแผนที่จะใช้รีโมทคอนโทรล: -R เชื่อมต่อ:โฮสต์หรือถึง
ใช้ -unixsock) ระบุ -rfbพอร์ต 0
IPv6: หากรองรับ IPv6 ตัวเลือกนี้จะบ่งบอกถึง IPv6 loopback . โดยอัตโนมัติ
ที่อยู่ '::1' เช่นกัน
-ยูนิกซ์ซ็อก Str
นอกจากพอร์ต TCP ปกติแล้ว ให้ฟังบนยูนิกซ์ซ็อกเก็ต (AF_UNIX) 'str' for
การเชื่อมต่อขาเข้า โหมดนี้ใช้สำหรับการเชื่อมต่อภายในเครื่องหรืออุโมงค์
ปลายทางที่ต้องการอนุญาตไฟล์ของไฟล์ซ็อกเก็ตยูนิกซ์เพื่อกำหนด
สิ่งที่สามารถเชื่อมต่อกับมันได้ ตัวอย่าง: mkdir ~/วินาที; ชโมด 700 ~/วินาที- x11vnc -ยูนิกซ์ซ็อก
~/s/mysock -rfbพอร์ต 0 ... เหมือนกับ: x11vnc -unixsock เท่านั้น ~/s/mysock ... (ดู
-unixsock เท่านั้น ด้านล่าง)
ขณะนี้โหมดนี้ต้องการ libvncserver ที่แก้ไขซึ่งรวมอยู่ใน x11vnc
0.9.13 tarball และใหม่กว่า
โปรดทราบว่า SSVNC unix vncviewer สามารถเชื่อมต่อกับซ็อกเก็ต unix ได้ ตัวอย่างเช่น: ssvnc
-ผู้ชม ยูนิกซ์=./s/mysock
เป็นกลไกพิเศษ ถ้า 'str' สำหรับทั้ง -ยูนิกซ์ซ็อก or -unixsock เท่านั้น เป็นของ
รูปแบบ "fd=n" โดยที่ n เป็นจำนวนเต็มทศนิยมที่ไม่เป็นลบ จากนั้นแทนที่จะสร้าง
ซ็อกเก็ตยูนิกซ์ ตัวอธิบายไฟล์นั้น (สันนิษฐานว่าเปิดแล้วและ O_RDWR) จะเป็น
แนบเป็นไคลเอ็นต์ VNC บางทีโปรแกรมที่ execs x11vnc ได้สร้าง a
ซ็อกเก็ตคู่(2) เพื่อสื่อสารผ่าน ใช้กลไกนี้ if -ไอเน็ต (ซึ่งเป็น
โดยพื้นฐานแล้ว fd=0) ไม่ยืดหยุ่นเพียงพอสำหรับคุณ
-unixsock เท่านั้น Str
ฟังบนซ็อกเก็ตยูนิกซ์ 'str' เท่านั้น ไม่มีพอร์ต TCP ข้อสังเกตแรกที่สามารถปิดการใช้งานทั้งหมด
พอร์ตฟัง TCP โดยระบุ '-rfbport 0' ตัวเลือก '-unixsockonly str' คือ
ทำงานได้เทียบเท่ากับ '-unixsock str -rfbพอร์ต 0'
-ฟัง6 Str
เมื่ออยู่ในโหมดฟัง IPv6 "-6" ให้ฟังเฉพาะบนอินเทอร์เฟซเครือข่ายที่มีที่อยู่
Str. นอกจากนี้ยังใช้ได้กับที่อยู่ขอบเขตลิงก์ (fe80::219:dbff:fee5:3f92%eth0) และ
สตริงชื่อโฮสต์ IPv6 (เช่น ipv6.google.com) ใช้ LibVNCServer -ฟัง ตัวเลือกสำหรับ
อินเทอร์เฟซ IPv4
-nolookup
อย่าใช้ gethostbyname() หรือ gethostbyaddr() เพื่อค้นหาชื่อโฮสต์หรือหมายเลข IP
ใช้สิ่งนี้หากตั้งค่าการจำแนกชื่อไม่ถูกต้องและนำไปสู่การหยุดยาวเป็นชื่อ
หมดเวลาการค้นหา ฯลฯ
-ป้อนข้อมูล เชือก
การปรับแต่งอินพุตของผู้ใช้ที่อนุญาตอย่างละเอียด ถ้า เชือก ไม่มีเครื่องหมายจุลภาค "," the
การปรับจูนจะมีผลกับไคลเอ็นต์ปกติเท่านั้น มิฉะนั้นส่วนก่อนหน้า "," เป็นปกติ
ลูกค้าและส่วนหลังสำหรับลูกค้าที่ดูอย่างเดียว "K" สำหรับการป้อนข้อมูลการกดแป้นพิมพ์ "M"
สำหรับอินพุตการเคลื่อนไหวของเมาส์ "B" สำหรับการป้อนข้อมูลการคลิกปุ่ม "C" สำหรับการป้อนข้อมูลคลิปบอร์ดและ
"F" ใช้สำหรับถ่ายโอนไฟล์ (ultravnc เท่านั้น) การปรากฏตัวของพวกเขาในสตริงช่วยให้
ประเภทของอินพุตนั้น เช่น "-ป้อนข้อมูล M" หมายถึงผู้ใช้ทั่วไปสามารถขยับเมาส์ได้เท่านั้นและ
"-ป้อนข้อมูล KMBCF, M" ให้ผู้ใช้ทั่วไปทำอะไรก็ได้และให้ผู้ใช้ที่ดูอย่างเดียวสามารถเคลื่อนไหวได้
หนู. ตัวเลือกนี้จะถูกละเว้นเมื่อ global -สำหรับดูเท่านั้น มีผลบังคับใช้ (อินพุตทั้งหมด
ถูกละทิ้งในกรณีนั้น)
-grabkbd
เมื่อมีการเชื่อมต่อตัวแสดง VNC ให้พยายามคว้าคีย์บอร์ดเพื่อ
ที่เป็นอันตราย) ผู้ใช้ที่นั่งอยู่ที่จอแสดงผลทางกายภาพไม่สามารถเข้าสู่การกดแป้นพิมพ์ได้
วิธีนี้ใช้ XGrabคีย์บอร์ด(3X11) จึงไม่ปลอดภัยและไม่ตัดออก
บุคคลที่แสดงผลทางกายภาพฉีดการกดแป้นพิมพ์โดยทำให้เซิร์ฟเวอร์ท่วมด้วย
คว้าคีย์บอร์ดเอง เป็นต้น ความร่วมมือในระดับหนึ่งจาก
ถือว่าบุคคลที่แสดง นี้มีไว้สำหรับแผนกช่วยเหลือระยะไกลหรือ
โหมดการใช้งานด้านการศึกษา
หมายเหตุ: ในเซิร์ฟเวอร์ X และ/หรือเดสก์ท็อปล่าสุด (12/2010) บางตัว -grabkbd ไม่ทำงานอีกต่อไป:
มันป้องกันตัวจัดการหน้าต่างจากการปรับขนาดหน้าต่างและสิ่งที่คล้ายกัน ลอง
- แกะทั้งสอง ด้านล่าง (อาจไม่ทำงาน)
-grabptr
As -grabkbd, แต่สำหรับตัวชี้เมาส์โดยใช้ XGrabPointer(3X11). น่าเสียดายเนื่องจาก
วิธีการทำงานของเซิร์ฟเวอร์ X ผู้ใช้ยังสามารถย้ายเมาส์ไปมาได้ที่
การแสดงผลทางกายภาพ แต่เขาจะไม่สามารถเปลี่ยนโฟกัสหน้าต่างด้วย อีกด้วย
ผู้จัดการหน้าต่างบางคนที่เรียก XGrabเซิร์ฟเวอร์(3X11) สำหรับการปรับขนาด ฯลฯ จะดำเนินการกับ
อินพุตของผู้ใช้ในพื้นที่ อีกครั้งในระดับความร่วมมือจากบุคคลที่
ถือว่าแสดงผล
- แกะทั้งสอง
เมื่อใดก็ตามที่มีการป้อนข้อมูล (ทั้งแป้นพิมพ์หรือตัวชี้) ungrab *ทั้ง* the
แป้นพิมพ์และตัวชี้ขณะฉีดอินพุตสังเคราะห์ นี่คือการอนุญาตให้
ผู้จัดการหน้าต่าง ฯลฯ มีโอกาสที่จะคว้า
-กราบาลเวย์
ใช้ทั้งสองอย่าง -grabkbd และ -grabptr แม้จะไม่ได้เชื่อมต่อ VNC viewer ก็ตาม ถ้าคุณ
ต้องการเพียงหนึ่งในนั้น ใช้ -R รีโมตคอนโทรลเพื่อเปิดอีกเครื่องหนึ่งกลับขึ้นมา เช่น -R
โนกราฟ
(รหัสผ่าน: โปรดทราบว่าตัวเลือกรหัสผ่าน LibVNCServer "-rfbauth ไฟล์"และ
"-รหัสผ่าน Str" อธิบายไว้ที่ด้านล่างของผลลัพธ์ความช่วยเหลือ)
-viewpasswd เชือก
ระบุรหัสผ่านที่ 2 สำหรับการเข้าสู่ระบบแบบดูอย่างเดียว NS -รหัสผ่าน (เข้าใช้เต็มรูปแบบ) รหัสผ่าน
ยังต้องจัดหา
-passwdfile ชื่อไฟล์
ระบุรหัสผ่าน LibVNCServer ผ่านบรรทัดแรกของไฟล์ ชื่อไฟล์ (แทนที่
หรือทาง -รหัสผ่าน บนบรรทัดคำสั่งที่ผู้อื่นอาจเห็นผ่าน ps(1) ).
ดูคำอธิบายด้านล่างสำหรับวิธีระบุรหัสผ่านหลายรายการ ดูอย่างเดียว
รหัสผ่าน เพื่อระบุโปรแกรมภายนอกสำหรับการรับรองความถูกต้อง และคุณสมบัติอื่นๆ
หากชื่อไฟล์ขึ้นต้นด้วย "rm:" จะถูกลบออกหลังจากอ่านแล้ว
บางทีนี่อาจมีประโยชน์ในการจำกัดความสามารถในการอ่านของไฟล์ โดยทั่วไป
ไฟล์รหัสผ่านไม่ควรอ่านโดยผู้ใช้ที่ไม่น่าเชื่อถือ (BTW:
VNC -rfbauth ไฟล์: ไม่ได้เข้ารหัส แต่ปิดบังด้วยคีย์คงที่เท่านั้น)
หากชื่อไฟล์นำหน้าด้วย "read:" จะมีการตรวจสอบเป็นระยะๆ สำหรับ
การเปลี่ยนแปลงและอ่านซ้ำ รับประกันว่าจะอ่านซ้ำได้เมื่อมีลูกค้าใหม่เชื่อมต่อ
เพื่อที่จะใช้รหัสผ่านล่าสุด
If ชื่อไฟล์ นำหน้าด้วย "cmd:" จากนั้นสตริงหลังจาก ":" ถูกเรียกใช้เป็น an
คำสั่งภายนอก: ผลลัพธ์ของคำสั่งจะถูกตีความราวกับว่ามันถูกอ่าน
จากไฟล์รหัสผ่าน (ดูด้านล่าง) หากคำสั่งไม่ออกด้วย 0 แสดงว่า x11vnc
สิ้นสุดลงทันที เพื่อระบุรหัสผ่านมากกว่า 1000 ด้วยวิธีนี้ตั้งค่า
X11VNC_MAX_PASSWDS ก่อนเริ่ม x11vnc ตัวแปรสภาพแวดล้อมถูกกำหนดเป็นin
-ยอมรับ.
โปรดทราบว่าเนื่องจากโปรโตคอล VNC มีเพียง 8 อักขระแรกของรหัสผ่านเท่านั้น
ใช้แล้ว (คีย์ DES)
If ชื่อไฟล์ นำหน้าด้วย "custom:" จากนั้นจะมีตัวตรวจสอบรหัสผ่านที่กำหนดเองให้
เป็นคำสั่งภายนอกตาม ":" คำสั่งจะทำงานเมื่อไคลเอนต์
รับรองความถูกต้อง หากคำสั่งออกด้วย 0 ไคลเอ็นต์จะได้รับการยอมรับ มิฉะนั้นจะเป็น
ปฏิเสธ ตัวแปรสภาพแวดล้อมถูกกำหนดเป็นin -ยอมรับ.
อินพุตมาตรฐานของคำสั่งกำหนดเองจะเป็นเลขฐานสิบ "len" ตามด้วย
บรรทัดใหม่ "len" ระบุขนาดของคำท้าและโดยปกติคือ 16 (ข้อมูลจำเพาะ VNC)
จากนั้นตามด้วย len byte ซึ่งเป็นสตริงการท้าทายแบบสุ่มที่ส่งไปยัง
ลูกค้า. จากนั้นตามด้วย len ไบต์เพิ่มเติมที่ถือการตอบสนองของลูกค้า (เช่น
สตริงท้าทายที่เข้ารหัสผ่าน DES ด้วยรหัสผ่านผู้ใช้ในมาตรฐาน
สถานการณ์).
แบบแผน "กำหนดเอง:" อาจมีประโยชน์ในการใช้รหัสผ่านแบบไดนามิกหรือนำไปใช้
วิธีการที่ใช้รหัสผ่านที่ยาวขึ้นและ/หรืออัลกอริธึมการเข้ารหัสที่แตกต่างกัน
หลังจะต้องมีการปรับแต่งไคลเอนต์ VNC เช่นกัน หนึ่งสามารถสร้าง an
แบบแผนตาม MD5SUM ตัวอย่างเช่น ดูสิ่งนี้ด้วย -unixpw_cmd ด้านล่าง
รูปแบบไฟล์สำหรับ -passwd ไฟล์:
หากมีบรรทัดที่ไม่เว้นว่างหลายบรรทัดในไฟล์ ทุกบรรทัดจะถูกนับเป็น valid
รหัสผ่าน บรรทัดว่างจะถูกละเว้น บรรทัดรหัสผ่านอาจถูก "แสดงความคิดเห็น"
(ละเว้น) หากขึ้นต้นด้วยอักขระ "#" หรือบรรทัดมีสตริง
"__ข้าม__". บรรทัดสามารถใส่คำอธิบายประกอบได้โดยใช้สตริง "__COMM__": จากบรรทัดนั้นไปยัง
จุดสิ้นสุดของบรรทัดจะถูกละเว้น รหัสผ่านที่ว่างเปล่าสามารถระบุได้ผ่านทาง "__EMPTY__"
สตริงบนบรรทัดด้วยตัวเอง (โปรดทราบว่าผู้ชมของคุณอาจไม่ยอมรับรหัสผ่านที่ว่างเปล่า)
หากสตริง "__BEGIN_VIEWONLY__" ปรากฏบนบรรทัดโดยลำพัง ค่าที่เหลือ
รหัสผ่านจะใช้สำหรับการเข้าถึงแบบดูอย่างเดียว สำหรับความเข้ากันได้ เป็นกรณีพิเศษ if
ไฟล์มีรหัสผ่านเพียงสองบรรทัด บรรทัดที่ 2 จะถูกเปลี่ยนเป็น .โดยอัตโนมัติ
รหัสผ่านสำหรับดูเท่านั้น มิฉะนั้น จะต้องใช้โทเค็น "__BEGIN_VIEWONLY__" จึงจะมี
รหัสผ่านสำหรับดูเท่านั้น (เคล็ดลับ: ทำให้บรรทัดที่ 3 และบรรทัดสุดท้ายเป็น "__BEGIN_VIEWONLY__" ถึง
มีรหัสผ่านเข้าใช้เต็มรูปแบบ 2 รหัส)
-showrfbauth ชื่อไฟล์
พิมพ์รหัสผ่าน VNC ที่ปิดบังไว้ในไฟล์ rfbauth ไปที่หน้าจอ ชื่อไฟล์ และ
แล้วออก
-usepw
หากไม่มีวิธีรหัสผ่านอื่นระบุไว้ในบรรทัดคำสั่ง ให้มองหา
~/.vnc/passwd และหากพบว่าใช้กับ -rfbauth; ต่อไปมองหา ~/.vnc/passwdfile
และใช้กับ -passwdfile; มิฉะนั้น ให้ผู้ใช้ป้อนรหัสผ่านเพื่อสร้าง
~/.vnc/passwd และใช้กับ -rfbauth ตัวเลือก. หากสิ่งเหล่านี้ไม่สำเร็จ x11vnc
ออกไปทันที
-storepasswd ส่ง ไฟล์
รหัสผ่านร้านค้า ส่ง เป็นรหัสผ่าน VNC ในไฟล์ ไฟล์. เมื่อรหัสผ่านคือ
เก็บโปรแกรมออก ใช้รหัสผ่านผ่าน "-rfbauth ไฟล์"
หากถูกเรียกโดยไม่มีข้อโต้แย้ง "x11vnc -storepasswd", ผู้ใช้จะได้รับแจ้งให้ for
รหัสผ่านและถูกเก็บไว้ในไฟล์ ~/.vnc/passwd. เรียกด้วยอาร์กิวเมนต์เดียว
ที่จะเป็นไฟล์สำหรับเก็บรหัสผ่านที่แจ้งไว้
-นพ
ปิดใช้งานข้อความเตือนขนาดใหญ่เมื่อคุณใช้ x11vnc โดยไม่มีรหัสผ่าน
-ยอมรับ เชือก
เรียกใช้คำสั่ง (อาจให้ผู้ใช้ที่จอแสดงผล X11) เพื่อตัดสินใจว่า
ลูกค้าที่เข้ามาควรได้รับอนุญาตให้เชื่อมต่อหรือไม่ เชือก เป็นคำสั่งภายนอก
วิ่งผ่าน ระบบ(3) หรือกรณีพิเศษบางกรณีที่อธิบายไว้ด้านล่าง อย่าลืมเสนอราคา เชือก
หากมีช่องว่าง อักขระเชลล์ ฯลฯ หากคำสั่งภายนอกคืนค่า 0
ลูกค้าได้รับการยอมรับ มิฉะนั้น ลูกค้าจะถูกปฏิเสธ ดูด้านล่างสำหรับ an
ส่วนขยายเพื่อยอมรับการดูอย่างเดียวของไคลเอ็นต์
หาก x11vnc ทำงานเป็นรูท (พูดจาก inetd(8) หรือจากผู้จัดการการแสดง xdm(1),
GDM(1) ฯลฯ ) พิจารณาถึงผลกระทบด้านความปลอดภัยอย่างรอบคอบก่อนที่จะจัดหา
ตัวเลือกนี้ (เช่นเดียวกันสำหรับ -ที่ไปแล้ว ตัวเลือก)
สภาพแวดล้อม: ตัวแปรสภาพแวดล้อม RFB_CLIENT_IP จะถูกตั้งค่าเป็นขาเข้า
หมายเลข IP ของไคลเอ็นต์และพอร์ตใน RFB_CLIENT_PORT (หรือ -1 หากไม่มี)
ในทำนองเดียวกัน RFB_SERVER_IP และ RFB_SERVER_PORT (ด้าน x11vnc ของการเชื่อมต่อ)
ถูกตั้งค่าเพื่อให้สามารถระบุวงจรเสมือน tcp ได้ รหัสกระบวนการ x11vnc
จะอยู่ใน RFB_X11VNC_PID หมายเลขรหัสลูกค้าใน RFB_CLIENT_ID และหมายเลข
ไคลเอ็นต์ที่เชื่อมต่ออื่นๆ ใน RFB_CLIENT_COUNT RFB_MODE จะ "ยอมรับ" RFB_STATE
จะเป็น PROTOCOL_VERSION, SECURITY_TYPE, AUTHENTICATION, INITIALISATION, NORMAL หรือ
UNKNOWN บ่งชี้สถานะที่ลูกค้าได้รับ RFB_LOGIN_VIEWONLY
จะเป็น 0, 1 หรือ -1 (ไม่ทราบ) RFB_USERNAME, RFB_LOGIN_TIME และ RFB_CURRENT_TIME
ยังสามารถตั้งค่า
If เชือก คือ "ป๊อปอัป" จากนั้นจึงใช้หน้าต่างป๊อปอัปในตัว ป๊อปอัปจะหมดเวลา
หลังจาก 120 วินาที ให้ใช้ "popup:N" เพื่อแก้ไขการหมดเวลาเป็น N วินาที (ใช้ 0 สำหรับ no
หมดเวลา).
ในกรณีของ "ป๊อปอัป" และเมื่อ -unixpw ระบุตัวเลือกแล้ว *วินาที*
หน้าต่างจะปรากฏขึ้นหลังจากที่ผู้ใช้เข้าสู่ระบบด้วยรหัสผ่าน UNIX สำเร็จ
ครั้งนี้ ผู้ใช้จะถูกระบุเป็น UNIX:username@hostname คำนำหน้า "UNIX:"
ระบุว่าผู้ใช้คนใดที่ผู้ชมเข้าสู่ระบบเป็น via -unixpw. ป๊อปอัปแรกมีไว้สำหรับ .เท่านั้น
จะอนุญาตให้เขา *พยายาม* เพื่อเข้าสู่ระบบผ่านรหัสผ่านยูนิกซ์หรือไม่
If เชือก คือ "xmessage" แล้ว an ข้อความ(1) ใช้สำหรับคำสั่ง
ต้องติดตั้ง xmessage บนเครื่องจึงจะใช้งานได้
ทั้ง "ป๊อปอัป" และ "xmessage" จะแสดงตัวเลือกสำหรับการยอมรับไคลเอ็นต์ "ดู-
เท่านั้น" (ลูกค้าสามารถรับชมได้เท่านั้น) ตัวเลือกนี้จะไม่ปรากฏหาก -สำหรับดูเท่านั้น
ได้รับการระบุ ซึ่งในกรณีนี้ การแสดงผลทั้งหมดเป็นแบบดูเท่านั้น
หากคำสั่งที่ผู้ใช้ระบุนำหน้าด้วย "yes:0,no:*,view:3 ."
mycommand ... " จากนั้นสิ่งนี้จะเชื่อมโยงรหัสส่งคืนคำสั่งตัวเลขกับ
การดำเนินการ: ยอมรับ ปฏิเสธ และยอมรับ-ดูอย่างเดียว ตามลำดับ ใช้ "*" แทน a
ตัวเลขเพื่อระบุการกระทำเริ่มต้น (ในกรณีที่คำสั่งส่งกลับค่าที่ไม่คาดคิด
ค่า). เช่น "ไม่:*" เป็นตัวเลือกที่ดี
โปรดทราบว่า x11vnc บล็อกในขณะที่คำสั่งภายนอกหรือป๊อปอัปกำลังทำงานอยู่ (other
ลูกค้าอาจไม่เห็นการอัปเดตในช่วงเวลานี้) ดังนั้นคนนั่งกาย
จำเป็นต้องใช้จอแสดงผลเพื่อตอบสนองต่อข้อความแจ้งป๊อปอัป (ใช้ x2vnc ตัวที่ 11 หากคุณล็อค
ตัวเองออกไป)
เพิ่มเติม -ยอมรับ เคล็ดลับ: ใช้ "ป๊อปอัปเมาส์" เพื่ออนุญาตให้คลิกเมาส์ในตัวเท่านั้น
ป๊อปอัปที่จะรับรู้ ในทำนองเดียวกัน ใช้ "ป๊อปอัปคีย์" เพื่อรับรู้เฉพาะการกดแป้นพิมพ์
คำตอบ สิ่งเหล่านี้จะช่วยป้องกันไม่ให้ผู้ใช้ยอมรับลูกค้าโดยไม่ได้ตั้งใจโดย
พิมพ์หรือคลิก คีย์เวิร์ดป๊อปอัปทั้ง 3 รายการสามารถตามด้วย +N+M เพื่อระบุ a
ตำแหน่งสำหรับหน้าต่างป๊อปอัป ค่าเริ่มต้นคือการจัดหน้าต่างป๊อปอัปให้อยู่ตรงกลาง
-หลังรับ เชือก
As -ยอมรับ, ยกเว้นการเรียกใช้คำสั่งที่ผู้ใช้ให้มาหลังจากที่ลูกค้าได้รับการยอมรับแล้ว
และรับรองความถูกต้อง RFB_MODE จะถูกตั้งค่าเป็น "afteraccept" และ RFB_* อื่น
ตัวแปรเป็นเช่นใน -ยอมรับ. แตกต่าง -ยอมรับ, รหัสส่งคืนคำสั่งไม่ใช่
ตีความโดย x11vnc ตัวอย่าง: -หลังรับ 'killall xlock &'
-ที่ไปแล้ว เชือก
As -ยอมรับ, ยกเว้นการเรียกใช้คำสั่งที่ผู้ใช้ให้มาเมื่อไคลเอ็นต์หายไป
(ตัดการเชื่อมต่อ). RFB_MODE จะถูกตั้งค่าเป็น "หายไป" และตัวแปร RFB_* อื่น ๆ จะเป็น
in -ยอมรับ. การดำเนินการ "ป๊อปอัป" ก็มีผลเช่นกัน ไม่เหมือน -ยอมรับ, คำสั่งกลับ
รหัสไม่ถูกตีความโดย x11vnc ตัวอย่าง: -ที่ไปแล้ว 'เอ็กซ์ล็อก &'
-unixpw [รายการ]
ใช้การตรวจสอบชื่อผู้ใช้และรหัสผ่าน Unix x11vnc จะใช้ su(1) โปรแกรม
เพื่อตรวจสอบรหัสผ่านของผู้ใช้ [list] เป็นรายการที่คั่นด้วยเครื่องหมายจุลภาคทางเลือกของ
อนุญาตให้ใช้ชื่อผู้ใช้ Unix หากสตริง [list] ขึ้นต้นด้วยอักขระ "!" แล้ว
รายการทั้งหมดถือเป็นรายการที่ไม่รวม ดูด้านล่างสำหรับตัวเลือกต่อผู้ใช้ที่
สามารถนำไปใช้
กล่องโต้ตอบ "เข้าสู่ระบบ:" และ "รหัสผ่าน:" ที่คุ้นเคยจะแสดงต่อผู้ใช้เป็นสีดำ
หน้าจอภายใน vncviewer การเชื่อมต่อจะลดลงหากผู้ใช้ไม่สามารถจัดหาได้
รหัสผ่านที่ถูกต้องใน 3 ครั้ง หรือไม่ส่งก่อนหมดเวลา 45 วินาที
ลูกค้าปัจจุบันสามารถดูได้อย่างเดียวในช่วงเวลานี้
หากตัวอักษรตัวแรกที่ได้รับคือ "Escape" ชื่อผู้ใช้ unix จะไม่เป็น
แสดงหลัง "เข้าสู่ระบบ:" ขณะที่พิมพ์ สิ่งนี้อาจใช้สำหรับผู้ชม VNC ที่
พิมพ์ชื่อผู้ใช้และรหัสผ่านโดยอัตโนมัติ
เนื่องจากพฤติกรรมโดยละเอียดของ su(1) อาจแตกต่างกันไปตาม OS กับ OS และสำหรับท้องถิ่น
การกำหนดค่า ทดสอบโหมดก่อนใช้งานเพื่อให้แน่ใจว่าใช้งานได้
อย่างถูกต้อง. x11vnc จะพยายามระมัดระวังและปฏิเสธการเข้าสู่ระบบหากมีสิ่งใด
ผิดปกติเกิดขึ้น
กรณีหนึ่งที่ควรทราบ: FreeBSD และ BSD อื่น ๆ โดยค่าเริ่มต้น มันเป็นไปไม่ได้สำหรับ
ผู้ใช้ที่รัน x11vnc เพื่อตรวจสอบรหัสผ่าน *ของตัวเอง* ผ่าน su(1) (แสดงความคิดเห็น
pam_self.so เข้าใน /etc/pam.d/su ขจัดพฤติกรรมนี้) ดังนั้นการเข้าสู่ระบบ x11vnc
จะ *FAIL* เสมอสำหรับกรณีนี้ (แม้ว่าจะให้รหัสผ่านที่ถูกต้องก็ตาม)
วิธีแก้ปัญหาที่เป็นไปได้สำหรับสิ่งนี้ใน *BSD คือการเริ่ม x11vnc เป็นรูทด้วย
"-ผู้ใช้ +ไม่มีใคร" ตัวเลือกที่จะเปลี่ยนไปใช้ผู้ใช้ทันทีที่ไม่มีใครต้องการ
ดำเนินไปตามปกติ
แหล่งที่มาของปัญหาที่อาจเกิดขึ้นอีกประการหนึ่งคือโมดูล PAM ที่แจ้งข้อมูลเพิ่มเติม
เช่น โมดูลอายุรหัสผ่าน การเข้าสู่ระบบเหล่านี้จะล้มเหลวเช่นกันแม้ว่าจะถูกต้อง
มีรหัสผ่านให้
**สำคัญ**: เพื่อป้องกันไม่ให้ส่งรหัสผ่าน Unix ใน * ข้อความที่ชัดเจน * ผ่าน
เครือข่ายจะบังคับใช้หนึ่งในสองรูปแบบ: 1) -ssl โหมด SSL ในตัวหรือ 2)
ต้องการทั้งสองอย่าง -localhost และ -ตะลึง จะเปิดใช้งาน
วิธีที่ 1) ทำให้แน่ใจว่าทราฟฟิกได้รับการเข้ารหัสระหว่างผู้ดูและเซิร์ฟเวอร์ ไฟล์ PEM
จะต้องดูการสนทนาภายใต้ -ssl ด้านล่าง (ในบางกรณี a
ชั่วคราวสามารถสร้างได้โดยอัตโนมัติ)
วิธีที่ 2) ต้องการการเชื่อมต่อตัวแสดงเพื่อให้ดูเหมือนว่ามาจากเครื่องเดียวกัน
x11vnc กำลังทำงาน (เช่นจาก ssh -L การเปลี่ยนเส้นทางพอร์ต) และที่ -ตะลึง
โหมด SSL ใช้สำหรับการเข้ารหัสผ่านเครือข่าย (ดูคำอธิบายของ -ตะลึง
ด้านล่าง)
หมายเหตุ: เพื่อความสะดวก หากท่าน SSH(1) ในและเริ่ม x11vnc มันจะตรวจสอบว่า
ตัวแปรสภาพแวดล้อม SSH_CONNECTION ถูกตั้งค่าและดูเหมือนสมเหตุสมผล ถ้าเป็นเช่นนั้น
แล้ว -ssl or -ตะลึง ความต้องการจะลดลงเนื่องจากถือว่าคุณเป็น
ใช้ ssh สำหรับช่องสัญญาณที่เข้ารหัส -localhost ยังคงบังคับใช้ ใช้ -ssl or
-ตะลึง เพื่อบังคับการใช้งาน SSL แม้ว่าจะมีการตั้งค่า SSH_CONNECTION
หากต้องการลบล้างข้อจำกัดข้างต้น คุณสามารถตั้งค่าตัวแปรสภาพแวดล้อมได้ก่อน
เริ่มต้น x11vnc:
ตั้งค่า UNIXPW_DISABLE_SSL=1 เพื่อปิดการใช้งานที่ต้องการอย่างใดอย่างหนึ่ง -ssl or -ตะลึง (ตามด้านล่าง
SSH_CONNECTION.) เห็นได้ชัดว่าคุณจะใช้วิธีอื่นในการเข้ารหัส
ข้อมูลระหว่าง vncviewer และ x11vnc: บางที SSH(1) หรือ IPSEC VPN -localhost
ยังคงบังคับใช้อยู่ (แต่โปรดดูย่อหน้าถัดไป)
ตั้งค่า UNIXPW_DISABLE_LOCALHOST=1 เพื่อปิดการใช้งาน -localhost ความต้องการใน -unixpw
โหมด เราไม่ควรทำเช่นนี้ (เช่น อนุญาตให้ดักฟังรหัสผ่าน Unix ได้)
เครือข่าย) สิ่งนี้ยังปิดการใช้งานข้อกำหนด localhost สำหรับการเชื่อมต่อแบบย้อนกลับ
(ดูด้านล่าง.)
โปรดทราบว่าการใช้ -localhost สีสดสวย SSH(1) (และไม่ใช่ -unixpw) ประมาณเท่ากับ
กำหนดให้ผู้ใช้เข้าสู่ระบบ Unix (เนื่องจากรหัสผ่าน Unix หรือคีย์สาธารณะของผู้ใช้)
การรับรองความถูกต้องถูกใช้โดย sshd บนเครื่องที่ x11vnc ทำงานและในเครื่องเท่านั้น
การเชื่อมต่อจากเครื่องนั้นได้รับการยอมรับ)
เกี่ยวกับการเชื่อมต่อย้อนกลับ (เช่น -R เชื่อมต่อ:โฮสต์และ -เชื่อมต่อ โฮสต์) เมื่อ
-localhost ข้อจำกัดมีผล ดังนั้นการเชื่อมต่อแบบย้อนกลับสามารถใช้ได้เฉพาะกับ
เชื่อมต่อกับเครื่องเดียวกัน x11vnc กำลังทำงานอยู่ (พอร์ตเริ่มต้น 5500) กรุณาใช้ a
ssh หรือการเปลี่ยนเส้นทางพอร์ต stunnel ไปยังเครื่องแสดงเพื่ออุโมงค์ย้อนกลับ
การเชื่อมต่อผ่านช่องสัญญาณที่เข้ารหัส
In -ไอเน็ต โหมดวิธีที่ 1) จะถูกบังคับใช้ (ไม่ใช่วิธีที่ 2) กับ -ssl ส่งผลกับ
การเชื่อมต่อย้อนกลับถูกปิดใช้งาน หากคุณแทนที่สิ่งนี้ผ่าน env var อย่าลืม
ยังใช้การเข้ารหัสจากตัวแสดงไปยัง inetd เคล็ดลับ: คุณสามารถมีของคุณเองได้
stunnel spawn x11vnc ใน -ไอเน็ต โหมด (ดังนั้นจึงข้าม inetd) ดูคำถามที่พบบ่อยสำหรับ
รายละเอียด
ชื่อผู้ใช้ในเครื่องหมายจุลภาคคั่น [รายการ] อาจมีตัวเลือกต่อผู้ใช้หลังจาก ":",
เช่น "fred:opts" โดยที่ "opts" เป็นรายการที่แยกจาก "+" ของ "viewonly", "fullaccess"
"input=XXXX" หรือ "deny" เช่น "karl,wally:viewonly,boss:input=M" สำหรับ "input=" it
คือ K,M,B,C ที่อธิบายไว้ภายใต้ -ป้อนข้อมูล.
หากรายการในรายการเป็น "*" แสดงว่าตัวเลือกเหล่านั้นมีผลกับผู้ใช้ทั้งหมด มันยัง
หมายความว่าผู้ใช้ทุกคนสามารถเข้าสู่ระบบได้หลังจากระบุรหัสผ่านที่ถูกต้อง ใช้
"ปฏิเสธ" เพื่อปฏิเสธผู้ใช้บางรายอย่างชัดแจ้ง หากคุณใช้ "*" เพื่อตั้งค่าตัวเลือกส่วนกลาง ถ้า
[list] เริ่มต้นด้วย "!" อักขระแล้ว "*" จะถูกละเว้นเพื่อตรวจสอบว่าผู้ใช้
ได้รับอนุญาต แต่ค่าตัวเลือกที่เกี่ยวข้องจะใช้ตามปกติ
นอกจากนี้ยังมียูทิลิตี้บางอย่างสำหรับตรวจสอบรหัสผ่านหาก [รายการ] เริ่มต้นด้วย "%"
อักขระ. ดูฟังก์ชัน quick_pw() สำหรับรายละเอียดเพิ่มเติม คำอธิบาย: "%-" or
"%stdin" หมายถึงอ่านหนึ่งบรรทัดจาก stdin "%stdin2" หมายถึงอ่านชื่อผู้ใช้จาก
บรรทัด stdin แรกและรหัสผ่านจากบรรทัด stdin ที่สอง "%env" หมายความว่า มันคือ
ใน $UNIXPW env var. นำหน้า "%/" หรือ "%" หมายถึงอ่านบรรทัดแรกจาก
ชื่อไฟล์ที่ตามหลังอักขระ % % โดยตัวมันเองหมายถึงพรอมต์สำหรับ
ชื่อผู้ใช้และรหัสผ่าน มิฉะนั้น: %user:pass เช่น -unixpw %fred:swordfish สำหรับ
กรณีอื่น ๆ user:pass ถูกอ่านจากแหล่งที่ระบุ หากรหัสผ่านคือ
พิมพ์ 'ผู้ใช้ Y' ที่ถูกต้องและรหัสออกจากโปรแกรมคือ 0 หากรหัสผ่านคือ
ไม่ถูกต้อง มันพิมพ์ 'ผู้ใช้ N' และรหัสออกคือ 1 หากมีข้อผิดพลาดอื่น ๆ
รหัสออกคือ 2 คุณลักษณะนี้ทำให้ x11vnc เป็นรหัสผ่านผู้ใช้ยูนิกซ์ทั่วไป
เครื่องมือตรวจสอบ; สามารถใช้จากสคริปต์หรือโปรแกรมอื่นๆ รหัสผ่าน% เหล่านี้
เช็คยังใช้กับ -unixpw_nis และ -unixpw_cmd ตัวเลือก
สำหรับการตรวจสอบรหัสผ่าน % หาก env วาร์ UNIXPW_CMD ถูกตั้งค่าเป็นคำสั่งจากนั้นก็
ถูกเรียกใช้ในฐานะผู้ใช้ (สมมติว่ารหัสผ่านถูกต้อง) ผลลัพธ์ของคำสั่ง
ไม่ได้พิมพ์ โปรแกรมหรือสคริปต์ต้องจัดการด้วยวิธีอื่น NS
รหัสออกของ x11vnc จะขึ้นอยู่กับรหัสออกของคำสั่งที่รัน
ใช้ -noixpw เพื่อปิดใช้งานโหมด unixpw หากเปิดใช้งานก่อนหน้านี้ในบรรทัด cmd
(เช่น -svc โหมด)
-unixpw_nis [รายการ]
As -unixpw ข้างต้นอย่างไรก็ตามอย่าใช้ su(1) แต่ใช้แบบดั้งเดิมมากกว่า
เก็ทพวนัม(3) + ฝังศพใต้ถุนโบสถ์(3) วิธีการตรวจสอบรหัสผ่าน จากทั้งหมดที่กล่าวมา -unixpw ตัวเลือก
และมีข้อจำกัด
โหมดนี้ต้องการให้รหัสผ่านที่เข้ารหัสสามารถอ่านได้ รหัสผ่านที่เข้ารหัส
เก็บไว้ใน / etc / shadow จะไม่สามารถเข้าถึงได้เว้นแต่ x11vnc จะถูกเรียกใช้เป็นรูท
สิ่งนี้เรียกว่าโหมด "NIS" เพียงเพราะในการตั้งค่า NIS ส่วนใหญ่ผู้ใช้เข้ารหัส
รหัสผ่านสามารถเข้าถึงได้ (เช่น "ypcat passwd") โดยผู้ใช้ทั่วไปและเพื่อให้ผู้ใช้
สามารถรับรองความถูกต้องของผู้ใช้ใด ๆ
ไม่จำเป็นต้องใช้ NIS สำหรับโหมดนี้ในการทำงาน (เฉพาะสิ่งนั้น เก็ทพวนัม(3) ส่งคืน
ต้องใช้รหัสผ่านที่เข้ารหัส) แต่ไม่น่าจะใช้งานได้ (ตามปกติ
ผู้ใช้) สำหรับสภาพแวดล้อมที่ทันสมัยที่สุดเว้นแต่ NIS จะพร้อมใช้งาน ในทางกลับกัน,
เมื่อ x11vnc ทำงานเป็น root จะสามารถเข้าถึงได้ / etc / shadow แม้ว่า NIS จะเป็น
ไม่พร้อมใช้งาน (หมายเหตุการทำงานเป็นรูทมักจะทำเมื่อรัน x11vnc จาก inetd
และ xdm/gdm/kdm)
มองอย่างอื่นถ้าคุณไม่ต้องการใช้ su(1) วิธีการจัดทำโดย
-unixpw (เช่น su_verify()) คุณสามารถเรียกใช้ x11vnc เป็นรูทและใช้งาน -unixpw_nis. ใด
ผู้ใช้ที่มีรหัสผ่านใน / etc / shadow จากนั้นสามารถตรวจสอบสิทธิ์ได้
In -unixpw_nis โหมดไม่ว่าในกรณีใด ๆ จะเป็นการยืนยันรหัสผ่านผู้ใช้ของ x11vnc
ฟังก์ชันตาม su ที่เรียก (เช่น ฟังก์ชัน su_verify() ที่ทำงานอยู่ /ถัง/ซู ใน
pseudoterminal เพื่อตรวจสอบรหัสผ่าน) อย่างไรก็ตาม if -unixpw_nis ถูกใช้ใน
ร่วมกับ -หา และ -สร้าง -แสดง WAIT:... โหมด ถ้า x11vnc เป็น
ทำงานเป็นรูท /ถัง/ซู อาจถูกเรียกจากภายนอกเพื่อเรียกใช้ find หรือ create
คำสั่ง
-unixpw_cmd cmd
As -unixpw ข้างต้นอย่างไรก็ตามอย่าใช้ su(1) แต่ให้เรียกใช้ภายนอกที่ให้มา
คำสั่ง cmd. บรรทัดแรกของ stdin จะเป็นชื่อผู้ใช้และบรรทัดที่สอง
รหัสผ่านที่ได้รับ หากคำสั่งออกจากสถานะ 0 (สำเร็จ) ผู้ใช้ VNC
จะได้รับการยอมรับ จะถูกปฏิเสธสำหรับสถานะการคืนสินค้าอื่นๆ
รหัสผ่านแบบไดนามิกและรหัสผ่านที่ไม่ใช่ยูนิกซ์ เช่น LDAP สามารถใช้วิธีนี้ได้โดย
จัดเตรียมโปรแกรมตัวช่วยที่คุณกำหนดเอง โปรดทราบว่าผู้ดูระยะไกลจะได้รับ3
พยายามป้อนรหัสผ่านที่ถูกต้อง ดังนั้นโปรแกรมอาจถูกเรียกในแถวนั้น
หลายครั้ง (หรือมากกว่า)
หากจำเป็นต้องมีรายชื่อผู้ใช้ที่ได้รับอนุญาตเพื่อจำกัดผู้ที่สามารถเข้าสู่ระบบได้ ให้ใช้ -unixpw [รายการ] ใน
นอกเหนือจากตัวเลือกนี้
ในโหมด FINDDISPLAY และ FINDCREATEDISPLAY cmd จะถูกเรียกใช้ด้วย
RFB_UNIXPW_CMD_RUN env. วาร์ ไม่ว่างเปล่าและตั้งค่าเป็น display ที่เกี่ยวข้อง
ค้นหา/สร้างคำสั่ง อินพุตสองบรรทัดแรกคือชื่อผู้ใช้และรหัสผ่านเป็น
ในกรณีปกติที่อธิบายไว้ข้างต้น เพื่อสนับสนุน FINDDISPLAY และ FINDCREATEDISPLAY
cmd ควรเรียกใช้คำสั่งที่ร้องขอในฐานะผู้ใช้ (และส่วนใหญ่ปฏิเสธที่จะเรียกใช้
หากรหัสผ่านไม่ถูกต้อง) นี่คือตัวอย่างสคริปต์ (โปรดทราบว่ามันมี a
รหัสผ่านปลอมเดินสาย "abc"!)
#!bin / sh / # ตัวอย่าง x11vnc -unixpw_cmd สคริปต์ # อ่านสองบรรทัดแรกของ stdin
(ผู้ใช้และรหัสผ่าน) อ่านผู้ใช้อ่านผ่าน
debug=0 ถ้า [ $debug = 1 ]; จากนั้น echo "ผู้ใช้: $user" 1>&2 echo "pass: $pass" 1>&2 env
| นกกระยาง -i 'rfb|vnc' 1>&2 fi
# ตรวจสอบว่ารหัสผ่านถูกต้องหรือไม่ # (ตัวอย่างจริงจะใช้การค้นหา ldap เป็นต้น!)
ถ้า [ "X$pass" != "Xabc" ]; จากนั้นออกจาก 1 # รหัสผ่านไม่ถูกต้อง fi
ถ้า [ "X$RFB_UNIXPW_CMD_RUN" = "X" ]; จากนั้นออกจาก 0 # รหัสผ่านที่ถูกต้อง อย่างอื่น # Run
คำสั่งที่ร้องขอ (finddisplay) ถ้า [ $debug = 1 ]; จากนั้นก้อง "เรียกใช้:
$RFB_UNIXPW_CMD_RUN" 1>&2 ไฟล์ exec /ถัง/ซู - "ผู้ใช้ $" -c "$RFB_UNIXPW_CMD_RUN" สำหรับ
ทางออก 1
In -unixpw_cmd โหมดไม่ว่าในกรณีใด ๆ จะเป็นการยืนยันรหัสผ่านผู้ใช้ของ x11vnc
ฟังก์ชันตาม su ที่เรียก (เช่น ฟังก์ชัน su_verify() ที่ทำงานอยู่ /ถัง/ซู ใน
pseudoterminal เพื่อตรวจสอบรหัสผ่าน) ขึ้นอยู่กับ unixpw_cmd ที่ให้มาที่จะทำ
ผู้ใช้เปลี่ยนหากต้องการและหากได้รับอนุญาตให้ทำเช่นนั้น
ดูสิ่งนี้ด้วย "-passwdfile กำหนดเอง:..." ด้านบนสำหรับชื่อผู้ใช้ที่ไม่ใช่ยูนิกซ์ตามกำหนดเอง
อินเทอร์เฟซการตรวจสอบรหัสผ่าน
-หา
ค้นหาจอแสดงผลของผู้ใช้โดยใช้ FINDDISPLAY นี่คือนามแฝงสำหรับ "-แสดง
รอ: cmd = FINDDISPLAY".
หมายเหตุ: ถ้า a -แสดง เกิดขึ้นในภายหลังบนบรรทัดคำสั่ง มันจะแทนที่ -หา
การตั้งค่า
สำหรับตัวเลือกนี้และตัวเลือกถัดไป โปรดดูที่ -แสดง รอ:... ด้านล่างสำหรับ .ทั้งหมด
รายละเอียด
-finddpy
เรียกใช้โปรแกรม FINDDISPLAY พิมพ์จอแสดงผลที่พบ (ถ้ามี) และออก เอาท์พุต
เป็นเหมือน: DISPLAY=:0.0 DISPLAY=:0.0,XPID=12345 หรือ DISPLAY=:0.0,VT=7 XPID คือ
ID กระบวนการของเซิร์ฟเวอร์ X ที่พบ VT เป็นเทอร์มินัลเสมือน Linux ของ X
เซิร์ฟเวอร์
-listdpy
ให้โปรแกรม FINDDISPLAY แสดงรายการจอแสดงผลทั้งหมดของคุณ (เช่น X ทั้งหมดแสดงบน
เครื่องท้องถิ่นที่คุณมีสิทธิ์เข้าถึง) x11vnc จากนั้นออก
-findauth [แสดง]
สมัคร -find/-finddpy ฮิวริสติกเพื่อลองเดาไฟล์ XAUTHORITY สำหรับ DISPLAY
'ดิสพ์'. หากไม่ได้ระบุ 'disp' แสดงว่าค่าใน -แสดง บน cmdline
ถูกนำมาใช้; ล้มเหลวในการใช้ $DISPLAY; และล้มเหลวในการใช้ ":0" x11vnc แล้ว
ทางออก
ถ้าไม่มีอะไรพิมพ์ออกมา แสดงว่าไม่พบ XAUTHORITY สำหรับ 'disp'; เช่น
ความล้มเหลว. หากพิมพ์ "XAUTHORITY=" ออกมา แสดงว่าใช้ค่าเริ่มต้น (เช่น do not
ตั้งค่า XAUTHORITY) หากพิมพ์ "XAUTHORITY=/path/to/file" ให้ใช้ไฟล์นั้น
XDM/GDM/KDM: หากคุณใช้ x11vnc เป็นรูทและต้องการค้นหา XAUTHORITY
ก่อนที่ใครก็ตามจะเข้าสู่เซสชัน X ให้ใช้: x11vnc -env FD_XDM=1 -findauth
... (สิ่งนี้จะค้นหา XAUTHORITY หากผู้ใช้ลงชื่อเข้าใช้X .แล้ว
session.) เมื่อรันเป็น root, FD_XDM=1 จะถูกลองถ้า initial -findauth
ล้มเหลว
-สร้าง
ขั้นแรกให้ลองค้นหาจอแสดงผลของผู้ใช้โดยใช้ FINDDISPLAY หากไม่สำเร็จ
สร้างเซสชัน X ด้วยวิธี FINDCREATEDISPLAY นี่คือนามแฝงสำหรับ
"-แสดง รอ:cmd=FINDCREATEDISPLAY-Xvfb".
หมายเหตุ: ถ้า a -แสดง เกิดขึ้นในภายหลังบนบรรทัดคำสั่ง มันจะแทนที่ -สร้าง
การตั้งค่า
หมายเหตุ SSH: สำหรับทั้งคู่ -หา และ -สร้าง คุณสามารถ (ควร!) เพิ่ม "-localhostตัวเลือก "
เพื่อบังคับการเข้าถึงช่องสัญญาณ SSH
-xdummy
เช่นใน -สร้าง, ยกเว้น Xdummy แทน Xvfb
-xvnc
เช่นใน -สร้าง, ยกเว้น Xvnc แทน Xvfb
-xvnc_redirect
เช่นใน -สร้าง, ยกเว้น Xvnc.redirect แทน Xvfb
-xdummy_xvfb
ตั้งค่า WAIT:cmd=FINDCREATEDISPLAY-Xdummy,Xvfb
-create_xsrv Str
ตั้งค่า WAIT:cmd=FINDCREATEDISPLAY- สามารถอยู่บน cmdline หลังจากอะไรก็ได้ที่ตั้งค่า
รอ:.. และอื่นๆ (เช่น -svc, -xdmsvc) เพื่อปรับรายการเซิร์ฟเวอร์ X
ตัวอย่าง: -svc ... -create_xsrv เอ็กซ์ดัมมี่ เอ็กซ์
-svc
โหมดบริการเทอร์มินัลตามการเข้าถึง SSL นามแฝงสำหรับ -แสดง
รอ:cmd=FINDCREATEDISPLAY-Xvfb -unixpw -ผู้ใช้ ยูนิกซ์พีดับบลิว= -ssl ประหยัดด้วย "-Service".
หมายเหตุ: ถ้า a -แสดง, -unixpw, -ผู้ใช้ or -ssl เกิดขึ้นภายหลังบนบรรทัดคำสั่ง it
จะแทนที่ -svc การตั้งค่า
-svc_xdummy
As -svc ยกเว้น Xdummy แทน Xvfb
-svc_xvnc
As -svc ยกเว้น Xvnc แทน Xvfb
-svc_xdummy_xvfb
As -svc กับ Xdummy,Xvfb.
-xdmsvc
โหมดบริการเทอร์มินัลของตัวจัดการการแสดงผลตาม SSL นามแฝงสำหรับ -แสดง
รอ: cmd=FINDCREATEDISPLAY-Xvfb.xdmcp -unixpw -ผู้ใช้ ยูนิกซ์พีดับบลิว= -ssl ประหยัดด้วย
"-xdm_service".
หมายเหตุ: ถ้า a -แสดง, -unixpw, -ผู้ใช้ or -ssl เกิดขึ้นภายหลังบนบรรทัดคำสั่ง it
จะแทนที่ -xdmsvc การตั้งค่า
ในการสร้างเซสชันผู้ใช้จะต้องลงชื่อเข้าใช้ .ก่อน -unixpw โต้ตอบ แล้วก็
เข้าสู่ระบบอีกครั้งเพื่อแจ้ง XDM/GDM/KDM การเชื่อมต่ออีกครั้งในภายหลังจะเท่านั้น
ต้องการไฟล์ -unixpw รหัสผ่าน. ดูการสนทนาภายใต้ -แสดง รอ:... เพื่อดูเพิ่มเติม
รายละเอียดเกี่ยวกับ XDM ฯลฯ การกำหนดค่า
อย่าลืมเปิดใช้งาน XDMCP ในไฟล์การกำหนดค่า xdm-config, gdm.conf หรือ kdmrc
ดู -แสดง รอ: สำหรับข้อมูลเพิ่มเติม
-sshxdmsvc
โหมดบริการเทอร์มินัลของตัวจัดการการแสดงผลตาม SSH นามแฝงสำหรับ -แสดง
รอ: cmd=FINDCREATEDISPLAY-Xvfb.xdmcp -localhost
การขอ -localhost ตัวเลือก จำกัด การเชื่อมต่อที่จะเข้ามาผ่านอุโมงค์ SSH (ซึ่ง
จะต้องเข้าสู่ระบบ) ในการสร้างเซสชันผู้ใช้จะต้องลงชื่อเข้าใช้
พรอมต์ XDM GDM KDM การเชื่อมต่อใหม่ภายหลังจะต้องเข้าสู่ระบบ SSH เท่านั้น
ดูการสนทนาภายใต้ -แสดง รอ:... สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับ XDM ฯลฯ
องค์ประกอบ
อย่าลืมเปิดใช้งาน XDMCP ในไฟล์การกำหนดค่า xdm-config, gdm.conf หรือ kdmrc
ดู -แสดง รอ: สำหรับข้อมูลเพิ่มเติม
-unixpw_system_greeter
นำเสนอตัวเลือก "กด 'Escape' สำหรับ System Greeter" ให้กับไคลเอ็นต์ VNC ที่เชื่อมต่อ
รวมกัน -unixpw และ xdmcp FINDCREATEDISPLAY โหมด (เช่น -xdmsvc)
โดยปกติใน -unixpw โหมดไคลเอนต์ VNC ต้องระบุชื่อผู้ใช้และรหัสผ่านที่ถูกต้อง
เพื่อเข้าถึง อย่างไรก็ตาม ถ้า -unixpw_system_greeter ถูกจัดให้และ
คำสั่ง FINDCREATEDISPLAY ตรงกับ 'xdmcp' จากนั้นผู้ใช้จะมีตัวเลือกให้กด
หลบหนีแล้วรับแผงการเข้าสู่ระบบ/ทักทาย XDM/GDM/KDM แทน พวกเขาจะ
ระบุชื่อผู้ใช้และรหัสผ่านโดยตรงกับผู้ทักทาย
มิฉะนั้น ในโหมด xdmcp FINDCREATEDISPLAY ผู้ใช้ต้องระบุชื่อผู้ใช้และ
รหัสผ่านสองครั้ง อันแรกไปที่ไดอะล็อกล็อกอิน unixpw เริ่มต้น และรองจาก
ตัวทักทาย XDM / GDM / KDM ที่ตามมา โปรดทราบว่าหากผู้ใช้เชื่อมต่อใหม่และจัดหา
ชื่อผู้ใช้และรหัสผ่านในกล่องโต้ตอบ unixpw xdmcp Greeter ถูกข้ามไปและเขาคือ
เชื่อมต่อโดยตรงกับเซสชัน X ที่มีอยู่ ดังนั้น -unixpw_system_greeter ตัวเลือก
หลีกเลี่ยงรหัสผ่านพิเศษในเวลาที่สร้างเซสชัน X
ตัวอย่าง: x11vnc -xdmsvc -unixpw_system_greeter ดู -unixpw และ -แสดง รอ:...
สำหรับข้อมูลเพิ่มเติม
ตัวเลือกพิเศษหลังเครื่องหมายโคลอนที่ท้ายชื่อผู้ใช้ (เช่น user:solid)
อธิบายไว้ภายใต้ -แสดง WAIT: จะใช้ในโหมดนี้ด้วยหากพิมพ์เป็น
ก่อนที่ผู้ใช้จะกด Escape ชื่อผู้ใช้ถูกละเว้น แต่ตัวเลือกโคลอนคือ
ไม่.
ข้อความเริ่มต้นคือ 2 บรรทัดในแบบอักษรขนาดเล็ก ตั้งค่า env วาร์
X11VNC_SYSTEM_GREETER1=จริงสำหรับข้อความ 1 บรรทัดในแบบอักษรขนาดใหญ่
หากผู้ใช้กด Escape คำสั่ง FINDCREATEDISPLAY จะถูกรันด้วย env
วาร์ X11VNC_XDM_ONLY=1.
อย่าลืมเปิดใช้งาน XDMCP ในไฟล์การกำหนดค่า xdm-config, gdm.conf หรือ kdmrc
ดู -แสดง รอ: สำหรับข้อมูลเพิ่มเติม
- เปลี่ยนเส้นทาง พอร์ต
เช่นเดียวกับในโหมด FINDCREATEDISPLAY-Xvnc.redirect ยกเว้นการเปลี่ยนเส้นทางทันที (เช่น
โดยไม่มีการค้นหาหรือสร้างเซสชัน X) ไปยังเซิร์ฟเวอร์ VNC ที่รับฟังบนพอร์ต คุณสามารถ
ยังจัดหา host:port เพื่อเปลี่ยนเส้นทางไปยังเครื่องอื่น
หาก 0 <= พอร์ต < 200 จะถูกนำมาเป็นจอแสดงผล VNC (5900 ถูกเพิ่มเพื่อรับค่าจริง
port) ถ้า port < 0 แล้ว -ท่าเรือ ถูกนำมาใช้.
อาจเป็นเหตุผลเดียวที่ใช้ - เปลี่ยนเส้นทาง ตัวเลือกร่วมกับ SSL
สนับสนุนเช่น -ssl บันทึก. นี่เป็นวิธีที่ง่ายในการเพิ่มการเข้ารหัส SSL ให้กับVNC
เซิร์ฟเวอร์ที่ไม่รองรับ SSL (เช่น Xvnc หรือ vnc.so) อันที่จริง โปรโตคอลไม่
ไม่จำเป็นต้องเป็น VNC ด้วยซ้ำ "-rfbพอร์ต พอร์ต1 -ssl บันทึก - เปลี่ยนเส้นทาง โฮสต์:port2" สามารถ
ทำหน้าที่แทน stunnel(1)
โหมดนี้อนุญาตการเชื่อมต่อที่เปลี่ยนเส้นทางเพียงครั้งเดียวเท่านั้น ดิ - ก่อนหน้านี้ ตัวเลือกไม่ได้
นำมาใช้. ใช้ -ไอเน็ต or - ลูป เพื่อการบริการที่สม่ำเสมอ
-แสดง รอ:...
โหมดการใช้งานพิเศษสำหรับคนปกติ -แสดง ตัวเลือก. มีประโยชน์กับ -unixpw, แต่ทำได้
ใช้อย่างเป็นอิสระจากมัน หากสตริงที่แสดงขึ้นต้นด้วย WAIT: แล้ว x11vnc
รอจนกระทั่งไคลเอ็นต์ VNC เชื่อมต่อก่อนที่จะเปิดจอแสดงผล X (หรือ -rawfb อุปกรณ์)
ซึ่งอาจเป็นประโยชน์สำหรับการชะลอการเปิดการแสดงผลสำหรับโหมดการใช้งานบางโหมด (พูด
ถ้า x11vnc เริ่มทำงานตอนบูตและไม่มีเซิร์ฟเวอร์ X ทำงานอยู่หรือผู้ใช้เข้าสู่ระบบ
ยัง)
หากสตริงเป็น เช่น WAIT:0.0 หรือ WAIT:1 เช่น "WAIT" หน้า X ปกติ
display จากนั้นจึงใช้จอแสดงผลที่ระบุ
คุณยังสามารถแทรกเรขาคณิตระหว่างโคลอน เช่น WAIT:1280x1024:... เพื่อตั้งค่า
ขนาดของการแสดงผลที่ไคลเอ็นต์ VNC เชื่อมต่อก่อน เนื่องจากผู้ดู VNC บางรายจะ
ไม่ปรับโดยอัตโนมัติเป็นขนาดเฟรมบัฟเฟอร์ใหม่
กรณีที่น่าสนใจกว่านี้คือ:
รอ:cmd=/usr/local/bin/find_display
ในกรณีนี้คำสั่งหลังจาก "cmd=" ถูกรันเพื่อใช้งาน DISPLAY . แบบไดนามิก
และเลือกข้อมูล XAUTHORITY บรรทัดแรกของเอาต์พุตคำสั่งต้องเป็น
ของรูปแบบ DISPLAY= . บน Linux หากรู้จักเทอร์มินัลเสมือนผนวก
",VT=n" ให้กับสตริงนี้และ ชวต(1) โปรแกรมจะทำงานด้วย เหลืออีกไหมค่ะ
เอาต์พุตถูกนำมาเป็นข้อมูล XAUTHORITY สามารถเป็นได้ทั้งรูปแบบ XAUTHORITY=
หรือข้อมูล xauthority ดิบสำหรับการแสดงผล ตัวอย่างเช่น;
สารสกัด xauth - $ DISPLAY"
หมายเหตุ: ตามที่ระบุไว้ในย่อหน้าก่อนหน้า คุณสามารถระบุ WAIT:cmd=...
โปรแกรมหรือสคริปต์ แต่มี *BUILT-IN* ที่มีประโยชน์มากสองรายการ: FINDDISPLAY
(นามสมมุติ -หา ด้านบน) และ FINDCREATEDISPLAY (นามแฝง -สร้าง ด้านบน) คนส่วนใหญ่ใช้
เหล่านี้แทนที่จะสร้างสคริปต์ของตัวเอง อ่านข้อความต่อไปนี้ (โดยเฉพาะ
ส่วนโหมดในตัว) เพื่อดูวิธีกำหนดค่าบิวด์อินที่มีประโยชน์ทั้งสองนี้ -แสดง
รอ: โหมด
ในกรณีที่ -unixpw (และ -unixpw_nis เฉพาะในกรณีที่ x11vnc ทำงานเป็นรูท) ดังนั้น
คำสั่ง cmd= ทำงานในฐานะผู้ใช้ที่เพิ่งตรวจสอบสิทธิ์ผ่านการเข้าสู่ระบบและ
พรอมต์รหัสผ่าน
ในกรณีที่ -unixpw_cmd, คำสั่งต่างๆ จะถูกรันในฐานะผู้ใช้ที่ล็อกอิน เช่น
ตราบใดที่โปรแกรมตัวช่วยที่ผู้ใช้จัดหารองรับ RFB_UNIXPW_CMD_RUN (ดูที่
-unixpw_cmd ตัวเลือก.)
นอกจากนี้ในกรณีของ -unixpw, ผู้ใช้ที่เข้าสู่ระบบสามารถวางเครื่องหมายทวิภาคที่ส่วนท้ายของ
ชื่อผู้ใช้ของเธอและระบุตัวเลือกสองสามอย่าง: scale=, scale_cursor= (หรือ sc=), ทึบ (or
ดังนั้น), id=, clear_mods (หรือ cm), clear_keys (หรือ ck), clear_all (หรือ ca), ทำซ้ำ,
ความเร็ว= (หรือ sp=), readtimeout= (หรือ rd=), ดูอย่างเดียว (หรือ vo), nodisplay= (หรือ nd=),
หมุน= (หรือ ro=) หรือ noncache (หรือ nc) ทั้งหมดคั่นด้วยเครื่องหมายจุลภาคถ้ามี more
มากกว่าหนึ่ง หลังจากที่ผู้ใช้เข้าสู่ระบบสำเร็จแล้ว ตัวเลือกเหล่านี้จะถูกนำไปใช้กับ
หน้าจอ VNC ตัวอย่างเช่น,
เข้าสู่ระบบ: fred:scale=3/4,sc=1 รหัสผ่านซ้ำ: ...
เข้าสู่ระบบ: runge:sp=modem,rd=120,solid
เพื่อความสะดวก m/n หมายถึง scale= เช่น fred:3/4 หากคุณพิมพ์และป้อนของคุณ
รหัสผ่านไม่ถูกต้อง เพื่อดึงข้อมูล "เข้าสู่ระบบ:" ยาว ๆ ของคุณให้กดลูกศรขึ้นหนึ่งครั้ง
(ก่อนที่จะพิมพ์อย่างอื่น)
ตัวเลือกโคลอนเหล่านี้ส่วนใหญ่ใช้กับ FINDDISPLAY และ . ในตัวเท่านั้น
โหมด FINDCREATEDISPLAY แต่โปรดทราบว่าจะถูกส่งต่อไปยังคำสั่งภายนอกใน
สิ่งแวดล้อมได้เป็นอย่างดีและสามารถนำมาใช้ได้
ในแผงการเข้าสู่ระบบ ให้กด F1 เพื่อดูรายการตัวเลือกที่มีให้
เพิ่มหลังชื่อผู้ใช้
อีกตัวเลือกหนึ่งคือ "geom=WxH" หรือ "geom=WxHxD" (หรือ ge=) นี้มีผลเฉพาะใน
โหมด FINDCREATEDISPLAY เมื่อมีการสร้างเซิร์ฟเวอร์ X เสมือน เช่น Xvfb
โดยจะกำหนดความกว้างและความสูงของจอแสดงผลใหม่ และเลือกความลึกของสีเป็น
ดี.
คุณยังสามารถใส่ "gnome", "kde", "twm", "fvwm", "mwm", "dtwm", "wmaker", "xfce",
"lxde", "enlightenment", "Xsession" หรือ "failsafe" (เหมือนกับ "xterm") เพื่อให้
การแสดงผลที่สร้างขึ้นใช้โหมดนั้นสำหรับเซสชันผู้ใช้
ระบุ "tag="" เพื่อตั้งค่าแท็กเซสชันเดสก์ท็อป FD_TAG ที่ไม่ซ้ำกันตามที่อธิบายไว้ด้านล่าง
หมายเหตุ: ตัวเลือกนี้จะถูกละเว้นหาก FD_TAG env วาร์ ถูกตั้งค่าไว้แล้วหรือถ้า
ค่าที่ให้มาด้านผู้ชมไม่ได้ประกอบด้วยตัวอักษรและตัวเลขหรือ '_' หรือ '-' ทั้งหมด
อักขระ
ไฟล์การตั้งค่าผู้ใช้: แทนที่จะให้ผู้ใช้พิมพ์ geom=WxH,... ฯลฯ every
เวลาที่เขาเข้าสู่ระบบเพื่อค้นหาหรือสร้างเซสชัน X ของเขา หากคุณตั้งค่า FD_USERPREFS เป็น a
สตริงที่ไม่มีอักขระ "/" ดังนั้นโฮมไดเร็กทอรีของผู้ใช้คือ
นำหน้าสตริงนั้นและหากไฟล์นั้นมีอยู่บรรทัดแรกจะถูกอ่านและต่อท้าย
สำหรับตัวเลือกใด ๆ ที่เขาให้ไว้ในการเข้าสู่ระบบ: พรอมต์ ตัวอย่างเช่น -env
FD_USERPREFS=.x11vnc_create และผู้ใช้ใส่ "geom=1600x1200" ในของเขา
~/.x11vnc_create ไฟล์
หากต้องการปิดใช้งานการตั้งค่าตัวเลือกให้ตั้งค่าตัวแปรสภาพแวดล้อม X11VNC_NO_UNIXPW_OPTS=1
ก่อนที่จะเริ่ม x11vnc ในการตั้งค่าตัวเลือกอื่น ๆ ผู้ใช้สามารถใช้ gui (x11vnc
-กุย เชื่อมต่อ) หรือวิธีการควบคุมระยะไกล (x11vnc -R opt:val) ระหว่าง VNC . ของเขา
เซสชั่น
เราจึงเห็นการผสมผสานของ -แสดง WAIT:cmd=... และ -unixpw ช่วยให้อัตโนมัติ
การจับคู่ผู้ใช้ VNC ที่รับรองความถูกต้องของ unix กับเดสก์ท็อปของเขา นี้อาจจะมาก
มีประโยชน์บน SunRays และระบบใด ๆ ที่ผู้ใช้หลายคนแชร์เครื่องที่กำหนด
ผู้ใช้ไม่จำเป็นต้องจำพอร์ตพิเศษหรือรหัสผ่านที่ตั้งค่าไว้สำหรับ
เดสก์ท็อปและ VNC
วิธีที่ดีในการใช้ WAIT:cmd=... is out of inetd(8) (มันแยกใหม่โดยอัตโนมัติ
x11vnc สำหรับผู้ใช้แต่ละคน) คุณสามารถให้กระบวนการเกิด x11vnc inetd ทำงานเป็นพูด
รากหรือไม่มีใคร เมื่อรันเป็นรูท (สำหรับ inetd หรือตัวจัดการการแสดงผล) คุณสามารถ
ยังจัดหาตัวเลือก "-ผู้ใช้ ยูนิกซ์พีดับบลิว=" เพื่อให้กระบวนการ x11vnc เปลี่ยนเป็น
ผู้ใช้ด้วยเช่นกัน หมายเหตุ: จะมีกระบวนการตัวช่วย SSL ที่ 2 ที่จะไม่เปลี่ยน
แต่เป็นเพียงการเข้ารหัสและถอดรหัสสตรีมที่เข้ารหัส ณ จุดนั้น
โหมดในตัว:
-- ค้นหาผู้ใช้ X เซสชันโดยอัตโนมัติ --
เป็นกรณีพิเศษ WAIT:cmd=FINDDISPLAY จะเรียกใช้สคริปต์ที่ทำงานบน Unixes . ส่วนใหญ่
เพื่อกำหนดตัวแปร DISPLAY ของผู้ใช้และข้อมูล xauthority (ดู ใคร(1) ).
หมายเหตุ: ตัวเลือก "-หา" เป็นนามแฝงสำหรับโหมดนี้
หากต้องการให้สคริปต์เริ่มต้นนี้พิมพ์ไปที่ stdout (เช่นสำหรับการปรับแต่ง) ให้รันด้วย
WAIT:cmd=FINDDISPLAY-print หากต้องการให้สคริปต์ทำงานเพื่อพิมพ์สิ่งที่จะแสดง
หาประโยชน์ "-finddpy" หรือ WAIT:cmd=FINDDISPLAY-run
สคริปต์มาตรฐานทำงาน xdpyinfo(1) ทำงานบนจอแสดงผลที่มีศักยภาพ ถ้า X . ของคุณ
เซิร์ฟเวอร์มีตัวต้อนรับการเข้าสู่ระบบที่คว้า Xserver มาโดยเฉพาะ จากนั้น xdpyinfo
บล็อกตลอดไปและโหมดนี้จะไม่ทำงาน ดู
www.karlrunge.com/x11vnc/faq.html#faq-display-manager สำหรับวิธีปิดการใช้งานสำหรับ
dtgreet บน Solaris และอาจถึงผู้ทักทายคนอื่นๆ
In -find/cmd=FINDDISPLAY โหมด หากคุณตั้งค่า FD_XDM=1 เช่น 'x11vnc -env FD_XDM=1
-หา ...' และ x11vnc ทำงานเป็นรูท (เช่น inetd) จากนั้นจะพยายามค้นหา
ไฟล์ XAUTHORITY ของโปรแกรมต้อนรับการเข้าสู่ระบบ XDM/GDM/KDM ที่กำลังทำงานอยู่ (เช่น ไม่มีผู้ใช้เข้าสู่ระบบ
ในเซสชัน X เลย)
ในกรณีพิเศษอื่น WAIT:cmd=HTTPONCE จะอนุญาตให้ x11vnc ให้บริการ http
ขอแล้วออก โดยปกติจะทำใน -ไอเน็ต โหมดการทำงาน พูด port
5800 และอนุญาตให้ดาวน์โหลด Java vncviewer โดยเว็บเบราว์เซอร์ไคลเอนต์ สำหรับ
ตัวอย่าง:
5815 สตรีม tcp nowait รูท /usr/sbin/tcpd /.../x11vnc \ -ไอเน็ต -q -http_ssl -prog
/.../x11vnc \ -แสดง รอ:cmd=HTTPONCE
โดยที่ /.../x11vnc คือพาธแบบเต็มไปยัง x11vnc มันถูกใช้ในพอร์ทัล Apache SSL
ตัวอย่าง (ดูคำถามที่พบบ่อย)
ในโหมดนี้ คุณสามารถตั้งค่า X11VNC_SKIP_DISPLAY เป็นรายการแสดงที่คั่นด้วยเครื่องหมายจุลภาค
(เช่น ":0,:1") เพื่อละเว้นในกระบวนการค้นหา ":" เป็นทางเลือก ช่วง nm
เช่น 0-20 สามารถจัดหาได้ สตริงนี้ยังสามารถตั้งค่าโดยผู้ใช้ที่เชื่อมต่อ
ผ่าน "nd=" โดยใช้ "+" แทน "," ถ้า "nd=all" หรือคุณตั้งค่า X11VNC_SKIP_DISPLAY=all
การค้นหาการแสดงผลทั้งหมดจะล้มเหลวราวกับว่าคุณตั้งค่า X11VNC_FINDDISPLAY_ALWAYS_FAILS=1
(ด้านล่าง.)
ในบางระบบ ลซ(1) อาจช้ามาก ตั้งค่า env วาร์ FIND_DISPLAY_NO_LSOF=1
เพื่อข้ามโดยใช้ lsof เพื่อค้นหา Linux VT ที่เซิร์ฟเวอร์ X กำลังทำงานอยู่ ชุด
FIND_DISPLAY_NO_VT_FIND=1 เพื่อหลีกเลี่ยงการดูทั้งหมด
-- การสร้างผู้ใช้ X เซสชันโดยอัตโนมัติ --
ตัวเลือกที่น่าสนใจคือ WAIT:cmd=FINDCREATEDISPLAY ที่เหมือนกับ FINDDISPLAY ใน
ที่ใช้วิธีการเดียวกันในการค้นหาจอแสดงผลที่มีอยู่ แต่ถ้าไม่
หามันจะพยายาม *เริ่ม* ขึ้นเซสชันเซิร์ฟเวอร์ X สำหรับผู้ใช้ นี้เป็น
ครั้งเดียวที่ x11vnc พยายามเริ่มต้นเซิร์ฟเวอร์ X จริง ๆ
หมายเหตุ: ตัวเลือก "-สร้าง" เป็นนามแฝงสำหรับโหมดนี้
โดยจะเริ่มค้นหาหมายเลขแสดงที่เปิดอยู่ที่ :20 Override via
X11VNC_CREATE_STARTING_DISPLAY_NUMBER=n โดยค่าเริ่มต้น 80 X แสดงได้ (เช่น
ไปที่ :99) แทนที่ผ่าน X11VNC_CREATE_MAX_DISPLAYS=n
สำหรับการวิเคราะห์พฤติกรรมของมัน สคริปต์การแสดงผล create จะตั้งค่า LC_ALL=C ดังนั้นคำสั่ง output
เป็นเครื่องแบบ โดยค่าเริ่มต้น จะพยายามกู้คืน LC_ALL ก่อนเริ่ม
เซสชันผู้ใช้ อย่างไรก็ตาม หากคุณไม่รังเกียจที่จะให้ LC_ALL=C ตั้งค่า env รุ่น:
X11VNC_CREATE_LC_ALL_C_OK=1
โดยค่าเริ่มต้น FINDCREATEDISPLAY จะลอง Xvfb แล้ว Xdummy:
Xdummy wrapper เป็นส่วนหนึ่งของซอร์สโค้ด x11vnc (x11vnc/misc/Xdummy)
ควรมีอยู่ใน PATH และเรียกใช้ "Xdummy -ติดตั้ง" ครั้งหนึ่งเพื่อสร้าง
ห้องสมุดที่ใช้ร่วมกัน Xdummy ใช้งานได้บน Linux เท่านั้น ณ วันที่ 12/2009 ไม่จำเป็นอีกต่อไป
รันในฐานะรูท และค่าดีฟอลต์คือไม่รันในฐานะรูท ในบางสถานการณ์
สิทธิ์อาจต้องเรียกใช้เป็นรูท ในกรณีเหล่านี้ระบุ
FD_XDUMMY_RUN_AS_ROOT=1 เหมือนกับการจัดหา -ราก ไปยัง cmdline Xdummy
Xvfb พร้อมใช้งานบนแพลตฟอร์มส่วนใหญ่และไม่จำเป็นต้องรูท
ข้อดีของ Xdummy เหนือ Xvfb คือ Xdummy รองรับหน้าจอไดนามิก RANDR
การปรับขนาด
เมื่อ x11vnc ออก (เช่น ผู้ใช้ยกเลิกการเชื่อมต่อ) เซสชันเซิร์ฟเวอร์ X จะยังคงทำงานใน
พื้นหลัง. FINDDISPLAY จะค้นหาได้โดยตรงในครั้งต่อไป ผู้ใช้ต้องออก
เซสชัน X ในลักษณะปกติเพื่อยุติ (หรือฆ่ากระบวนการเซิร์ฟเวอร์ X if
อย่างอื่นล้มเหลว)
ในการแก้ไขปัญหากลไก FINDCREATEDISPLAY ให้ตั้งค่า env ต่อไปนี้ วาร์ เพื่อ an
ไฟล์บันทึกเอาต์พุต เช่น -env CREATE_DISPLAY_OUTPUT=/tmp/mydebug.txt
ดังนั้นนี่เป็นโหมดที่ค่อนข้างแปลกสำหรับ x11vnc โดยที่มันจะเริ่มทำงานและทำโพลเสมือนจริง
เซิร์ฟเวอร์ X! สามารถใช้จาก พูดว่า inetd(8) จัดให้มีช่องทางอย่างแน่นอน
รับเดสก์ท็อป (จริงหรือเสมือน) บนเครื่อง เช่น บริการเดสก์ท็อป:
5900 สตรีม tcp nowait รูท /usr/sbin/tcpd /.../x11vnc -ไอเน็ต -q -http -ssl บันทึก
-unixpw -ผู้ใช้ ยูนิกซ์พีดับบลิว=\ -รหัสผ่าน ลับ -prog /.../x11vnc \ -แสดง
รอ: cmd=FINDCREATEDISPLAY
โดยที่ /.../x11vnc คือพาธแบบเต็มไปยัง x11vnc
ดู -svc/-บริการ นามแฝงตัวเลือกด้านบน
หากมีเหตุผลบางอย่างที่คุณไม่ต้องการให้ x11vnc พยายามค้นหาจอแสดงผลที่มีอยู่
ตั้งค่า env var X11VNC_FINDDISPLAY_ALWAYS_FAILS=1 (เช่นกัน -env ...) นี้เป็น
เช่นเดียวกับการตั้งค่า X11VNC_SKIP_DISPLAY=all หรือใส่ "nd=all" หลัง "username:"
ใช้ WAIT:cmd=FINDCREATEDISPLAY-print เพื่อพิมพ์สคริปต์ที่ใช้สำหรับสิ่งนี้
คุณสามารถระบุลำดับเซิร์ฟเวอร์ X ที่ต้องการได้ เช่น WAIT:cmd=FINDCREATEDISPLAY-
Xdummy,Xvfb,X และ/หรือทิ้งสิ่งที่คุณไม่ต้องการ กรณี "X" หมายถึงพยายาม
เพื่อเริ่มต้นเซิร์ฟเวอร์ฮาร์ดแวร์ X จริงโดยใช้ ซินิต(1) หรือ startx(1). ถ้ามี
เซิร์ฟเวอร์ X ที่ใช้งาน X case อยู่แล้วอาจใช้งานได้บน Linux เท่านั้น (ดู startx(1) ).
"Xvnc" จะเริ่มต้นเซิร์ฟเวอร์ VNC X (จริงหรือแน่น-vnc เช่น ใช้ถ้า Xvfb ไม่ใช่
มีอยู่). "Xsrv" จะเริ่มต้นโปรแกรมเซิร์ฟเวอร์ในตัวแปร "FD_XSRV" if
มันไม่ว่างเปล่า คุณสามารถทำให้เป็นสคริปต์ตัวตัดทอนได้หากต้องการ (ต้องจัดการ
:ไม่มี -เรขาคณิต, และ -ความลึก และตัวเลือกเซิร์ฟเวอร์ X อื่นๆ)
คุณสามารถตั้งค่าตัวแปรสภาพแวดล้อม FD_GEOM (หรือ X11VNC_CREATE_GEOM) เป็น WxH หรือ
WxHxD เพื่อกำหนดความกว้างและความสูงและความลึกของสีของที่สร้างขึ้น
แสดง. คุณยังสามารถตั้งค่า FD_SESS ให้เป็นเซสชัน (ชื่อย่อของ
ตัวจัดการหน้าต่าง: kde, gnome, twm, failsafe, ฯลฯ ) FD_OPTS มีตัวเลือกพิเศษเพื่อ
ส่งผ่านไปยังเซิร์ฟเวอร์ X คุณยังสามารถตั้งค่า FD_PROG ให้เป็นเส้นทางแบบเต็มไปยัง
โปรแกรม session/windowmanager
เทคนิค FD เพิ่มเติม: FD_CUPS=port or FD_CUPS=host:port จะตั้งค่าการพิมพ์ถ้วย
สิ่งแวดล้อม. ในทำนองเดียวกันสำหรับ FD_ESD=port หรือ FD_ESD=host:port สำหรับ esddsp sound
การเปลี่ยนเส้นทาง ตั้งค่า FD_EXTRA เป็นคำสั่งที่จะเรียกใช้หลังจาก X server . ไม่กี่วินาที
เริ่มต้นขึ้น ตั้งค่า FD_TAG เป็นชื่อเฉพาะสำหรับเซสชัน โดยตั้งเป็น X
คุณสมบัติ ที่ทำให้ FINDDISPLAY ค้นหาเฉพาะเซสชันที่มีค่าแท็กนั้น
ตั้งค่า FD_XDMCP_IF เป็นอินเทอร์เฟซเครือข่ายที่ตัวจัดการการแสดงผลทำงานอยู่
ค่าเริ่มต้นคือ 'localhost' แต่คุณอาจต้องตั้งค่าเป็น '::1' บน IPv6 บางตัวเท่านั้น
ระบบหรือตัวจัดการการแสดงผลที่กำหนดค่าไม่ถูกต้อง
หากคุณต้องการให้เซสชัน FINDCREATEDISPLAY ติดต่อผู้จัดการการเข้าสู่ระบบ XDMCP
(xdm/gdm/kdm) ในเครื่องเดียวกัน จากนั้นใช้ "Xvfb.xdmcp" แทน "Xvfb" เป็นต้น
ผู้ใช้จะต้องระบุชื่อผู้ใช้และรหัสผ่านอีกครั้ง (แต่ได้รับ
เพื่อเลือกประเภทเดสก์ท็อปของเขาให้เป็นประโยชน์) เพื่อให้ใช้งานได้คุณจะต้อง
เพื่อเปิดใช้งาน localhost XDMCP (พอร์ต udp 177) สำหรับตัวจัดการการแสดงผล นี้ดูเหมือนว่าจะ
เป็น:
สำหรับ gdm ใน gdm.conf: Enable=true ในส่วน [xdmcp] สำหรับ kdm ใน kdmrc:
Enable=true ในส่วน [Xdmcp] สำหรับ xdm ใน xdm-config: DisplayManager.requestPort:
177
ดูตัวเลือกชวเลขด้านบน "-svc""-xdmsvc"และ"-sshxdmsvc" ที่ระบุ
ตัวเลือกด้านบนสำหรับกรณีที่มีประโยชน์บางกรณี
หากคุณตั้งค่า env var WAITBG=1 x11vnc จะเข้าสู่พื้นหลังทันทีที่ฟัง
อยู่ในโหมดรอ
โหมดพิเศษอีกโหมดหนึ่งคือ FINDCREATEDISPLAY-Xvnc.redirect (หรือ FINDDISPLAY-
Xvnc.redirect). ในกรณีนี้ มันจะเริ่มต้น Xvnc ตามด้านบนถ้าจำเป็น แต่แทน
ของการสำรวจด้วยวิธีปกติมันก็ทำการเปลี่ยนเส้นทางซ็อกเก็ตของ
เชื่อมต่อ VNC viewer กับ Xvnc
ดังนั้นใน Xvnc.redirect x11vnc จึงไม่มี VNC แต่เพียงถ่ายโอนข้อมูลกลับและ
ออกมา นี่ควรจะเร็วกว่าวิธีการโพลของ x11vnc แต่ไม่เร็วเท่า
เชื่อมต่อโดยตรงกับ Xvnc ด้วย VNC Viewer ความคิดที่นี่คือการนำ
ประโยชน์ของการค้นหา/สร้างโครงร่างการค้นหา/สร้างการแสดงผลของ x11vnc, SSL และบางทีอาจจะไม่กี่
คนอื่น. ตัวเลือกของ x11vnc ส่วนใหญ่ใช้ไม่ได้ในโหมดนี้
Xvnc.redirect ควรทำงานกับโมดูลเซิร์ฟเวอร์ vnc.so X สำหรับ h/w display
แต่จะใช้งานได้เฉพาะการค้นหาจอแสดงผลและผู้ใช้จะต้องอยู่แล้ว
ลงชื่อเข้าใช้คอนโซล X
-vencrypt โหมด
ส่วนขยาย VeNCrypt ของโปรโตคอล VNC ช่วยให้สามารถเชื่อมต่อ SSL/TLS ที่เข้ารหัสได้
ถ้า -ssl เปิดใช้งานโหมด จากนั้นเปิดใช้งาน VeNCrypt ด้วย BY DEFAULT (ทั้งคู่
ใช้ช่องสัญญาณ SSL/TLS เฉพาะการจับมือโปรโตคอลเท่านั้นที่แตกต่างกันเล็กน้อย)
ในการควบคุมเวลาและวิธีการใช้ VeNCrypt ให้ระบุสตริงของโหมด ถ้าโหมดคือ
"ไม่เคย" แสดงว่าไม่ได้ใช้ VeNCrypt หากโหมดคือ "สนับสนุน" (ค่าเริ่มต้น) แล้ว
รองรับ VenCrypt หากโหมดเป็น "เท่านั้น" แสดงว่า ANONTLS . ที่คล้ายกันและเก่ากว่า
ไม่รองรับโปรโตคอลพร้อมกัน โหมด SSL ปกติของ x11vnc (vncs://) จะ
ได้รับการสนับสนุนภายใต้ -ssl เว้นแต่คุณจะตั้งค่าโหมดเป็น "บังคับ"
หากโหมดนำหน้าด้วย "nodh:" แสดงว่าการแลกเปลี่ยนคีย์ที่ไม่ระบุตัวตนของ Diffie Hellman คือ
พิการ. หากโหมดนำหน้าด้วย "nox509:" การแลกเปลี่ยนคีย์ X509 จะถูกปิดใช้งาน
หากต้องการปิดใช้งานการเข้าถึง Diffie-Hellman ที่ไม่ระบุชื่อทั้งหมด (อ่อนไหวต่อ Man-In-The-Middle
โจมตี) คุณจะต้องจัดหา "-vencrypt nodh:สนับสนุน -anntls ไม่เคย" หรือ
"-vencrypt nodh: เท่านั้น"
หากโหมดนำหน้าด้วย "newdh:" พารามิเตอร์ Diffie Hellman ใหม่จะถูกสร้างขึ้น
สำหรับแต่ละการเชื่อมต่อ (อาจใช้เวลานาน: 1-60 วินาที ดู -dhparams ด้านล่างสำหรับ
วิธีที่เร็วกว่า) แทนที่จะใช้ค่าคงที่ในโปรแกรม ใช้คงที่
ค่าที่เปิดเผยต่อสาธารณะไม่เป็นที่รู้จักว่าเป็นปัญหาด้านความปลอดภัย การตั้งค่านี้ใช้
ANONTLS เช่นกัน
ตัวอย่างยาว: -vencrypt ใหม่dh:nox509:support
นอกจากนี้ หากโหมดนำหน้าด้วย "ธรรมดา:" แสดงว่าถ้า -unixpw โหมดเปิดใช้งานอยู่
VenCrypt "*Plain" username+passwd method ถูกเปิดใช้งานสำหรับการเข้าสู่ระบบ Unix มิฉะนั้นใน
-unixpw โหมดแผงการเข้าสู่ระบบปกติมีให้
คุณ *ต้อง* จัดหา -ssl ตัวเลือกสำหรับ VeNCrypt ที่จะเปิดใช้งาน ดิ -vencrypt ตัวเลือก
ปรับการทำงานของมันเท่านั้น
-anntls โหมด
ส่วนขยาย ANONTLS ของโปรโตคอล VNC ช่วยให้สามารถเชื่อมต่อ SSL/TLS ที่เข้ารหัสได้ ถ้า
-ssl เปิดใช้งานโหมดแล้ว ANONTLS ก็เปิดใช้งานเช่นกันตามค่าเริ่มต้น (ทั้งคู่ใช้
SSL/TLS tunnel เฉพาะโปรโตคอล handshake ที่แตกต่างกันเล็กน้อย)
ANONTLS เป็นโหมด SSL/TLS รุ่นเก่าที่ vino นำมาใช้
มันถูกเรียกว่า 'TLS' สำหรับชื่อประเภทความปลอดภัย VNC ที่ลงทะเบียน แต่เราใช้
ยิ่งคำว่า 'ANONTLS' อธิบายได้มากกว่านี้ เพราะมันให้แต่ Anonymous Diffie-
การเชื่อมต่อที่เข้ารหัสของ Hellman จึงไม่มีความเป็นไปได้สำหรับใบรับรอง
การรับรอง
ในการควบคุมเวลาและวิธีการใช้ ANONTLS ให้ระบุสตริงของโหมด ถ้าโหมดคือ
"ไม่เคย" จึงไม่มีการใช้ ANONTLS หากโหมดคือ "สนับสนุน" (ค่าเริ่มต้น) แสดงว่า ANONTLS
ได้รับการสนับสนุน หากโหมดเป็น "เท่านั้น" แสดงว่าโปรโตคอล VenCrypt ที่คล้ายกันไม่ใช่
รองรับพร้อมกัน รองรับโหมด SSL ปกติของ x11vnc (vncs://)
ภายใต้ -ssl เว้นแต่คุณจะตั้งค่าโหมดเป็น "บังคับ"
หากโหมดนำหน้าด้วย "newdh:" พารามิเตอร์ Diffie Hellman ใหม่จะถูกสร้างขึ้น
สำหรับแต่ละการเชื่อมต่อ (อาจใช้เวลานาน: 1-60 วินาที ดู -dhparams ด้านล่างสำหรับ
วิธีที่เร็วกว่า) แทนที่จะใช้ค่าคงที่ในโปรแกรม ใช้คงที่
ค่าที่เปิดเผยต่อสาธารณะไม่เป็นที่รู้จักว่าเป็นปัญหาด้านความปลอดภัย การตั้งค่านี้ใช้
เพื่อ VeNCrypt เช่นกัน See the description of "ธรรมดา:" under -vencrypt
ตัวอย่างยาว: -anntls newdh:ธรรมดา:สนับสนุน
คุณ *ต้อง* จัดหา -ssl ตัวเลือกสำหรับ ANONTLS ที่จะเปิดใช้งาน ดิ -anntls ตัวเลือก
ปรับการทำงานของมันเท่านั้น
-sly
เหมือนกับ: "-vencrypt ไม่เคย -anntls ไม่เคย" นั่นคือปิดการใช้งาน VeNCrypt และ
วิธีการเข้ารหัส ANONTLS และอนุญาตเฉพาะช่องสัญญาณ SSL มาตรฐานเท่านั้น ยังต้อง
จัดหา -ssl ... ตัวเลือก (ดูด้านล่าง)
-dhparams ไฟล์
สำหรับการดำเนินการบางอย่าง ชุดของพารามิเตอร์ Diffie Hellman (ไพรม์และตัวสร้าง) คือ
จำเป็น ถ้าใช่ ให้ใช้พารามิเตอร์ใน ไฟล์. โดยเฉพาะอย่างยิ่ง VenCrypt และ ANONTLS
โหมด DH ที่ไม่ระบุชื่อต้องการ โดยค่าเริ่มต้น ชุดคงที่จะถูกใช้ ถ้าไม่อยาก
ทำเช่นนั้นคุณสามารถระบุ "newdh:" เป็น -vencrypt และ -anntls ตัวเลือกในการสร้าง
ชุดใหม่ในแต่ละเซสชั่น ถ้ามันช้าเกินไปสำหรับคุณ ให้ใช้ -dhparams ไฟล์เป็น set
คุณสร้างด้วยตนเองผ่าน "openssl dhparam -ออก ไฟล์ 1024"
-nossl
ปิดการใช้งาน -ssl ตัวเลือก (ดูด้านล่าง) ตั้งแต่ -ssl ถูกปิดโดยค่าเริ่มต้น -nossl จะเท่านั้น
ใช้บน commandline เพื่อยกเลิกการตั้งค่าใด ๆ *ก่อนหน้า* -ssl ตัวเลือก (หรือ -svc...)
-ssl [เปม]
ใช้ไลบรารี openssl (www.openssl.org) เพื่อจัดเตรียม SSL/TLS ที่เข้ารหัสไว้ภายใน
ช่องสัญญาณระหว่างโปรแกรมดู VNC และ x11vnc สิ่งนี้ต้องการการสนับสนุน libssl เพื่อคอมไพล์
เป็น x11vnc ณ เวลาสร้าง หาก x11vnc ไม่ได้สร้างด้วยการสนับสนุน libssl มันจะออก
ทันทีเมื่อ -ssl ถูกกำหนด ดู -ตะลึง ตัวเลือกด้านล่างสำหรับ an
ทางเลือก
ฝั่ง VNC Viewer ต้องรองรับ SSL/TLS ด้วยเช่นกัน ดู URL นี้และ
อภิปรายด้านล่างสำหรับแนวคิดเกี่ยวกับวิธีการเปิดใช้งานการสนับสนุน SSL สำหรับผู้ดู:
http://www.karlrunge.com/x11vnc/faq.html#faq-ssl-tun nel-viewers x11vnc ให้
แอพเพล็ตตัวแสดง Java ที่เปิดใช้งาน SSL ในไดเร็กทอรี class/ssl (-http หรือ -httpdir
ตัวเลือก) แพ็คเกจตัวแสดง SSVNC รองรับช่องสัญญาณ SSL เช่นกัน
หาก VNC Viewer รองรับ VeNCrypt หรือ ANONTLS (โหมดการเข้ารหัสของ vino) แสดงว่าเป็นเช่นนั้น
ยังสนับสนุนโดย -ssl โหมด (ดูที่ -vencrypt และ -anntls ตัวเลือกเพิ่มเติม
ข้อมูล; ใช้ -sly เพื่อปิดการใช้งานทั้งคู่)
ใช้ "-ssl /path/to/mycert.pem" เพื่อระบุไฟล์ใบรับรอง SSL ในรูปแบบ PEM เป็น
ใช้เพื่อระบุและระบุคีย์สำหรับเซิร์ฟเวอร์นี้ ดู OpenSSL(1) สำหรับข้อมูลเพิ่มเติม
เกี่ยวกับ PEM และ -sslGenCert และ "-ssl บันทึก" ตัวเลือกด้านล่างสำหรับวิธีการสร้าง
พวกเขา
ช่องสัญญาณ SSL ของตัวแสดง VNC ที่เชื่อมต่อสามารถ (ตามตัวเลือก) รับรองความถูกต้องของเซิร์ฟเวอร์นี้
หากมีส่วนคีย์สาธารณะของใบรับรอง (หรือใบรับรองทั่วไป
ผู้มีอำนาจ CA เป็นวิธีที่ซับซ้อนกว่าในการตรวจสอบใบรับรองของเซิร์ฟเวอร์นี้ ดู
-sslGenCA ด้านล่าง). การตรวจสอบสิทธิ์นี้ทำขึ้นเพื่อป้องกัน Man-In-The-Middle
การโจมตี มิฉะนั้น หากตัวแสดง VNC ยอมรับคีย์ของเซิร์ฟเวอร์นี้โดยไม่ใช้
การตรวจสอบการรับส่งข้อมูลได้รับการปกป้องจากการดมกลิ่นบนเครือข่าย แต่
*ไม่ใช่* จากการโจมตีแบบ Man-In-The-Middle มีเครื่องมือแฮ็กเกอร์เช่น dsniff/webmitm
และคาอินที่ใช้การโจมตี SSL Man-In-The-Middle
หาก [pem] ว่างเปล่าหรือสตริง "SAVE" แสดงว่า OpenSSL(1) คำสั่งต้องเป็น
สามารถสร้างใบรับรองได้ในครั้งแรก ใบรับรองที่ลงนามเองคือ
สร้างขึ้น (ดู -sslGenCA และ -sslGenCert สำหรับการใช้งานของผู้ออกใบรับรอง) It
จะถูกบันทึกไว้ในไฟล์ ~/.vnc/certs/server.pem ในการโทรครั้งต่อไปหากว่า
ไฟล์ที่มีอยู่แล้วจะถูกใช้โดยตรง
ใช้ "SAVE_NOPROMPT" เพื่อเลี่ยงไม่ให้ระบบเตือนให้ป้องกันคีย์ที่สร้างขึ้นด้วย a
ข้อความรหัสผ่าน อย่างไรก็ตามใน -ไอเน็ต และ -บีจี โหมดจะไม่มีการเตือนสำหรับa
ข้อความรหัสผ่านในกรณีใดกรณีหนึ่ง
หาก [pem] เป็น "SAVE_PROMPT" ใบรับรอง server.pem จะถูกสร้างขึ้นตาม . ของคุณ
คำตอบสำหรับข้อมูลทั้งหมดเช่น OrganizationalName, CommonName เป็นต้น
ใช้ "บันทึก- " และ "SAVE_PROMPT- " เพื่ออ้างถึงไฟล์
~/.vnc/certs/server-.pem แทน (จะถูกสร้างขึ้นหากไม่
มีอยู่แล้ว) เช่น "SAVE-charlie" จะเก็บเข้าไฟล์ ~/.vnc/certs/server-
charlie.pem
ตัวอย่าง: x11vnc -ssl บันทึก -แสดง :0 ...x11vnc -ssl SAVE-คนอื่น -แสดง :0
...
ถ้า [pem] เป็น "TMP" และ OpenSSL(1) คำสั่งยูทิลิตี้มีอยู่ใน PATH จากนั้น a
ใบรับรองชั่วคราวที่ลงนามเองจะถูกสร้างขึ้นสำหรับเซสชันนี้ ถ้า
OpenSSL(1) ไม่สามารถใช้เพื่อสร้างใบรับรองชั่วคราว x11vnc exits
โดยทันที. ใบรับรองชั่วคราวจะถูกยกเลิกเมื่อ x11vnc ออก
หากใช้สำเร็จ OpenSSL(1) เพื่อสร้างใบรับรองชั่วคราวใน "SAVE" หรือ
โหมดการสร้าง "TMP" ส่วนสาธารณะของมันจะแสดงไปที่ stderr (เช่น one
สามารถคัดลอกไปยังฝั่งไคลเอ็นต์เพื่อให้การรับรองความถูกต้องของเซิร์ฟเวอร์ไปยังVNC
ผู้ชม)
หมายเหตุ: ในโหมด "TMP" เว้นแต่คุณจะคัดลอกส่วนสาธารณะของ Cert . ชั่วคราวอย่างปลอดภัย
ให้ผู้ดูตรวจสอบสิทธิ์ *ทุกครั้ง* (ไม่น่าเป็นไปได้...) จากนั้นให้แสดงเฉพาะแบบพาสซีฟเท่านั้น
การโจมตีแบบดมกลิ่นนั้นป้องกันได้ และคุณยังคงเปิดรับการโจมตีแบบคนกลาง
นี่คือเหตุผลที่เลือกใช้โหมด "บันทึก" เริ่มต้น (และโหมด CA ที่ซับซ้อนยิ่งขึ้น
ด้วย). ด้วยคีย์ที่บันทึกไว้เท่านั้นและตัวแสดง VNC ที่ตรวจสอบสิทธิ์เหล่านั้น (ผ่านสาธารณะ
ใบรับรอง) มีการป้องกันการโจมตีแบบ Man-In-The-Middle
หาก [pem] เป็น "ANON" จะใช้วิธีแลกเปลี่ยนคีย์ที่ไม่ระบุตัวตนของ Diffie-Hellman
ในโหมดนี้จะมี *ไม่มี* ใบรับรอง SSL ดังนั้นจึงไม่สามารถ
ตรวจสอบเซิร์ฟเวอร์ VNC หรือไคลเอนต์ VNC ดังนั้นเฉพาะเครือข่ายแบบพาสซีฟ
หลีกเลี่ยงการดมกลิ่นการโจมตี: วิธี "ANON" มีความอ่อนไหวต่อ Man-In-The-Middle
การโจมตี ไม่แนะนำให้ใช้ "อานนท์" ใช้ SSL PEM ที่คุณสร้างขึ้นหรือ .แทน
วิธีการ "บันทึก" เริ่มต้น
ดู -ssldir ด้านล่างเพื่อใช้ไดเร็กทอรีนอกเหนือจากค่าดีฟอลต์ ~/.vnc/ใบรับรอง
หากไบนารี x11vnc ของคุณไม่ได้รับการคอมไพล์ด้วยการสนับสนุนไลบรารี OpenSSL ให้ใช้
-ssl ตัวเลือกจะทำให้เกิดความล้มเหลวและออกทันที สำหรับไบนารีดังกล่าว ให้พิจารณา
โดยใช้โปรแกรม -ตะลึง ตัวเลือกสำหรับการเชื่อมต่อที่เข้ารหัส SSL
ข้อมูลเบ็ดเตล็ด: ในโหมดการสร้างใบรับรองชั่วคราว "TMP" ให้ตั้งค่า env วาร์
X11VNC_SHOW_TMP_PEM=1 ให้ x11vnc พิมพ์ใบรับรองทั้งหมด รวมถึง
ส่วน PRIVATE KEY เพื่อ stderr มีวิธีที่ดีกว่าในการรับ/บันทึกข้อมูลนี้ ดู
"บันทึก" ด้านบนและ "-sslGenCert"ด้านล่าง
-ssltimeout n
ตั้งค่าการหมดเวลาอ่าน SSL เป็น n วินาที ในบางสถานการณ์ (เช่น ตัวแสดงที่เป็นสัญลักษณ์ใน
Windows) ผู้ดูหยุดพูดและการเชื่อมต่อหลุดหลังจากค่าเริ่มต้น
หมดเวลา (25 วินาทีประมาณนาทีแรก 43200 วินาทีต่อมา) ตั้งค่าเป็นศูนย์เพื่อสำรวจความคิดเห็น
ตลอดไป. ตั้งค่าเป็นค่าลบเพื่อใช้การตั้งค่าในตัว
โปรดทราบว่าค่านี้ใช้ไม่ได้กับการเชื่อมต่อ *initial* ssl init ดิ
หมดเวลาเริ่มต้นสำหรับนั่นคือ 20 วินาที ใช้ -env SSL_INIT_TIMEOUT=n เพื่อแก้ไข
-sslnofail
ออกเมื่อการเชื่อมต่อ SSL ล้มเหลวครั้งแรก มีประโยชน์เมื่อเขียนสคริปต์การเชื่อมต่อ SSL
(เช่น x11vnc เริ่มต้นผ่าน ssh) และคุณไม่ต้องการให้ x11vnc รออะไรอีก
การเชื่อมต่อ การผูกพอร์ต ฯลฯ
-ssldir dir
ใช้ dir เป็นใบรับรอง SSL สำรองและไดเร็กทอรีระดับบนสุดของการจัดการคีย์ ดิ
ค่าเริ่มต้นคือ ~/.vnc/ใบรับรอง
ไดเร็กทอรีนี้ใช้สำหรับเก็บเซิร์ฟเวอร์และใบรับรองและคีย์อื่น ๆ และยัง
วัสดุอื่นๆ เช่น ในกรณีที่ง่ายที่สุด "-ssl บันทึก" จะเก็บ x11vnc
ใบรับรองเซิร์ฟเวอร์ใน dir/server.pem
การใช้ไดเร็กทอรีสำรองผ่าน -ssldir ช่วยให้คุณจัดการหลาย VNC
คีย์ผู้ออกใบรับรอง (CA) อีกความหมายหนึ่งคือ if ~/.vnc/ใบรับรอง อยู่ในการแชร์ NFS
คุณอาจต้องการให้ใบรับรองและคีย์ของคุณอยู่ในระบบไฟล์ในเครื่องเพื่อป้องกัน
การสอดแนมเครือข่าย (เช่น -ssldir /var/lib/x11vnc-certs)
-ssldir กระทบแทบทุกเรื่อง -ssl* ตัวเลือก เช่น -ssl บันทึก, -sslGenCert,
ฯลฯ ..
-sslverify เส้นทาง
สำหรับทั้ง -ssl or -ตะลึง โหมดการใช้งาน เส้นทาง เพื่อมอบใบรับรองให้
ตรวจสอบสิทธิ์การเชื่อมต่อ VNC *Client* ขาเข้า (โดยปกติเฉพาะเซิร์ฟเวอร์ is
รับรองความถูกต้องใน SSL) สามารถใช้เป็นวิธีการแทนที่รหัสผ่านมาตรฐาน
การรับรองความถูกต้องของลูกค้า
If เส้นทาง เป็นไดเร็กทอรีที่มีใบรับรองไคลเอ็นต์ (หรือ CA) แยกกัน
ไฟล์. หากพาธเป็นไฟล์ แสดงว่ามีใบรับรองตั้งแต่หนึ่งรายการขึ้นไป ดูโทเค็นพิเศษ
ด้านล่าง. สิ่งเหล่านี้สอดคล้องกับตัวเลือก stunnel "CApath = dir" และ "CAfile = file"
ดู stunnel(8) manpage สำหรับรายละเอียด
ตัวอย่าง: x11vnc -ssl -sslverify ~/my.crt x11vnc -ssl -sslverify ~/my_pem_dir/
โปรดทราบว่าหากเส้นทางเป็นไดเร็กทอรี จะต้องมีใบรับรองในไฟล์ชื่อ . แยกต่างหาก
ชอบ .0, โดยที่ค่าของ พบได้โดยการรันคำสั่ง "openssl
x509 -กัญชา -ไม่มี -in file.crt" เห็นได้ชัดว่ามีคนใช้ .1 ถ้ามี a
ชนกัน...
ยูทิลิตี้การจัดการคีย์ "-sslCertInfo ฮาโชน"และ"-sslCertInfo แฮชอฟฟ์"
จะสร้าง/ลบแฮชเหล่านี้ให้คุณโดยอัตโนมัติ (ผ่าน symlink) ใน HASH
ย่อยที่มันจัดการ จากนั้นคุณสามารถชี้ -sslverify ไปยังส่วนย่อยของ HASH
โทเค็นพิเศษ: ใน -ssl โหมด if เส้นทาง ไม่ใช่ไฟล์หรือไดเร็กทอรี มันถูกใช้เป็น
รายการโทเค็นที่คั่นด้วยเครื่องหมายจุลภาคที่ตีความดังนี้:
หากโทเค็นคือ "CA" แสดงว่าโหลดไฟล์ CA/cacert.pem จากไดเร็กทอรี ssl
หากโทเค็นคือ "ไคลเอนต์" ไฟล์ทั้งหมด client/*.crt ในไดเร็กทอรี ssl จะเป็น
โหลดแล้ว มิฉะนั้น ไฟล์ client/token.crt จะพยายามโหลด ในฐานะที่เป็น
kludge ใช้โทเค็นเช่น ../server-foo เพื่อโหลดใบรับรองเซิร์ฟเวอร์หากคุณพบว่า
จำเป็น
ใช้ -ssldir เพื่อใช้ไดเร็กทอรีที่แตกต่างจาก the ~/.vnc/ใบรับรอง ค่าเริ่มต้น.
โปรดทราบว่าหากโหลดใบรับรอง "CA" คุณไม่จำเป็นต้องโหลดใบรับรองใด ๆ ที่
ได้รับการลงนามโดยมัน คุณจะต้องโหลดใบรับรองที่ลงนามเองเพิ่มเติม
อย่างไรก็ตาม
ตัวอย่าง: x11vnc -ssl -sslverify แคลิฟอร์เนีย x11vnc -ssl -sslverify self:fred,ตนเอง:จิม
x11vnc -ssl -sslverify CA ลูกค้า
โดยปกติ "-sslverify CA" มีประสิทธิภาพสูงสุด ดู -sslGenCA และ -sslGenCert
ตัวเลือกด้านล่างสำหรับวิธีตั้งค่าและจัดการกรอบงาน CA
หมายเหตุ: โปรแกรมอรรถประโยชน์ต่อไปนี้ -sslGenCA, -sslGenCert, -sslEncKey, -sslCertInfo,
และ -sslCRL มีให้เพื่อความสมบูรณ์ แต่สำหรับการใช้งานทั่วไป
พวกเขาให้การสร้างคีย์ VNC Certificate Authority (CA) และคีย์เซิร์ฟเวอร์ / ไคลเอนต์
การสร้างและการลงนาม ดังนั้นพวกเขาจึงมีกรอบการจัดการคีย์สาธารณะพื้นฐาน
สำหรับ VNC-ing ด้วย x11vnc (โปรดทราบว่าพวกเขาต้องการ OpenSSL(1) ติดตั้งบน
ระบบ)
อย่างไรก็ตามโหมดการใช้งานที่ง่ายที่สุด "-ssl TMP" (โดยที่ x11vnc สร้างโดยอัตโนมัติ
ของตนเอง ลงนามเอง คีย์ชั่วคราว และผู้ชม VNC ยอมรับเสมอ เช่น
การยอมรับผ่านกล่องโต้ตอบ) น่าจะปลอดภัยเพียงพอสำหรับสถานการณ์ส่วนใหญ่ CA
ไม่จำเป็นต้องมีการจัดการ
เพื่อป้องกันการโจมตีแบบ Man-In-The-Middle โหมด "TMP" สามารถปรับปรุงได้โดย
โดยใช้ "-ssl บันทึก" (เหมือนกับ "-ssl" นั่นคือค่าเริ่มต้น) เพื่อให้ x11vnc สร้างอีกต่อไป
ระยะใบรับรองที่ลงนามเองแล้ว (อย่างปลอดภัย) คัดลอกกุญแจสาธารณะที่เกี่ยวข้อง
ใบรับรองไปยังเครื่องไคลเอนต์ที่ต้องการ (ต้องใช้ความระมัดระวังส่วนคีย์ส่วนตัวไม่ได้
ขโมย; คุณจะได้รับข้อความรหัสผ่าน)
ดังนั้น พึงระลึกไว้เสมอว่าไม่มีการสร้างหรือจัดการคีย์ CA (-sslGenCA และ -sslGenCert) is
จำเป็นสำหรับโหมดการใช้งานทั่วไปสองโหมดข้างต้น
บางคนอาจต้องการใช้ -sslGenCA และ -sslGenCert หากคุณมีVNC .จำนวนมาก
ไคลเอ็นต์และเซิร์ฟเวอร์เวิร์กสเตชัน ด้วยวิธีนี้ผู้ดูแลระบบสามารถสร้างเดียว
คีย์ CA กับ -sslGenCA และแจกจ่ายส่วนใบรับรองให้ทุกคน
เวิร์กสเตชัน
ต่อไป เขาสามารถสร้างคีย์เซิร์ฟเวอร์ VNC ที่ลงชื่อ (-sslGenCert เซิร์ฟเวอร์ ... ) สำหรับแต่ละ
เวิร์กสเตชันหรือผู้ใช้ที่ x11vnc จะใช้เพื่อตรวจสอบตัวเองกับVNC
ลูกค้าที่มีใบรับรอง CA
ทางเลือก ผู้ดูแลระบบยังสามารถทำให้ไคลเอนต์ VNC เองเป็น
รับรองความถูกต้องกับ x11vnc (-sslGenCert ไคลเอนต์ ... ) สำหรับสิ่งนี้ -sslverify อยากจะเป็น
ชี้ไปที่ใบรับรอง CA (และ/หรือใบรับรองที่ลงนามเอง)
x11vnc จะสามารถใช้ใบรับรองและไฟล์คีย์ทั้งหมดได้ บนไคลเอนต์ VNC
ด้านพวกเขาจะต้อง "นำเข้า" อย่างใด เว็บเบราว์เซอร์มี "Manage
ใบรับรอง" เช่นเดียวกับแผงควบคุมปลั๊กอิน Java applet stunnel can
ใช้ไฟล์เหล่านี้ด้วย (ดูสคริปต์ตัวอย่าง ss_vncviewer ในคำถามที่พบบ่อยและ SSVNC)
-sslCRL เส้นทาง
ตั้งค่ารายการเพิกถอนใบรับรอง (CRL) เป็น เส้นทาง. การตั้งค่านี้ใช้กับทั้งคู่
-ssl และ -ตะลึง โหมด
หากพาธเป็นไฟล์ ไฟล์นั้นจะมี CRL อย่างน้อย XNUMX รายการในรูปแบบ PEM ถ้าเส้นทางคือ a
ไดเร็กทอรี มันมีไฟล์ชื่อแฮชของ CRL ในลักษณะ OpenSSL ปกติ ดู
OpenSSL และ stunnel(8) เอกสารสำหรับข้อมูลเพิ่มเติม
ตัวเลือกนี้ใช้ได้เฉพาะเมื่อ -sslverify ได้รับการจัดหา: มันตรวจสอบการเพิกถอน
ตามห่วงโซ่ใบรับรองที่ใช้ตรวจสอบไคลเอ็นต์ VNC ดิ -sslCRL การตั้งค่า
จะถูกละเลยเมื่อ -sslverify ไม่ได้ระบุ
โปรดทราบว่าหากผ่านวันหมดอายุของ CRL การเชื่อมต่อ SSL ทั้งหมดจะล้มเหลว
ไม่ว่าจะเกี่ยวข้องกับเรื่องของ CRL หรือไม่ก็ตาม
แทบจะไม่มีเลย x11vnc -ssl โครงสร้างพื้นฐานมีขนาดใหญ่มากจนตัวเลือกนี้
จะเป็นประโยชน์ (เนื่องจากปกติจะรักษาเนื้อหาของ -sslverify ไฟล์หรือ
ไดเร็กทอรีน่าจะเพียงพอ) อย่างไรก็ตาม เมื่อใช้ x11vnc กับ Certificate
อำนาจหน้าที่ (ดู -sslGenCA) เพื่อตรวจสอบลูกค้าผ่าน SSL/TLS, the -sslCRL ตัวเลือก
อาจเป็นประโยชน์ในการเพิกถอนใบรับรองของผู้ใช้ที่คีย์ SSL ส่วนตัวสูญหายหรือถูกขโมย
(เช่น แล็ปท็อป) วิธีนี้ไม่จำเป็นต้องสร้างใบรับรอง + คีย์ CA ใหม่และใหม่
ลงนามคีย์ไคลเอ็นต์ที่สร้างและแจกจ่ายให้กับผู้ใช้ทั้งหมด
ในการสร้างไฟล์ CRL พร้อมใบรับรองที่ถูกเพิกถอน คำสั่ง 'openssl ca -ถอน
... ' และ 'openssl ca -gencrl ...' มีประโยชน์ (เรียกใช้พวกเขาใน ~/.vnc/ใบรับรอง)
-sslGenCA [ผบ]
สร้างคีย์ส่วนตัว ใบรับรอง และไฟล์อื่นๆ ของผู้ออกใบรับรองของคุณเอง
ในไดเรกทอรี [dir] x11vnc จากนั้นออก
หากไม่ได้ให้ [dir] a -ssldir ใช้การตั้งค่าหรืออย่างอื่น ~/.vnc/ใบรับรอง is
มือสอง
คำสั่งนี้ยังสร้างไดเร็กทอรีที่เซิร์ฟเวอร์และไคลเอนต์ใบรับรองและคีย์จะ
จะถูกเก็บไว้ ดิ OpenSSL(1) ต้องติดตั้งโปรแกรมบนระบบและพร้อมใช้งานใน
เส้นทาง.
หลังจากสร้างไฟล์และไดเร็กทอรี CA แล้ว คำสั่ง x11vnc จะออก VNC
เซิร์ฟเวอร์ไม่ทำงาน
คุณจะได้รับแจ้งให้ใส่ข้อมูลในใบรับรอง CA ข้อมูลไม่
ไม่จำเป็นต้องแม่นยำตราบเท่าที่ลูกค้ายอมรับใบรับรองสำหรับVNC
การเชื่อมต่อ คุณจะต้องใส่ข้อความรหัสผ่านอย่างน้อย 4 ตัวอักษร
สำหรับคีย์ส่วนตัวของ CA
เมื่อคุณสร้าง CA แล้ว คุณสามารถแจกจ่ายส่วนใบรับรองได้
[dir]/CA/cacert.pem ไปยังเวิร์กสเตชันอื่นที่จะเรียกใช้โปรแกรมดู VNC หนึ่งจะ
จำเป็นต้อง "นำเข้า" ใบรับรองนี้ในแอปพลิเคชัน เช่น เว็บเบราว์เซอร์ Java
ปลั๊กอินแอปเพล็ต stunnel ฯลฯ จากนั้น คุณสามารถสร้างและลงนามคีย์โดยใช้ CA ด้วย
-sslGenCert ตัวเลือกด้านล่าง
ตัวอย่าง: x11vnc -sslGenCA x11vnc -sslGenCA ~/myCAdir x11vnc -ssldir ~/myCAdir
-sslGenCA
(สองบรรทัดสุดท้ายเท่ากัน)
-sslGenCert ชนิด พร้อมชื่อ
สร้างเซิร์ฟเวอร์ VNC หรือใบรับรองไคลเอ็นต์และคู่คีย์ส่วนตัวที่ลงนามโดยCA
สร้างก่อนหน้านี้ด้วย -sslGenCA. การขอ OpenSSL(1) ต้องติดตั้งโปรแกรมบน
ระบบและพร้อมใช้งานใน PATH
หลังจากสร้างใบรับรอง x11vnc ออก เซิร์ฟเวอร์ VNC ไม่ทำงาน
ประเภทของคีย์ที่จะสร้างคือ string ชนิด. เป็น "เซิร์ฟเวอร์" อย่างใดอย่างหนึ่ง (เช่น
สำหรับใช้โดย x11vnc) หรือ "ไคลเอนต์" (สำหรับโปรแกรมดู VNC) โปรดทราบว่าโดยทั่วไปเท่านั้น
ใช้ "เซิร์ฟเวอร์": ไคลเอ็นต์ VNC ตรวจสอบตัวเองด้วยคีย์ที่ไม่ใช่สาธารณะ
เมธอด (เช่น VNC หรือรหัสผ่านยูนิกซ์) ชนิด จำเป็นต้องมี
ชื่อเริ่มต้นที่คุณต้องการเชื่อมโยงกับคีย์นั้นมาจาก
พร้อมชื่อ สตริง คุณสามารถเปลี่ยนได้ที่พร้อมท์ต่างๆ เมื่อสร้างคีย์ พร้อมชื่อ
เป็นทางเลือก
หากเว้นว่างชื่อสำหรับคีย์ไคลเอ็นต์ ระบบจะใช้ "ไม่มีใคร" ถ้าเว้นว่างไว้สำหรับ
คีย์เซิร์ฟเวอร์ จากนั้นจึงสร้างคีย์เซิร์ฟเวอร์หลัก: "server.pem" (นี่คือ
บันทึกหนึ่งอ้างอิงโดย "-ssl บันทึก" เมื่อเซิฟเวอร์เริ่มทำงาน)
If พร้อมชื่อ เริ่มต้นด้วยสตริง "ตนเอง:" จากนั้นจึงสร้างใบรับรองที่ลงนามเอง
แทนที่จะลงนามโดยคีย์ CA ของคุณ
If พร้อมชื่อ เริ่มต้นด้วยสตริง "req:" จากนั้นมีเพียงคีย์ (.key) และใบรับรอง
การลงนาม *คำขอ* (.req) จะถูกสร้างขึ้น จากนั้นคุณสามารถส่งไฟล์ .req ไปที่ an
CA ภายนอก (แม้แต่มืออาชีพ เช่น Thawte) แล้วรวม .key และ
ใบรับรองที่ได้รับลงในไฟล์ .pem ที่มีชื่อฐานเดียวกัน
ความแตกต่างระหว่าง "เซิร์ฟเวอร์" และ "ไคลเอนต์" เป็นเพียงทางเลือกของเอาต์พุต
ชื่อไฟล์และไดเร็กทอรีย่อย สิ่งนี้ทำให้ -ssl ตัวเลือกบันทึกชื่อได้อย่างง่ายดาย
เลือกไฟล์ x11vnc PEM ที่ตัวเลือกนี้สร้างขึ้น และในทำนองเดียวกันทำให้ง่ายสำหรับ
-sslverify ตัวเลือกในการรับใบรับรองลูกค้าของคุณ
ไม่มีอะไรพิเศษเกี่ยวกับชื่อไฟล์หรือตำแหน่งไดเร็กทอรีของ the
ใบรับรอง "เซิร์ฟเวอร์" และ "ไคลเอนต์" คุณสามารถเปลี่ยนชื่อไฟล์หรือย้ายไปที่ใดก็ได้ที่คุณ
ชอบ.
นำหน้าตัวเลือกนี้ด้วย -ssldir [dir] เพื่อใช้ไดเรกทอรีอื่นที่ไม่ใช่ค่าเริ่มต้น
~/.vnc/ใบรับรอง คุณจะต้องวิ่ง -sslGenCA ในไดเร็กทอรีนั้นก่อนทำ
ใด -sslGenCert การสร้างคีย์
โปรดทราบว่าคุณไม่สามารถสร้างใบรับรองใหม่ที่มีชื่อเฉพาะ (DN) ที่เหมือนกันทุกประการกับ an
ที่มีอยู่ ในการดำเนินการดังกล่าว คุณจะต้องแก้ไขไฟล์ [dir]/CA/index.txt เป็น
ลบบรรทัด
คล้ายกับ -sslGenCA, คุณจะได้รับแจ้งให้กรอกข้อมูลที่จะ
บันทึกไว้ในใบรับรองเมื่อมีการสร้าง
เคล็ดลับ: หากคุณทราบชื่อโฮสต์ที่มีคุณสมบัติครบถ้วนที่คนอื่นจะเชื่อมต่อด้วย
คุณสามารถใช้เป็นชื่อสามัญ "CN" เพื่อหลีกเลี่ยงบางแอปพลิเคชัน (เช่น web
เบราว์เซอร์และปลั๊กอิน java) บ่นว่าไม่ตรงกับชื่อโฮสต์
คุณจะต้องระบุข้อความรหัสผ่านของคีย์ส่วนตัวของ CA เพื่อปลดล็อกรหัสส่วนตัว
กุญแจที่สร้างจาก -sslGenCA. คีย์ส่วนตัวนี้ใช้เพื่อลงนามเซิร์ฟเวอร์หรือไคลเอนต์
ใบรับรอง
x11vnc สามารถใช้ใบรับรอง "เซิร์ฟเวอร์" ได้โดยตรงโดยชี้ไปที่ใบรับรองผ่าน -ssl
[pem] ตัวเลือก ไฟล์เริ่มต้นจะเป็น ~/.vnc/certs/server.pem อันนี้จะเป็น
ใช้โดยเพียงแค่พิมพ์ -ssl บันทึก. ไฟล์ pem มีทั้งใบรับรองและ
คีย์ส่วนตัว ไฟล์ server.crt มีใบรับรองเท่านั้น
ใบรับรอง "ไคลเอ็นต์" + ไฟล์คีย์ส่วนตัวจะต้องถูกคัดลอกและนำเข้าไปยัง
แอปพลิเคชันด้าน VNC viewer (เว็บเบราว์เซอร์ ปลั๊กอิน Java stunnel เป็นต้น) จากนั้น
เสร็จแล้วคุณสามารถลบไฟล์คีย์ส่วนตัว "ไคลเอนต์" ในเครื่องนี้ได้เนื่องจากเป็น
จำเป็นเฉพาะในด้านตัวแสดง VNC เช่น ~/.vnc/certs/client/.pem
มีทั้งใบรับรองและคีย์ส่วนตัว ดิ .crt มีใบรับรอง
เท่านั้น
หมายเหตุ: สิ่งสำคัญคือต้องรู้ว่าควรสร้างคีย์ใหม่ด้วยข้อความรหัสผ่าน
มิฉะนั้น หากผู้ใช้ที่ไม่น่าเชื่อถือขโมยไฟล์คีย์ เขาสามารถใช้มันเพื่อปลอมแปลงเป็น
เซิร์ฟเวอร์ x11vnc (หรือไคลเอนต์ตัวแสดง VNC) คุณจะได้รับแจ้งว่าจะเข้ารหัสหรือไม่
คีย์ที่มีข้อความรหัสผ่านหรือไม่ ขอแนะนำให้คุณทำ หนึ่ง
ความไม่สะดวกของข้อความรหัสผ่านคือต้องพิมพ์ทุกครั้ง x11vnc หรือ
แอพไคลเอนต์เริ่มต้นขึ้น
ตัวอย่าง:
x11vnc -sslGenCert เซิร์ฟเวอร์ x11vnc -ssl บันทึก -แสดง :0 ...
จากนั้นบนตัวแสดงโดยใช้ ss_vncviewer stunnel wrapper (ดูคำถามที่พบบ่อย): ss_vncviewer
-ตรวจสอบ ./cacert.crt ชื่อโฮสต์:0
(นี่ถือว่าใบรับรอง cacert.crt จาก -sslGenCA ถูกคัดลอกไปยังVNC .อย่างปลอดภัย
เครื่องแสดงที่ ss_vncviewer ทำงาน)
ตัวอย่างการใช้ชื่อ:
x11vnc -sslGenCert เซิร์ฟเวอร์ charlie x11vnc -ssl SAVE-ชาร์ลี -แสดง :0 ...
ตัวอย่างใบรับรองไคลเอ็นต์ (ไม่ค่อยได้ใช้):
x11vnc -sslGenCert ลูกค้า roger scp ~/.vnc/certs/clients/roger.pem บางโฮสต์:. rm
~/.vnc/certs/clients/roger.pem
x11vnc เริ่มต้นด้วยตัวเลือก -sslverify ~/.vnc/certs/clients/roger.crt
(หรือเพียงแค่ -sslverify roger) และผู้ใช้โปรแกรมดูบน somehost สามารถทำได้เพื่อ
ตัวอย่าง:
ss_vncviewer -mycert ./roger.pem ชื่อโฮสต์:0
หากคุณตั้งค่า env var REQ_ARGS='...' มันจะถูกส่งต่อไปยัง openssl ความต้องการ(1). ก
การใช้งานทั่วไปจะเป็น REQ_ARGS='-days 1095' เพื่อเพิ่มวันหมดอายุ (3 ปี
ในกรณีนี้).
-sslEncKey PEM
ยูทิลิตี้เพื่อเข้ารหัสไฟล์ PEM ที่มีอยู่ด้วยข้อความรหัสผ่านที่คุณระบุเมื่อได้รับแจ้ง
สำหรับคีย์นั้นที่จะใช้ (เช่นโดย x11vnc) ต้องระบุข้อความรหัสผ่านในแต่ละครั้ง
สัญกรณ์ "บันทึก" อธิบายภายใต้ -ssl ใช้เช่นกัน (นำหน้าตัวเลือกนี้ด้วย
-ssldir [dir] เพื่ออ้างอิงไดเร็กทอรีนอกเหนือจาก default ~/.vnc/ใบรับรอง)
การขอ OpenSSL(1) ต้องติดตั้งโปรแกรมบนระบบและพร้อมใช้งานใน PATH
หลังจากเข้ารหัสไฟล์คีย์แล้ว คำสั่ง x11vnc จะออก เซิร์ฟเวอร์ VNC ไม่ใช่
การทำงาน
ตัวอย่าง: x11vnc -sslEncKey /path/to/foo.pem x11vnc -sslEncKey ประหยัด x11vnc
-sslEncKey SAVE-ชาร์ลี
-sslCertInfo PEM
พิมพ์ข้อมูลเกี่ยวกับไฟล์ PEM ที่มีอยู่ นอกจากนี้ประชาชนทั่วไป
ใบรับรองยังพิมพ์ ดิ OpenSSL(1) โปรแกรมต้องอยู่ใน PATH โดยทั่วไป
คำสั่ง "openssl x509 -ข้อความ" ทำงานบน pem
หลังจากพิมพ์ข้อมูลแล้ว คำสั่ง x11vnc จะออก เซิร์ฟเวอร์ VNC ไม่ทำงาน
สัญกรณ์ "บันทึก" อธิบายภายใต้ -ssl ใช้เช่นกัน
การใช้ "LIST" จะแสดงรายการใบรับรองทั้งหมดที่ได้รับการจัดการ (ใน ~/.vnc/ใบรับรอง ผบ.
ใช้ -ssldir เพื่ออ้างถึง dir อื่น) "ALL" จะพิมพ์ข้อมูลสำหรับทุกๆ
คีย์ที่ได้รับการจัดการ (อาจยาวมาก) ให้ชื่อย่อของใบรับรองไคลเอ็นต์หรือเซิร์ฟเวอร์ will
ลองค้นหาด้วย (เช่น -sslCertInfo ชาร์ลี) ใช้ "LISTL" หรือ "LL" เป็นเวลานาน (ls
-l สไตล์) รายการ
การใช้ "HASHON" จะสร้างย่อย [dir]/HASH และ [dir]/HASH ด้วยแฮช OpenSSL
ชื่อไฟล์ (เช่น 0d5fbbf1.0) ลิงก์สัญลักษณ์ที่ชี้ไปที่ไฟล์ *.crt ที่เกี่ยวข้อง
([dir] คือ ~/.vnc/ใบรับรอง หรือหนึ่งให้โดย -ssldir.) นี่เป็นวิธีที่เป็นประโยชน์สำหรับคนอื่น ๆ
แอปพลิเคชัน OpenSSL (เช่น stunnel) เพื่อเข้าถึงใบรับรองทั้งหมดโดยไม่ต้อง
เชื่อมเข้าด้วยกัน x11vnc จะไม่ใช้งานเว้นแต่คุณจะอ้างอิงโดยเฉพาะ
"HASHOFF" ลบส่วนย่อยของ HASH เหล่านี้
คำ LIST, LISTL, LL, ALL, HASHON, HASHOFF สามารถเป็นตัวพิมพ์เล็กได้ เช่น "list"
-sslDelCert PEM
แจ้งให้คุณลบไฟล์ .crt .pem .key .req ทั้งหมดที่เชื่อมโยงกับ [pem] x11vnc
จากนั้นออก "บันทึก" และค้นหาใน -sslCertInfo สมัครด้วย
-sslScripts
พิมพ์ทั้ง 'genCA' และ 'genCert' x11vnc openssl wrapper script ให้คุณทำ
ตรวจสอบ แก้ไข ฯลฯ สคริปต์ถูกพิมพ์ไปยัง stdout จากนั้น x11vnc
ออกจากโปรแกรม
-ตะลึง [เปม]
ใช้ stunnel(8) (stunnel.mirt.net) เพื่อจัดเตรียมช่องสัญญาณ SSL ที่เข้ารหัสระหว่าง
ผู้ชมและ x11vnc
วิธีการทันเนลภายนอกนี้ถูกนำมาใช้ก่อนที่จะมีการบูรณาการ -ssl การเข้ารหัสลับ
อธิบายไว้ข้างต้น. มันยังคงทำงานได้ดีและหลีกเลี่ยงข้อกำหนดในการเชื่อมโยงกับ
ไลบรารี OpenSSL โหมดนี้ต้องติดตั้ง stunnel บนระบบ
และพร้อมใช้งานผ่าน PATH (มักจะติดตั้ง stunnel nb ในไดเร็กทอรี sbin)
สันนิษฐานว่าเป็นเวอร์ชัน 4.x ของ stunnel (แต่เห็น -สตันเนล3 ด้านล่าง)
[pem] เป็นทางเลือก ใช้ "-ตะลึง /path/to/stunnel.pem" เพื่อระบุใบรับรอง PEM
ไฟล์ที่จะส่งผ่านไปยัง stunnel ดู -ssl ตัวเลือกสำหรับข้อมูลเพิ่มเติมเกี่ยวกับไฟล์ใบรับรอง
ไม่ว่า stunnel ของคุณจะมีใบรับรองของตัวเองหรือไม่นั้นขึ้นอยู่กับ stunnel ของคุณ
การกำหนดค่า; stunnel มักจะสร้างขึ้นเมื่อติดตั้ง ดูอุโมงค์ของคุณ
เอกสารสำหรับรายละเอียด ในกรณีใด ๆ หากคุณต้องการใช้ใบรับรองนี้คุณ
ต้องระบุเส้นทางแบบเต็มเป็น [pem] หมายเหตุ: ไฟล์นี้สามารถอ่านได้โดย .เท่านั้น
ราก
[pem] อาจเป็นสตริงพิเศษ "TMP", "SAVE" และ "SAVE..." ตามที่อธิบายไว้ใน
-ssl ตัวเลือก. หากไม่ได้ระบุ [pem] ระบบจะถือว่า "SAVE"
โปรดทราบว่าโหมด VeNCrypt, ANONTLS และ "ANON" ไม่ได้รับการสนับสนุนใน -ตะลึง
โหมด.
stunnel เริ่มต้นขึ้นเป็นกระบวนการย่อยของ x11vnc และการเชื่อมต่อ SSL stunnel
การรับจะถูกถอดรหัสและส่งไปยัง x11vnc ผ่านซ็อกเก็ตในเครื่อง สตริง "The
เดสก์ท็อป SSL VNC คือ ..." และ "SSLPORT=..." ถูกพิมพ์ออกมาเมื่อเริ่มต้นเพื่อบ่งชี้
นี้.
การขอ -localhost ตัวเลือกถูกบังคับใช้โดยค่าเริ่มต้นเพื่อหลีกเลี่ยงคนกำหนดเส้นทางรอบ SSL
ช่อง. ใช้ -env STUNNEL_DISABLE_LOCALHOST=1 เพื่อปิดการใช้งานการรักษาความปลอดภัยนี้
ความต้องการ
ชุด -env STUNNEL_DEBUG=1 สำหรับการพิมพ์ดีบักเพิ่มเติม
ชุด -env STUNNEL_PROG=xxx ไปยังเส้นทางแบบเต็มของโปรแกรม stunnel ที่คุณต้องการใช้
(เช่น /usr/bin/stunnel4)
ชุด -env STUNNEL_LISTEN=xxx ไปยังที่อยู่ของอินเทอร์เฟซเครือข่ายเพื่อรับฟัง
(ค่าเริ่มต้นคือการรับฟังในทุกอินเทอร์เฟซ) เช่น STUNNEL_LISTEN=192.168.1.100
วิธีง่ายๆ ในการเพิ่มการรองรับ IPv6 คือ STUNNEL_LISTEN=::
โปรแกรมดู VNC ของคุณจะต้องสามารถเชื่อมต่อผ่าน SSL ได้ แต่น่าเสียดายที่ไม่ได้
หลายคนทำเช่นนี้ ดูข้อมูลเกี่ยวกับโปรแกรมดู SSL ภายใต้ -ssl ตัวเลือก
SSVNC ของโปรเจ็กต์ x11vnc เป็นตัวเลือก
นอกจากนี้ ในการแจกจ่าย x11vnc นั้น Patched TightVNC และ UltraVNC Java applet jar
ไฟล์มีอยู่ในไดเร็กทอรี class/ssl ที่ทำการเชื่อมต่อ SSL เปิดใช้งาน
รับใช้พวกเขาด้วย -http, -http_ssl, or -httpdir (ดูคำอธิบายตัวเลือก
สำหรับข้อมูลเพิ่มเติม)
โปรดทราบว่าสำหรับ Java viewer applet ใช้ "?PORT=xxxx" ใน URL ต่างๆ
พิมพ์เมื่อเริ่มต้นจะต้องจัดหาให้กับเว็บเบราว์เซอร์เพื่อเชื่อมต่ออย่างถูกต้อง
ขณะนี้โหมด HTTPS "พอร์ตเดียว" อัตโนมัติของ -ssl ไม่ได้รับการสนับสนุนอย่างเต็มที่ใน
-ตะลึง โหมด. อย่างไรก็ตาม สามารถจำลองได้โดย:
%x11vnc -ตะลึง -http_ssl -http_oneport ...
โดยทั่วไป การติดตั้ง stunnel หรือช่องสัญญาณ SSL อื่นๆ ก็ไม่ยากเกินไป
ทางด้านผู้ชม ตัวอย่างง่ายๆ บน Unix โดยใช้ stunnel 3.x คือ:
% ทำให้มึนงง -c -d localhost: 5901 -r โฮสต์ระยะไกล:5900% vncviewer localhost:1
สำหรับ Windows มีการย้าย stunnel ไปที่มันและอาจมีเครื่องมือดังกล่าวอื่น ๆ
มีอยู่. ดูคำถามที่พบบ่อยและ SSVNC สำหรับตัวอย่างเพิ่มเติม
-สตันเนล3 [เปม]
ใช้ไวยากรณ์บรรทัดรับคำสั่ง stunnel เวอร์ชัน 3.x แทนเวอร์ชัน 4.x ดิ
-http/-httpdir ขณะนี้การให้บริการแอปเพล็ต Java ยังไม่พร้อมใช้งานในโหมดนี้
-enc รหัส:keyfile
ใช้การเข้ารหัสแบบสมมาตรด้วย "cipher" และข้อมูลรหัสลับใน "keyfile" ถ้า
ไฟล์สำคัญคือ pw= จากนั้น "สตริง" จะถูกใช้เป็นข้อมูลหลัก
หมายเหตุ: ขอแนะนำให้คุณใช้ SSL ผ่านทาง -ssl ตัวเลือกแทนตัวเลือกนี้
เพราะ SSL เป็นที่เข้าใจกันดีและใส่ใจในการสร้างเซสชันที่ไม่เหมือนใคร
คีย์และเข้ากันได้กับซอฟต์แวร์อื่นๆ ใช้ตัวเลือกนี้หากคุณไม่ทำ
ต้องการจัดการกับใบรับรอง SSL สำหรับการตรวจสอบสิทธิ์และไม่ต้องการใช้ SSH
แต่ต้องการการเข้ารหัสสำหรับเซสชัน VNC ของคุณ หรือถ้าคุณต้องติดต่อกับ a
อุโมงค์คีย์สมมาตรที่คุณไม่สามารถควบคุมได้
โปรดทราบว่าโหมดนี้ใช้ไม่ได้กับปลั๊กอิน UltraVNC DSM เนื่องจากจะเปลี่ยนแปลง
โปรโตคอล RFB นอกเหนือจากการขุดอุโมงค์ด้วยรหัสสมมาตร (an
ทางเลือกที่น่าเสียดายของการดำเนินการ...)
รหัสสามารถเป็นหนึ่งใน: arc4, aesv2, aes-cfb, ปักเป้า, aes256 หรือ 3des ดู
เอกสาร OpenSSL สำหรับข้อมูลเพิ่มเติม ขนาดคีย์คือ 128 บิต (ยกเว้น aes256)
นี่เป็นวิธีหนึ่งในการสร้างไฟล์คีย์ที่มีหลายบิตนั้น:
dd if=/dev/random of=./my.key bs=16 count=1
คุณจะต้องแชร์คีย์นี้อย่างปลอดภัยกับอีกด้านหนึ่งของการเชื่อมต่อ VNC
(ดูตัวอย่าง SSVNC)
ตัวอย่าง: -enc ปลาปักเป้า:./my.key ตัวอย่าง: -enc ปลาปักเป้า:pw=swordfish
โดยค่าเริ่มต้น 16 ไบต์ของเกลือสุ่มตามด้วย 16 ไบต์ของการเริ่มต้นแบบสุ่ม
เวกเตอร์จะถูกส่งไปที่จุดเริ่มต้นของสตรีม อีกฝ่ายต้องอ่าน
เหล่านี้และเริ่มต้นการเข้ารหัสด้วยพวกเขา ค่าเหล่านี้สร้างคีย์เซสชัน
ไม่ซ้ำใคร (หากไม่มีพวกเขา ความปลอดภัยก็น้อยมาก) อีกฝ่ายก็ต้องส่ง
เราสุ่มเกลือและ IV ที่มีความยาวเท่ากัน
ข้อมูลเกลือและคีย์รวมกันเพื่อสร้างคีย์เซสชันโดยใช้แฮช md5 as
อธิบายไว้ใน EVP_BytesToKey(3)
การเรียกที่แน่นอนคือ: EVP_BytesToKey(Cipher, EVP_md5(), salt, keydata, len, 1, keystr,
โมฆะ); โดยที่เกลือเป็นข้อมูลสุ่มตามที่อธิบายไว้ข้างต้นและคีย์ดาต้าเป็นข้อมูลที่ใช้ร่วมกัน
ข้อมูลรหัสลับ keystr เป็นคีย์เซสชันที่เป็นผลลัพธ์ ตัวเลขจะถูกเพาะแล้ว
ด้วย keystr และใช้เวกเตอร์การเริ่มต้นแบบสุ่มเป็นบล็อกแรก
ในการปรับเปลี่ยนปริมาณของเกลือแบบสุ่มและเวกเตอร์การเริ่มต้นให้ใช้ cipher@n,m โดยที่
n คือความยาวของเกลือและ m คือความยาวเวกเตอร์เริ่มต้น เช่น
-enc aes-cfb@8,16:./my.key
ไม่ควรตั้งค่าหนึ่งให้เป็นศูนย์ แม้ว่าคุณอาจถูกบังคับ if
อีกด้านหนึ่งของอุโมงค์ไม่ได้อยู่ภายใต้การควบคุมของคุณ
หากต้องการข้ามเกลือและ EVP_BytesToKey MD5 ทั้งหมด (ไม่มีการแฮช: ข้อมูลหลัก
ถูกแทรกโดยตรงในรหัส) ระบุ "-1" สำหรับเกลือเช่น
-enc ปลาปักเป้า@-1,16:./my.key
ไดเจสต์ข้อความยังสามารถเปลี่ยนเป็นอย่างอื่นได้นอกเหนือจาก MD5 เริ่มต้น ใช้
cipher@md+n,m โดยที่ "md" สามารถเป็นหนึ่งใน sha, sha1, md5 หรือสุก ตัวอย่างเช่น:
-enc arc4@sha+8,16:./my.key
โปรเจ็กต์ตัวแสดง SSVNC vnc ให้เครื่องมือเข้ารหัสแบบสมมาตรที่ชื่อว่า
"ultravnc_dsm_helper" ที่สามารถใช้ได้ทางฝั่งผู้ดู ตัวอย่างเช่น:
ssvncviewer exec='ultravnc_dsm_helper arc4 my.key 0 ชม.:p'
(หรือแทนที่ 'ssvncviewer' ด้วย 'ssvnc -ผู้ชม') โดยที่ h:p คือชื่อโฮสต์และพอร์ต
ของเซิร์ฟเวอร์ x11vnc ultravnc_dsm_helper อาจใช้แบบสแตนด์อโลนเพื่อให้
อุโมงค์เข้ารหัสแบบสมมาตรสำหรับผู้ดูหรือเซิร์ฟเวอร์ใดๆ (VNC หรืออย่างอื่น) cipher
(หาเรื่องแรก) โดยพื้นฐานแล้วเป็นไวยากรณ์เดียวกับที่เราใช้ข้างต้น
โปรดดูตัวเลือก SSVNC 'Non-Ultra DSM' สำหรับ 'ปลั๊กอินการเข้ารหัส UltraVNC DSM'
ตัวเลือกขั้นสูง
สำหรับวิธีใช้วิวเวอร์ทั้งสองแบบ คุณสามารถระบุขนาดเกลือ,ivec (ใน GUI หรือ
เช่น arc4@8,16)
-https [ท่า]
ใช้พอร์ต HTTPS พิเศษที่แยกจากกัน (-ssl และ -ตะลึง โหมดเท่านั้น) สำหรับ HTTPS Java
กำลังดาวน์โหลดโปรแกรมดูแอปเพล็ต คือไม่ใช่ 5900 และไม่ใช่ 5800 (ค่าเริ่มต้น)
ความเป็นมา: ใน -ssl โหมด ปรากฎว่าคุณสามารถใช้พอร์ต VNC เดียว (เช่น 5900)
สำหรับการเชื่อมต่อ VNC และ HTTPS (HTTPS ใช้เพื่อดึงข้อมูล SSL-aware
แอปเพล็ต VncViewer.jar ที่มาพร้อมกับ x11vnc) เนื่องจากทั้งคู่ใช้ SSL the
มีการขยายการใช้งานเพื่อตรวจสอบว่าทราฟฟิก HTTP (เช่น GET) เกิดขึ้นหรือไม่
และจัดการตามนั้น URL จะเป็นเช่น:
https://mymachine.org:5900/
สะดวกสำหรับไฟร์วอลล์ ฯลฯ เนื่องจากต้องอนุญาตพอร์ตเดียวเท่านั้น
อย่างไรก็ตาม ฮิวริสติกนี้เพิ่มการหน่วงเวลาไม่กี่วินาทีให้กับการเชื่อมต่อแต่ละครั้ง และสามารถ
ไม่น่าเชื่อถือ (โดยเฉพาะอย่างยิ่งหากผู้ใช้ใช้เวลามากในการไตร่ตรอง Certificate
กล่องโต้ตอบในเบราว์เซอร์ Java VM หรือแอปเพล็ต VNC Viewer ถูกแล้ว 3 แยก
“คุณแน่ใจหรือว่าต้องการเชื่อมต่อ” บทสนทนา!)
จุดสิ้นสุดของพื้นหลัง
การใช้: ดังนั้นให้ใช้ the -https ตัวเลือกเพื่อจัดเตรียมพอร์ต HTTPS แยกต่างหากและเชื่อถือได้มากขึ้น
ที่ x11vnc จะฟัง หากไม่ได้ระบุ [พอร์ต] (หรือเป็น 0) หนึ่งรายการคือ
เลือกอัตโนมัติ URL ที่จะใช้ถูกพิมพ์ออกมาเมื่อเริ่มต้น
ไดเร็กทอรีแอปเพล็ต SSL Java ถูกระบุผ่านทาง -httpdir ตัวเลือก. ถ้าไม่
จัดหา -https จะพยายามเดาไดเร็กทอรีราวกับว่า -http ตัวเลือกคือ
ที่จัดมา
-httpsredir [ท่า]
In -ssl โหมดด้วยแอปเพล็ต Java ที่ดึงข้อมูลผ่าน HTTPS เมื่อไฟล์ HTML
มีพารามิเตอร์แอปเพล็ต ('index.vnc' หรือ 'proxy.vnc') ถูกส่งไปอย่าตั้งค่า
พารามิเตอร์ applet PORT เป็นพอร์ต VNC จริง แต่ตั้งค่าเป็น "พอร์ต" แทน ถ้า
ไม่ได้ระบุ "พอร์ต" ดังนั้นหมายเลขพอร์ตจะเดาจากส่วนหัวของโฮสต์: HTTP
สิ่งนี้มีประโยชน์เมื่อมีการเปลี่ยนเส้นทางการเชื่อมต่อ TCP ขาเข้าโดยa
เราเตอร์/เกตเวย์/ไฟร์วอลล์จากพอร์ตหนึ่งไปยังเครื่องภายในโดยที่ x11vnc เป็น
ฟังจากพอร์ตอื่น Java applet จำเป็นต้องเชื่อมต่อกับ
พอร์ตไฟร์วอลล์/เราเตอร์ ไม่ใช่พอร์ต VNC บนเวิร์กสเตชันภายใน ตัวอย่างเช่น,
หนึ่งสามารถ redir จาก mygateway.com:443 ไปยังเวิร์กสเตชัน:5900
ซึ่งช่วยให้ผู้ใช้ไม่ต้องพิมพ์ https://mygateway.com/?PORT=443 เป็น
เว็บเบราว์เซอร์ของพวกเขา โปรดทราบว่าพอร์ต 443 เป็นพอร์ต https เริ่มต้น พอร์ตอื่น ๆ ต้อง
ระบุไว้อย่างชัดเจน เช่น https://mygateway.com:8000/?PORT=8000 ถึง
หลีกเลี่ยงการรวม PORT= ใน URL ของเบราว์เซอร์ เพียงแค่ใส่ "-httpsredir"
เป็น x11vnc
ตัวเลือกนี้ใช้ไม่ได้ใน -ตะลึง โหมด.
เคล็ดลับเพิ่มเติม: ตั้งค่า env var X11VNC_EXTRA_HTTPS_PARAMS ให้เป็นพารามิเตอร์ URL พิเศษ
ใช้. วิธีนี้ทำให้คุณไม่จำเป็นต้องระบุ PARAMS เพิ่มเติมในไฟล์ index.vnc
เช่น x11vnc -env X11VNC_EXTRA_HTTPS_PARAMS='?GET=1' ...
หากคุณไม่ต้องการเปิดเผยพอร์ต HTTP ที่ไม่ใช่ SSL ไปยังเครือข่าย (เช่น คุณเพียงแค่
ต้องการพอร์ต VNC/HTTPS เดียว เช่น 5900 เปิดสำหรับการเชื่อมต่อ) จากนั้นระบุ
ตัวเลือก -env X11VNC_HTTP_LISTEN_LOCALHOST=1 วิธีการเชื่อมต่อกับ
เซิร์ฟเวอร์ LibVNCServer httpd จะใช้งานได้บน localhost เท่านั้น (โปรดทราบว่าใน -ssl
โหมด คำขอ HTTPS จะถูกเปลี่ยนเส้นทางจาก SSL ไปยัง LibVNCServer HTTP . ที่ไม่ใช่ SSL
เซิร์ฟเวอร์)
-http_oneport
สำหรับโหมดการเชื่อมต่อที่เข้ารหัสโดย UN (เช่น no -ssl, -ตะลึง or -enc ตัวเลือก) อนุญาต
แอปเพล็ต Java VNC Viewer ที่จะดาวน์โหลดผ่านพอร์ต VNC ผ่าน HTTP
กล่าวคือ คุณสามารถใช้พอร์ตเดียวสำหรับการเชื่อมต่อ Java applet viewer โดย
โดยใช้ URL ในเว็บเบราว์เซอร์ของคุณ เช่น:
http://hostname: 5900
โหมดสองพอร์ตปกติ URL http://hostname:5800 จะยังคงทำงานต่อไปเช่นกัน
ดังที่กล่าวไว้ข้างต้น โหมดนี้จะใช้งานไม่ได้กับ -ssl, -ตะลึง or -enc
ตัวเลือกการเข้ารหัส โปรดทราบว่ามันเทียบเท่ากับ '-enc none' (เช่นใช้
กลไกการตรวจจับเดียวกันกับ HTTPS แต่ไม่มีการเข้ารหัส)
พอร์ตเดียว HTTPS เปิดอยู่โดยค่าเริ่มต้นใน -ssl โหมดเข้ารหัส (และ -enc ด้วย) ดังนั้นคุณ
เพียง แต่ต้อง -http_oneport เมื่อทำการเชื่อมต่อที่เข้ารหัสที่ไม่ใช่ SSL
โหมดนี้อาจมีประโยชน์สำหรับช่องสัญญาณ SSH เนื่องจากต้องใช้พอร์ตเดียวเท่านั้น
ที่จะถูกเปลี่ยนเส้นทาง
การขอ -httpsredir ตัวเลือกอาจมีประโยชน์สำหรับโหมดนี้เมื่อใช้ช่องสัญญาณ SSH เป็น
เช่นเดียวกับการเปลี่ยนเส้นทางพอร์ตเราเตอร์
โปรดทราบว่า -env X11VNC_HTTP_LISTEN_LOCALHOST=1 ตัวเลือกที่อธิบายไว้ข้างต้นภายใต้
-httpsredir ใช้กับเซิร์ฟเวอร์ LibVNCServer httpd ในทุกกรณี (ssl หรือไม่)
- จุ๊ ผู้ใช้@โฮสต์:disp
สร้างพอร์ตฟังระยะไกลบนเครื่อง "โฮสต์" ผ่านอุโมงค์ SSH โดยใช้ -R
วิธี rport:localhost:lport lport จะเป็นพอร์ตฟัง x11vnc ในเครื่องดังนั้นa
การเชื่อมต่อกับ rport (5900+disp) บน "host" จะถึง x11vnc เช่น
[ป้องกันอีเมล]:0
สิ่งนี้อาจมีประโยชน์หากไฟร์วอลล์/เราเตอร์ป้องกันการเชื่อมต่อขาเข้ากับ
เครื่อง x11vnc แต่โปรแกรมดู VNC สามารถเข้าถึงเครื่อง ssh "โฮสต์"
ไม่จำเป็นต้องใช้ "user@" เว้นแต่ชื่อผู้ใช้ยูนิกซ์ระยะไกลจะแตกต่างจากชื่อผู้ใช้ปัจจุบัน
โดยค่าเริ่มต้น sshd ระยะไกลมักจะได้รับการกำหนดค่าให้ฟังเฉพาะบน localhost for
rport ดังนั้นผู้ดูอาจต้อง ssh -L redir เป็น "โฮสต์" เช่นกัน (ดู SSVNC ถึง
อัตโนมัติ) การตั้งค่า sshd GatewayPorts ช่วยให้รับฟังได้ในทุกอินเทอร์เฟซ
สำหรับรายงาน; ผู้ชมสามารถเข้าถึงได้ง่ายขึ้น
"disp" คือจอแสดงผล VNC สำหรับฝั่ง SSH ระยะไกล เช่น 0 สอดคล้องกับพอร์ต 5900
เป็นต้น หาก disp มากกว่า 200 ค่าจะถูกใช้เป็นพอร์ต ใช้เครื่องหมายลบ
ค่าเพื่อบังคับพอร์ตต่ำ เช่น host:-80 จะใช้พอร์ต 80
หาก ssh-agent ไม่ทำงาน จำเป็นต้องป้อนรหัสผ่าน ssh ใน
เทอร์มินัลที่ x11vnc ทำงานอยู่
โดยค่าเริ่มต้น ssh ระยะไกลจะออก 'sleep 300' เพื่อรอขาเข้า
เชื่อมต่อเป็นเวลา 5 นาที หากต้องการแก้ไขให้ใช้ user@host:disp+secs
หากเซิร์ฟเวอร์ SSH ระยะไกลอยู่บนพอร์ตที่ไม่ได้มาตรฐาน (เช่น ไม่ใช่ 22) ให้ใช้
ผู้ใช้@โฮสต์:พอร์ต:disp+secs.
โปรดทราบว่ากระบวนการ ssh อาจไม่ถูกฆ่าเมื่อ x11vnc ออก มันพยายามโดยการมอง
at ps(1) การส่งออก
-ผู้ใช้ รายการ
หาก x11vnc เริ่มต้นเป็นรูท (พูดจาก inetd(8) หรือจากผู้จัดการการแสดง xdm(1),
GDM(1) ฯลฯ) จากนั้นโดยเร็วที่สุดหลังจากเชื่อมต่อกับจอแสดงผล X จะเป็น
พยายามเปลี่ยนไปใช้หนึ่งในผู้ใช้ที่คั่นด้วยเครื่องหมายจุลภาค รายการ. ถ้า
x11vnc ไม่ทำงานเนื่องจากรูทตัวเลือกนี้จะถูกละเว้น
เหตุใดจึงใช้ตัวเลือกนี้ โดยทั่วไปไม่จำเป็นเนื่องจากเชื่อมต่อ x11vnc แล้ว
ไปยังจอแสดงผล X และสามารถทำหน้าที่หลักได้ เพิ่มตัวเลือกลงใน .แล้ว
ทำให้คำสั่งยูทิลิตี้ *ภายนอก* บางคำสั่ง x11vnc ทำงานเป็นครั้งคราว
อย่างถูกต้อง. โดยเฉพาะอย่างยิ่งภายใต้ GNOME และ KDE เพื่อใช้งาน "- แข็ง สี"
คุณสมบัติคำสั่งภายนอก (gconftool-2 และ dcop) น่าเสียดายที่ต้องเรียกใช้เป็น
ผู้ใช้ที่เป็นเจ้าของเซสชันเดสก์ท็อป เนื่องจากตัวเลือกนี้สลับ userid จึงมีผล
userid ที่ใช้ในการรันกระบวนการสำหรับ -ยอมรับ และ -ที่ไปแล้ว ตัวเลือก. นอกจากนี้ยัง
ส่งผลต่อความสามารถในการอ่านไฟล์สำหรับตัวเลือกเช่น -เชื่อมต่อ, -อนุญาต, และ -รีแมป
และคุณสมบัติการถ่ายโอนไฟล์ที่พิเศษและแน่นหนาหากเปิดใช้งาน โปรดทราบว่า
-เชื่อมต่อ บางครั้งไฟล์ยังถูกเขียนถึง
ดังนั้นโปรดใช้ตัวเลือกนี้อย่างระมัดระวังเพราะในบางสถานการณ์การใช้งานอาจลดลง
ความปลอดภัย
โดยทั่วไปแล้ว การเปลี่ยนไปใช้ผู้ใช้จะเกิดขึ้นก็ต่อเมื่อหน้าจอยังคงเป็นอยู่
เปิดสำเร็จในฐานะผู้ใช้รายนั้น (นี่คือการพยายามเดาจริงเป็นหลัก
เจ้าของเซสชัน) ตัวอย่าง: "-ผู้ใช้ เฟรด,วิลมา,เบ็ตตี้" โปรดทราบว่าเป็นอันตราย
ผู้ใช้ในพื้นที่ "barney" โดยใช้ "xhost +" อย่างรวดเร็วเมื่อเข้าสู่ระบบอาจได้รับ
กระบวนการ x11vnc เพื่อเปลี่ยนเป็นผู้ใช้ "fred" จะเกิดอะไรขึ้นต่อไป?
ภายใต้ตัวจัดการการแสดงผล อาจใช้เวลานานกว่าที่สวิตช์จะสำเร็จ (เช่น a
ผู้ใช้เข้าสู่ระบบ) ให้เปลี่ยนทันทีโดยไม่คำนึงว่าจอแสดงผลสามารถ
ถูกเปิดขึ้นใหม่ นำหน้าชื่อผู้ใช้ด้วยอักขระ "+" เช่น "-ผู้ใช้ +บ๊อบ" หรือ
"-ผู้ใช้ +ไม่มีใคร".
สิ่งหลัง (เช่น การเปลี่ยนไปใช้ผู้ใช้ทันที "ไม่มีใคร") เป็นเพียงการใช้ที่ชัดเจนเพียงอย่างเดียวของ
-ผู้ใช้ ตัวเลือกที่เพิ่มความปลอดภัย
ใช้สัญกรณ์ต่อไปนี้เพื่อเชื่อมโยงกลุ่มกับผู้ใช้:
user1.group1,user2.group2,... สังเกตว่า กลุ่มเริ่มต้น(2) จะยังถูกเรียกก่อน
เพื่อพยายามเปลี่ยนไปใช้กลุ่มของผู้ใช้ทั้งหมด (กลุ่มหลักและกลุ่มเพิ่มเติม) เท่านั้น
หากล้มเหลวหรือไม่พร้อมใช้งาน กลุ่มเดียวที่ระบุข้างต้น (หรือ
กลุ่มหลักของผู้ใช้หากไม่ระบุ) จะถูกเปลี่ยนเป็น with ตั้งค่า(2). ใช้ -env
X11VNC_SINGLE_GROUP=1 เพื่อป้องกันการพยายาม กลุ่มเริ่มต้น(2) และเปลี่ยนเป็นซิงเกิ้ลเท่านั้น
กลุ่ม. การตั้งค่าแบบนี้จำเป็นจริงๆเท่านั้นที่จะทำให้เป็นพิเศษหรือแน่น
สิทธิ์การถ่ายโอนไฟล์ทำงานอย่างถูกต้อง รูปแบบนี้ใช้กับเครื่องหมายจุลภาคใด ๆ ที่คั่นด้วย
รายชื่อผู้ใช้ แม้แต่โหมดพิเศษ "=" ที่อธิบายไว้ด้านล่าง
In -unixpw โหมดถ้า "-ผู้ใช้ ยูนิกซ์พีดับบลิว=" ถูกระบุหลังจากผู้ใช้ตรวจสอบสิทธิ์
ตัวเองผ่านทาง -unixpw กลไก x11vnc จะพยายามเปลี่ยนไปใช้ผู้ใช้นั้นราวกับว่า
"-ผู้ใช้ +ชื่อผู้ใช้" ได้จัดเตรียมไว้ให้แล้ว หากคุณต้องการจำกัดว่าผู้ใช้คนใดจะทำสิ่งนี้
ทำได้โดยระบุเป็นรายการที่คั่นด้วยเครื่องหมายจุลภาคหลังจาก "unixpw=" Groups can also
ระบุไว้ตามที่อธิบายไว้ข้างต้น
ในทำนองเดียวกันค่ะ -ssl โหมดถ้า "-ผู้ใช้ sslpeer=" ถูกระบุหลังจากไคลเอนต์ SSL
รับรองความถูกต้องด้วยใบรับรองของเขา (the -sslverify ตัวเลือกที่จำเป็นสำหรับสิ่งนี้) x11vnc
จะแยกชื่อผู้ใช้ UNIX จากฟิลด์ "emailAddress" ([ป้องกันอีเมล])
ของ "หัวเรื่อง" ของใบรับรอง x509 SSL แล้วลองเปลี่ยนไปใช้ผู้ใช้นั้นราวกับว่า
"-ผู้ใช้ +ชื่อผู้ใช้" ได้จัดเตรียมไว้ให้แล้ว หากคุณต้องการจำกัดว่าผู้ใช้คนใดจะทำสิ่งนี้
เสร็จแล้ว ระบุเป็นรายการที่คั่นด้วยเครื่องหมายจุลภาคหลัง "sslpeer=" ตั้งค่า env
var X11VNC_SSLPEER_CN เพื่อใช้ Common Name (โดยปกติคือชื่อโฮสต์) แทน
ฟิลด์อีเมล
หมายเหตุ: สำหรับโหมด sslpeer= ผู้ดูแลระบบ x11vnc ต้องดูแลว่าไคลเอนต์ใด ๆ
ใบรับรองที่เขาเพิ่มไปยัง -sslverify มีชื่อผู้ใช้ UNIX ที่ต้องการใน "emailAddress"
ฟิลด์ของใบรับรอง มิฉะนั้น ผู้ใช้อาจสามารถเข้าสู่ระบบในฐานะอื่นได้ นี้
คำสั่งที่ใช้ตรวจสอบได้: "openssl x509 - ข้อความ -in file.crt" โปรดดูที่
บรรทัด "เรื่อง:" นอกจากนี้ ร่วมกับ RFB_* env ปกติ วาร์ (ดู -ยอมรับ) ผ่าน
ไปยังคำสั่ง cmd ภายนอก RFB_SSL_CLIENT_CERT จะถูกตั้งค่าเป็น x509 ของไคลเอ็นต์
สตริงใบรับรอง
โหมด sslpeer= สามารถช่วยในการค้นหา X เซสชันผ่าน FINDDISPLAY และ
กลไก FINDCREATEDISPLAY
หากต้องการเปลี่ยนเป็นผู้ใช้ทันที *ก่อน* จะทำการเชื่อมต่อกับจอแสดงผล X หรือ
ไฟล์ใด ๆ ที่เปิดให้ใช้อักขระ "=": "-ผู้ใช้ =บ๊อบ"ผู้ใช้คนนั้นต้องสามารถ
เพื่อเปิดจอแสดงผล X และไฟล์ใด ๆ แน่นอน
ผู้ใช้พิเศษ "guess=" หมายถึงการตรวจสอบฐานข้อมูล utmpx (ดู ใคร(1) ) มอง
สำหรับผู้ใช้ที่แนบมากับหมายเลขที่แสดง (จาก DISPLAY หรือ -แสดง ตัวเลือก) และลอง
เขาเธอ. ในการจำกัดรายการการเดา ให้ใช้: "-ผู้ใช้ เดา=บ๊อบ เบ็ตตี้".
ที่น่ากลัวยิ่งกว่าคือผู้ใช้พิเศษ "แฝง=" ที่หมายถึงพยายามเดา
DISPLAY จากฐานข้อมูลล็อกอิน utmpx เช่นกัน มันเลย "ซุ่ม" รอใครมา
เข้าสู่ระบบ X เซสชันแล้วเชื่อมต่อกับมัน ระบุรายชื่อผู้ใช้หลัง =
เพื่อจำกัดผู้ใช้ที่จะทดลอง หากต้องการเปิดใช้งานโหมดการค้นหาอื่น หาก
ผู้ใช้คนแรกในรายการคือ ":0" หรือ ":0-2" ที่ระบุช่วงของ
แสดงหมายเลขที่จะลอง (ไม่ว่าจะอยู่ใน utmpx
ฐานข้อมูล) สำหรับผู้ใช้ทั้งหมดที่เข้าสู่ระบบ โปรดดูที่ "-แสดง รอ:..."
ฟังก์ชั่น ตัวอย่าง: "-ผู้ใช้ แฝงตัว =" และนอกจากนี้ยังมี "-ผู้ใช้ แฝง=:0-1,บ๊อบ,แมรี่"
โปรดใช้ความระมัดระวังเป็นพิเศษเมื่อใช้โหมด "guess=" และ "lurk=" พวกเขาจะไม่
แนะนำให้ใช้กับเครื่องที่มีผู้ใช้ในพื้นที่ที่ไม่น่าเชื่อถือ
-โนชม์
ห้ามใช้ส่วนขยาย MIT-SHM สำหรับโพล สามารถสำรวจจอแสดงผลระยะไกลได้
วิธีนี้: โปรดใช้ความระมัดระวังเนื่องจากอาจใช้แบนด์วิดท์เครือข่ายจำนวนมาก นี่ก็เช่นกัน
ของการใช้งานหากเครื่องในพื้นที่มีจำนวนเซกเมนต์ shm ที่จำกัดและ -onetile is
ไม่เพียงพอ
-flipbyteorder
บางครั้งจำเป็นหากโฮสต์ที่สำรวจจากระยะไกลมี endianness ต่างกัน ละเว้นเว้นแต่
-โนชม์ ถูกตั้งค่า
-onetile
อย่าใช้กลไก framebuffer copy_tiles() ใหม่ เพียงใช้ 1 shm ไทล์สำหรับ
การเลือกตั้ง จำกัดกลุ่ม shm ที่ใช้เป็น 3
หากต้องการปิดใช้งานการลด shm อัตโนมัติ ให้ตั้งค่า env วาร์ X11VNC_NO_LIMIT_SHM.
- แข็ง [สี]
เพื่อปรับปรุงประสิทธิภาพ เมื่อเชื่อมต่อไคลเอ็นต์ VNC ให้ลองเปลี่ยนเดสก์ท็อป
พื้นหลังเป็นสีทึบ [สี] เป็นตัวเลือก: สีเริ่มต้นคือ
"cyan4" สำหรับสีอื่น ให้ระบุสี X (ชื่อ rgb.txt เช่น "darkblue" หรือ
ตัวเลข "#RRGGBB")
ขณะนี้ตัวเลือกนี้ใช้งานได้กับ GNOME, KDE, CDE, XFCE และ classic X เท่านั้น (เช่นกับ
ภาพพื้นหลังบนหน้าต่างรูท) "gconftool-2", "dcop" และ "xfconf-
คำสั่งภายนอก "เรียกใช้สำหรับ GNOME, KDE และ XFCE ตามลำดับ นอกจากนี้ยัง
ทำงานบน MacOSX ดั้งเดิม (ไม่มีการเลือกสีสำหรับ MacOSX หรือ XFCE) อื่นๆ
เดสก์ท็อปจะไม่ทำงาน (ส่งคำสั่งที่เกี่ยวข้องมาให้เราหากคุณพบ) ถ้า
x11vnc ทำงานเป็นรูท ( inetd(8) หรือ GDM(1) ), ที่ -ผู้ใช้ อาจจำเป็นต้องใช้ตัวเลือก
สำหรับ GNOME, KDE, XFCE หาก x11vnc เดาเดสก์ท็อปของคุณไม่ถูกต้อง คุณสามารถบังคับได้
โดยนำหน้าสีด้วย "gnome:", "kde:", "cde:", "xfce:" หรือ "root:"
ปรับปรุง: - แข็ง ใช้งานไม่ได้บน KDE4 อีกต่อไป
โหมดนี้ทำงานอย่างจำกัดบนคอนโซล Mac OS X ด้วยสีเดียว ('สาหร่ายทะเล')
โดยใช้สกรีนเซฟเวอร์เขียนเป็นพื้นหลัง ดูใน "~/ไลบรารี/หน้าจอ เซฟเวอร์"
สำหรับ VncSolidColor.png เพื่อเปลี่ยนสี
- มืดมน เชือก
ทำให้สี่เหลี่ยมมืดลงบนหน้าจอ เชือก เป็นรายการที่คั่นด้วยเครื่องหมายจุลภาคของ WxH+X+Y
พิมพ์เรขาคณิตสำหรับสี่เหลี่ยมแต่ละอัน หากรายการใดรายการหนึ่งเป็นสตริง
"noptr" ตัวชี้เมาส์จะไม่ได้รับอนุญาตให้เข้าสู่บริเวณที่มืดมิด
-ซิเนรามา -น็อกซิเนรามา
หากหน้าจอของคุณประกอบด้วยจอภาพหลายจอที่ติดกาวเข้าด้วยกันผ่าน XINERAMA และ
หน้าจอนั้นไม่ใช่สี่เหลี่ยมผืนผ้า ตัวเลือกนี้จะพยายามเดาพื้นที่ให้มืดลง
(หากระบบของคุณมี libXinerama) ค่าเริ่มต้น: -ซีเนรามา
โดยทั่วไปแล้ว เราสังเกตเห็นบนจอแสดงผล XINERAMA ที่คุณอาจต้องใช้
"-xwarppointer" ตัวเลือกหากตัวชี้เมาส์ทำงานผิดปกติและเปิดใช้งานโดย
ค่าเริ่มต้น. ใช้ "-noxwarppointer“ถ้าท่านไม่ต้องการสิ่งนี้
-xtrap
ใช้ส่วนขยาย DEC-XTRAP สำหรับการกดแป้นพิมพ์และการป้อนข้อมูลด้วยเมาส์ สำหรับใช้กับ
ระบบเดิม เช่น X11R5 เรียกใช้ส่วนขยาย XTEST ที่ไม่สมบูรณ์หรือขาดหายไป โดย
ค่าเริ่มต้น DEC-XTRAP จะถูกใช้หากไม่มีการควบคุมการคว้าเซิร์ฟเวอร์ XTEST ให้ใช้ -xtrap
เพื่อทำการกดแป้นพิมพ์และแทรกเมาส์ผ่าน DEC-XTRAP เช่นกัน
-xrandr [โหมด]
หากจอแสดงผลรองรับส่วนขยาย XRANDR (X Resize, Rotate and Reflection) และ
คุณคาดว่าเหตุการณ์ XRANDR จะเกิดขึ้นกับจอแสดงผลในขณะที่ x11vnc กำลังทำงานอยู่
ตัวเลือกบ่งชี้ว่า x11vnc ควรพยายามตอบสนองต่อพวกเขา (ตรงข้ามกับเพียงแค่
ล่มโดยสมมติขนาดหน้าจอเก่า) ดู xrandr(1) manpage และเรียกใช้
'xrandr -q' สำหรับข้อมูลเพิ่มเติม [โหมด] เป็นทางเลือกและอธิบายไว้ด้านล่าง
เนื่องจากการดูเหตุการณ์ XRANDR และข้อผิดพลาดในการดักจับทำให้ค่าใช้จ่ายในการสำรวจเพิ่มขึ้น
ใช้ตัวเลือกนี้เฉพาะในกรณีที่คาดว่าจะมีการเปลี่ยนแปลง XRANDR เช่น หมุนได้
หน้าจอ PDA หรือแล็ปท็อป หรือใช้เดสก์ท็อปที่รับรู้ XRANDR ที่คุณปรับขนาดบ่อยๆ มัน
เป็นการดีที่สุดที่จะดูด้วย vncviewer ที่รองรับการเข้ารหัส NewFBSize ตั้งแต่
มันรู้วิธีตอบสนองต่อการเปลี่ยนแปลงขนาดหน้าจอ มิฉะนั้น LibVNCServer จะพยายามทำ
ดังนั้นสิ่งที่สมเหตุสมผลสำหรับผู้ชมที่ไม่สามารถทำเช่นนี้ได้ (บางส่วนของหน้าจออาจ
ถูกตัด ไม่ได้ใช้ ฯลฯ)
หมายเหตุ: ค่าเริ่มต้นในตอนนี้คือการตรวจสอบเหตุการณ์ XRANDR แต่อย่าดักจับ X call . ทุกครั้ง
ที่อาจล้มเหลวเนื่องจากการปรับขนาด หากได้รับเหตุการณ์การปรับขนาด เต็ม -xrandr โหมด
เปิดใช้งาน. หากต้องการปิดใช้งานแม้กระทั่งการตรวจสอบการจัดหาเหตุการณ์: -noxrandr.
"โหมด" มีค่าเริ่มต้นเป็น "ปรับขนาด" ซึ่งหมายความว่าสร้างใหม่ ปรับขนาด เฟรมบัฟเฟอร์และ
หวังว่าผู้ชมทุกคนจะสามารถรับมือกับการเปลี่ยนแปลงนี้ได้ "newfbsize" หมายถึงยกเลิกการเชื่อมต่อทั้งหมดก่อน
โปรแกรมดูที่ไม่สนับสนุนการเข้ารหัส NewFBSize VNC แล้วปรับขนาด
เฟรมบัฟเฟอร์ "ทางออก" หมายถึงยกเลิกการเชื่อมต่อไคลเอ็นต์ของผู้ชมทั้งหมด แล้วจึงยุติ
x11vnc.
-หมุน เชือก
หมุนและ/หรือพลิกมุมมองเฟรมบัฟเฟอร์ที่ส่งออกโดย VNC การเปลี่ยนแปลงนี้คือ
เป็นอิสระจาก XRANDR และทำในซอฟต์แวร์ในหน่วยความจำหลัก ดังนั้นอาจช้าลง
โหมดนี้อาจมีประโยชน์กับมือถือที่มีโหมดแนวตั้งหรือแนวนอนที่ใช้งานได้
ไม่สอดคล้องกับลำดับ scanline ของ framebuffer จริง เชือก เป็นไปได้:
x พลิกตามแกน x y พลิกตามแกน y xy พลิกตามแกน x และ y +90
หมุนตามเข็มนาฬิกา 90 องศา -90 หมุนทวนเข็มนาฬิกา 90 องศา +90x
หมุน 90 องศา CW จากนั้นพลิกตาม x +90y หมุน 90 องศา CW จากนั้นพลิก
พร้อม y
สิ่งเหล่านี้ให้การหมุนและการสะท้อนที่เป็นไปได้ทั้งหมด
นามแฝง: เช่นเดียวกับ xy: yx, +180, -180, 180 เช่นเดียวกับ -หนึ่ง: +270, 270 เช่นเดียวกับ +90: 90,
(เหมือนกันสำหรับ 90x, 90y)
Like -มาตราส่วน, การแปลงนี้ถูกนำไปใช้ที่ปลายสุดของสายโซ่ใดๆ ของ
การแปลง framebuffer และตัวเลือกใด ๆ ที่มีรูปทรงเช่น - ไฟดับ,
-คลิป, ฯลฯ สัมพันธ์กับ X ดั้งเดิม (หรือ -rawfb) framebuffer ไม่ใช่ตัวสุดท้าย
หนึ่งส่งไปยังผู้ดู VNC
หากคุณไม่ต้องการให้หมุนรูปร่างเคอร์เซอร์นำหน้า เชือก ด้วย "nc:" เช่น
"nc:+90", "nc:xy" เป็นต้น
-แพดเจียม กxส
เมื่อใดก็ตามที่ vncviewer ใหม่เชื่อมต่อ framebuffer จะถูกแทนที่ด้วยของปลอมที่เป็นของแข็ง
เรขาคณิต สีดำ กxส. หลังจากนั้นไม่นาน framebuffer จะถูกแทนที่ด้วย
หนึ่งจริง นี้มีไว้สำหรับใช้กับ vncviewers ที่ไม่สนับสนุน NewFBSize
และต้องการให้แน่ใจว่าเรขาคณิตของตัวแสดงเริ่มต้นจะใหญ่พอที่จะรองรับได้
การปรับขนาดที่ตามมาทั้งหมด (เช่น under -xrandr, รีโมท id:windowid, การปรับขนาด, ฯลฯ)
In -unixpw โหมดนี้จะกำหนดขนาดของหน้าจอเข้าสู่ระบบ ใช้ "ครั้งเดียว: กว้างxสูง" โดยไม่สนใจ
padgeom หลังจากตั้งค่าหน้าจอเข้าสู่ระบบแล้ว
-o ไฟล์บันทึก
เขียนข้อความ stderr ไปยังไฟล์ ไฟล์บันทึก แทนที่จะไปที่เทอร์มินัล เหมือนกับ
"-ล็อกไฟล์ ไฟล์". หากต้องการต่อท้ายไฟล์ให้ใช้ "-โอ ไฟล์"หรือ"-logappend ไฟล์". ถ้า
ไฟล์บันทึก มีสตริง "%VNCDISPLAY" ซึ่งขยายไปยังหน้าจอ vnc (ตัว
อาจต้องเดาชื่อ) "%HOME" ก็ใช้ได้เหมือนกัน
-ธง ไฟล์
เขียนสตริง "PORT=NNNN" (เช่น PORT=5900) ไปที่ ไฟล์ นอกเหนือจาก stdout นี้
ตัวเลือกอาจมีประโยชน์โดยสคริปต์ตัวตัดทอนเพื่อตรวจจับเมื่อ x11vnc พร้อม
-rmflag ไฟล์
ลบรายการออกจากรถเข็น ไฟล์ ที่ทางออกเพื่อส่งสัญญาณเมื่อ x11vnc เสร็จสิ้น ไฟล์ถูกสร้างขึ้นเมื่อเริ่มต้น
ถ้ายังไม่มีหรือถ้า ไฟล์ นำหน้าด้วย "create:" หากไฟล์เป็น
สร้างแล้ว x11vnc PID จะถูกวางในไฟล์ มิฉะนั้นเนื้อหาไฟล์จะไม่
เปลี่ยน. ใช้คำนำหน้า "nocreate:" เพื่อป้องกันการสร้าง
-rc ชื่อไฟล์
ใช้ ชื่อไฟล์ แทนที่จะเป็น $HOME/.x11vncrc สำหรับไฟล์ rc
-นอร์ค
อย่าประมวลผลไฟล์ .x11vncrc สำหรับตัวเลือก
-env วาร์=มูลค่า
ตั้งค่าตัวแปรสภาพแวดล้อม 'VAR' เป็นค่า 'VALUE' เมื่อเริ่มต้น x11vnc มันคือ
ยูทิลิตี้อำนวยความสะดวกเพื่อหลีกเลี่ยงการห่อหุ้มเชลล์สคริปต์ ฯลฯ เพื่อตั้งค่า env วาร์ คุณ
อาจระบุสิ่งเหล่านี้ได้มากเท่าที่จำเป็นในบรรทัดคำสั่ง
-prog /path/to/x11vnc
กำหนดเส้นทางแบบเต็มไปยังโปรแกรม x11vnc สำหรับกรณีที่ไม่สามารถระบุได้จาก
argv[0] (เช่น tcpd/inetd)
-ชม, -ช่วยด้วย
พิมพ์ข้อความช่วยเหลือนี้ -?, - ตัวเลือก แสดงรายการตัวเลือก x11vnc เท่านั้น
-วี -version
พิมพ์เวอร์ชันโปรแกรมและวันที่แก้ไขล่าสุด
-ใบอนุญาต
พิมพ์ข้อมูลใบอนุญาต เหมือนกับ -คัดลอก และ -รับประกัน.
-dbg
แทนที่จะออกหลังจากล้างข้อมูล ให้เรียกใช้ "debug crash shell" แบบง่าย ๆ เมื่อถึงแก่ชีวิต
ข้อผิดพลาดติดอยู่
-NS, -เงียบ
เงียบด้วยการพิมพ์ข้อมูลที่น้อยลงไปยัง stderr (ใช้ - ไม่เงียบ เพื่อเลิกทำ
ก่อน -เงียบ.)
การขอ -เงียบ ตัวเลือกไม่ได้กำจัดข้อมูลออกทั้งหมด แต่จะลดขนาดลงเท่านั้น
จะถูกละเว้นในโหมดการใช้งานเสริมส่วนใหญ่ เช่น -storepasswd. เพื่อกำจัดทั้งหมด
การใช้เอาต์พุต: 2>/dev/null 1>&2 เป็นต้น
-ใน, -รายละเอียด
พิมพ์ข้อมูลเพิ่มเติมไปที่ stderr
-บีจี
ไปที่พื้นหลังหลังจากตั้งค่าหน้าจอ ข้อความถึง stderr จะหายไปเว้นแต่ -o
ใช้ไฟล์บันทึก สิ่งนี้อาจมีประโยชน์ในสคริปต์:
port=`ssh -t $host "x11vnc -display :0 -bg" | grep PORT`
port=`echo "$port" | sed -e 's/PORT=//'`
port=`expr $พอร์ต - 5900`
vncviewer $โฮสต์:$พอร์ต
-ม็อดปรับแต่ง, -nomodtweak
ตัวเลือกเสริม (Option) -ม็อดปรับแต่ง พยายามปรับตัวแก้ไข AltGr และ Shift โดยอัตโนมัติสำหรับ
แป้นพิมพ์ภาษาต่างๆ ระหว่างไคลเอนต์และโฮสต์ มิฉะนั้นเพียงปุ่มเดียว
การจำลองการกด/การปล่อยคีย์โค้ด (เช่น ละเว้นสถานะของตัวดัดแปลง:
ซึ่งมักจะใช้ได้กับคีย์บอร์ดที่เหมือนกัน) ยังมีประโยชน์ในการแก้ไขกรณีที่
Keysym ถูกผูกไว้กับหลายปุ่ม (เช่น "<" + ">" และ "," + "<") ค่าเริ่มต้น:
-ม็อดปรับแต่ง
หากคุณกำลังมีปัญหากับกุญแจและ -xkb or -noxkb, และสิ่งที่คล้ายคลึงกัน
ช่วยไม่ได้ พยายาม -nomodtweak
ในระบบ HP-UX บางระบบ มีข้อสังเกตว่ามีระบบการแมปคีย์แปลก ๆ โดยที่ a
คีย์โค้ดเดียวจะมีคีย์ซิม เช่น "#" สูงสุดสามครั้ง สามารถตรวจสอบได้ทาง
"xmodmap -pk" หรือ -dk ตัวเลือก. ความล้มเหลวคือเมื่อคุณพยายามพิมพ์ "#" มันให้ผล
"3". หากคุณพบปัญหานี้ ให้ลองตั้งค่าตัวแปรสภาพแวดล้อม
MODTWEAK_LOWEST=1 เพื่อดูว่าจะช่วยได้หรือไม่
-xkb, -noxkb
เมื่ออยู่ในโหมด modtweak ให้ใช้ส่วนขยาย XKEYBOARD (หากจอแสดงผล X รองรับ)
เพื่อทำการปรับแต่งปรับแต่ง สิ่งนี้ทรงพลังและควรลองถ้ามี
ยังคงมีปัญหาการแมปเมื่อใช้งาน -ม็อดปรับแต่ง ด้วยตัวมันเอง. ค่าเริ่มต้นคือการตรวจสอบ
คีย์ซิมทั่วไปบางคีย์ เช่น !, @, [ สามารถเข้าถึงได้ผ่าน . เท่านั้น -xkb โหมดและ if
จากนั้นเปิดใช้งานโหมดโดยอัตโนมัติ หากต้องการปิดใช้งานการตรวจจับอัตโนมัตินี้ให้ใช้
-noxkb.
เมื่อ -xkb โหมดเปิดใช้งานอยู่ คุณสามารถตั้งค่า env เหล่านี้ได้ วาร์ ใช้เฉพาะเมื่อมี
มีความกำกวมในการเลือกคีย์ (เช่น การทำแผนที่ไม่ใช่แบบหนึ่งต่อหนึ่ง)
NOKEYHITS=1: สำหรับการกดแป้นพิมพ์ ascii สูงสุด ไม่ใช้คำแนะนำคะแนนที่บันทึกไว้เมื่อคีย์เป็น
กดลง NOANYDOWN=1: สำหรับการกดแป้นขึ้นไม่ต้องค้นหาผ่าน
แป้นที่กดลงในปัจจุบัน KEYSDOWN=N: จำ N ปุ่มสุดท้ายที่กด
ลงสำหรับการผูกเมื่อกดแป้นขึ้น
-แคปล็อค
เมื่อเข้า -ม็อดปรับแต่ง (ค่าเริ่มต้น) หรือ -xkb โหมด หากคีย์ซิมอยู่ในช่วง AZ เข้ามา
ตรวจสอบเซิร์ฟเวอร์ X เพื่อดูว่ามีการตั้งค่า Caps_Lock ไว้หรือไม่ ถ้าไม่ใช่เทียม
กด Shift เพื่อสร้าง keysym การดำเนินการนี้จะทำให้ปุ่ม CapsLock ทำงาน
อย่างถูกต้องในบางสถานการณ์ คือ *ทั้ง* เครื่องดู VNC และ
เซิร์ฟเวอร์ x11vnc X อยู่ในสถานะเปิด CapsLock หากด้านใดด้านหนึ่งเปิด CapsLock และ
อื่น ๆ และแป้นพิมพ์ไม่ทำงานตามที่คุณคิดว่าควรจะเป็น
แก้ไขสถานะ CapsLock (คำใบ้: กด CapsLock ด้านในและด้านนอกของ
ผู้ชมสามารถช่วยสลับทั้งสองไปยังสถานะที่ถูกต้อง) อย่างไรก็ตาม เพื่อผลลัพธ์ที่ดีที่สุด
อย่าใช้ตัวเลือกนี้ แต่ให้เปิดใช้งาน CapsLock ที่ฝั่ง VNC viewer แทน *เท่านั้น*
(เช่นโดยการกด CapsLock นอกหน้าต่างแสดงด้วย -skip_lockkeys
ด้านล่าง). ลองรึยัง -nomodtweak สำหรับวิธีแก้ปัญหาที่เป็นไปได้
-skip_lockkeys, -noskip_lockkeys
ให้ x11vnc ละเว้น Caps_Lock, Shift_Lock, Num_Lock, Scroll_Lock keysyms ทั้งหมด
ที่ได้รับจากผู้ชม แนวคิดคือคุณกด Caps_Lock ที่ด้าน VNC Viewer แต่
ที่ไม่เปลี่ยนสถานะการล็อกในเซิร์ฟเวอร์ X ฝั่ง x11vnc อย่างไรก็ตามของคุณ
ตัวพิมพ์ใหญ่มาทับเส้นลวดและใช้อย่างถูกต้องกับ x11vnc-
ฝั่ง X เซิร์ฟเวอร์ โปรดทราบว่าโหมดนี้อาจไม่ทำในสิ่งที่คุณต้องการใน -nomodtweak โหมด.
นอกจากนี้ kludge สำหรับตัวเลข KP_n จะทำในโหมดนี้เสมอ: จะถูกจับคู่กับ
คีย์ซิมส์หลักปกติ ดูสิ่งนี้ด้วย -แคปล็อค ข้างต้น. ค่าเริ่มต้นคือ -noskip_lockkeys
-skip_keycodes เชือก
ละเว้นรายการคีย์โค้ดทศนิยมคั่นด้วยเครื่องหมายจุลภาค บางทีนี่อาจเป็นรหัสสำคัญ
ไม่ใช่บนแป้นพิมพ์ของคุณ แต่เซิร์ฟเวอร์ X ของคุณคิดว่ามีอยู่ ปัจจุบันใช้กับ .เท่านั้น
-xkb โหมด. ใช้ตัวเลือกนี้เพื่อช่วย x11vnc ในปัญหาย้อนกลับที่พยายามทำ
แก้ไข: Keysym -> Keycode เมื่อมีความคลุมเครือ (มากกว่าหนึ่งรหัสต่อ
คีย์ซิม). เรียกใช้ 'xmodmap -pk' เพื่อดูการแมปคีย์ของคุณ ตัวอย่าง: "-skip_keycodes
94,114"
-sloppy_keys
ตัวเลือกทดลองที่พยายามแก้ไขลักษณะการทำงานของคีย์ที่ "เลอะเทอะ" เช่นถ้าที่
ตัวแสดงที่คุณกด Shift+Key แต่แล้วปล่อย Shift ก่อน Key ที่ทำได้
ทำให้เกิดอักขระที่ไม่ต้องการเพิ่มเติม (โดยปกติระหว่างแป้นพิมพ์ที่แตกต่างกัน
ภาษา) ใช้ตัวเลือกนี้เฉพาะเมื่อคุณพบปัญหาเกี่ยวกับการกดแป้นพิมพ์บางรายการ
-skip_dups, -noskip_dups
โปรแกรมดู VNC บางตัวส่งเหตุการณ์สำคัญที่ทำซ้ำไปไม่ได้ เช่น คีย์ลง คีย์ลง คีย์-
ขึ้น ลงทั้งหมดสำหรับคีย์เดียวกัน หรือดาวน์ 20 ครั้งติดต่อกันสำหรับคีย์ตัวปรับแต่งเดียวกัน!
การตั้งค่า -skip_dups หมายถึงข้ามรายการที่ซ้ำกันเหล่านี้และเพียงแค่ดำเนินการกับเหตุการณ์แรก
หมายเหตุ: ผู้ดู VNC บางคนถือว่าพวกเขาสามารถส่งลงโดยไม่ต้องขึ้น
ดังนั้น คุณไม่ควรตั้งค่าตัวเลือกนี้สำหรับผู้ดูเหล่านี้ (อาการ: บางปุ่มไม่
ทำซ้ำอัตโนมัติ) ค่าเริ่มต้น: -noskip_dups
-add_keysyms, -noadd_keysyms
หากได้รับ Keysym จากตัวแสดง VNC และ Keysym นั้นไม่มีอยู่ใน X
เซิร์ฟเวอร์ จากนั้นเพิ่ม Keysym ให้กับการแมปแป้นพิมพ์ของเซิร์ฟเวอร์ X บนคีย์ที่ไม่ได้ใช้
Keysyms ที่เพิ่มเข้ามาจะถูกลบออกเป็นระยะและเมื่อ x11vnc ออก ค่าเริ่มต้น:
-add_keysyms
-clear_mods
เมื่อเริ่มต้นและออก ให้ล้างคีย์ตัวปรับแต่งโดยส่ง KeyRelease สำหรับแต่ละคีย์ ดิ
ตัวแก้ไขการล็อกถูกข้ามไป ใช้เพื่อล้างสถานะหากจอแสดงผลเป็น
ทิ้งไว้โดยไม่ได้ตั้งใจโดยมีการกดลง
-clear_keys
As -clear_mods, ยกเว้นพยายามปล่อยปุ่มใด ๆ ที่กดไว้ โปรดทราบว่าตัวเลือกนี้และ
-clear_mods สามารถรบกวนบุคคลที่พิมพ์บนแป้นพิมพ์จริงได้
-ลบทั้งหมด
As -clear_keys, ยกเว้นพยายามปลดล็อค CapsLock, NumLock ฯลฯ ด้วยเช่นกัน
-รีแมป เชือก
อ่านการแมป Keysym จากไฟล์ชื่อ เชือก. รูปแบบคือ Keysyms หนึ่งคู่ต่อ
บรรทัด (อาจเป็นชื่อหรือค่าฐานสิบหก) คั่นด้วยช่องว่าง หากไม่มีไฟล์ชื่อ เชือก
มีอยู่ แต่จะตีความเป็นรูปแบบนี้แทน: key1-key2,key3-key4,... See
ไฟล์ส่วนหัวสำหรับรายการชื่อ Keysym หรือใช้ XEV(1)
ในการแมปคีย์กับการคลิกปุ่ม ให้ใช้คีย์เสมือน "Button1", ... ฯลฯ เช่น:
"-รีแมป Super_R-ปุ่ม2" (มีประโยชน์สำหรับการวางบนแล็ปท็อป)
ฉันใช้สิ่งเหล่านี้หากเครื่องที่ฉันกำลังดูไม่มีล้อเลื่อนหรือไม่
เช่นเดียวกับการใช้สิ่งที่มี:
-รีแมป Super_R-Button4,เมนู-Button5 -รีแมป KP_Add-Button4,KP_Enter-Button5
อันแรกจะใช้บนพีซี อันหลังจะใช้กับ MacBook ทางนี้คนตัวเล็ก
สามารถใช้คีย์ที่ใช้เพื่อสร้างฮ็อพที่ใหญ่กว่าลูกศรขึ้นและลงได้
สามารถเลื่อนดูข้อความหรือหน้าเว็บได้เร็วขึ้นด้วยวิธีนี้ (โดยเฉพาะถ้า
การตรวจจับการเลื่อน x11vnc เปิดใช้งานอยู่)
ใช้ Button44, Button12 ฯลฯ สำหรับการคลิกหลายครั้ง
ในการปิดการใช้งานคีย์ซิม (เช่น ทำให้มันไม่ถูกฉีด) ทำการแมปใหม่ไปที่
"ไม่มีสัญลักษณ์" หรือ "ไม่มี"
ปุ่ม Dead: ปุ่ม "ตาย" (หรือเงียบ, ปิดเสียง) เป็นปุ่มที่ไม่สร้างตัวอักษร
แต่ต้องตามด้วยการกดแป้นครั้งที่ 2 มักใช้สำหรับการเน้นเสียง
อักขระ เช่น ใส่ "`" ที่ด้านบนของ "a" โดยกดปุ่ม dead ตามด้วย "a"
โปรดทราบว่าการตีความนี้ไม่ได้เป็นส่วนหนึ่งของคอร์ X11 แต่ขึ้นอยู่กับชุดเครื่องมือหรือ
แอปพลิเคชันเพื่อตัดสินใจว่าจะตอบสนองต่อลำดับอย่างไร ชื่อ X11 สำหรับสิ่งเหล่านี้
keysyms คือ "dead_grave", "dead_acute" เป็นต้น อย่างไรก็ตาม ผู้ดู VNC บางคนส่ง
keysyms "grave", "acute" แทนดังนั้นจึงปิดการใช้งานการเน้นเสียง ในการทำงาน
นี้ -รีแมป สามารถใช้ได้. ตัวอย่างเช่น "-รีแมป Grave-dead_grave,เฉียบพลัน-dead_acute"
เพื่อความสะดวก”-รีแมป ตาย" ใช้การรีแมปเหล่านี้:
g Grave-dead_grave
acute-dead_acute
ค asciicircum-dead_circumflex
t asciitilde-dead_tilde
m macron-dead_macron
b breve-dead_breve
D เหนือจุด-dead_abovedot
d diaeresis-dead_diaeresis
o องศา-dead_aboovering
doubleacute-dead_doubleacute
r caron-dead_caron
อี cedilla-dead_cedilla
หากคุณต้องการแค่เซตย่อย ให้ใช้ป้ายกำกับตัวอักษรตัวแรก เช่น "-รีแมป ตาย = ga"ที่จะได้รับ
สองคนแรก อาจมีการรีแมปเพิ่มเติมด้วยเครื่องหมายจุลภาค เช่น "-รีแมป
DEAD=ga,Super_R-ปุ่ม2" สุดท้าย "DEAD=missing" หมายถึง ใช้ทั้งหมดที่กล่าวมา
ตราบใดที่สมาชิกมือซ้ายไม่ได้อยู่ในคีย์แมป X11
-นอร์พีท -ทำซ้ำ
ตัวเลือกเสริม (Option) -ไม่ทำซ้ำ ปิดใช้งานคีย์เซิร์ฟเวอร์ X ซ้ำอัตโนมัติเมื่อเชื่อมต่อไคลเอ็นต์ VNC
และการป้อนข้อมูลด้วยแป้นพิมพ์ VNC ไม่ได้ใช้งานนานกว่า 5 นาที สิ่งนี้ใช้ได้รอบ ๆ
ข้อผิดพลาดการกดแป้นพิมพ์ซ้ำ (เกิดจากความล่าช้าในการประมวลผลนานระหว่างคีย์ลงและ
คีย์เหตุการณ์ไคลเอนต์: จากการเปลี่ยนแปลงหน้าจอขนาดใหญ่หรือเวลาแฝงสูง) ค่าเริ่มต้น:
-ไม่ทำซ้ำ
คุณสามารถตั้งค่า env วาร์ X11VNC_IDLE_TIMEOUT ถึงจำนวนวินาทีที่ไม่ได้ใช้งานของคุณ
ต้องการ (5 นาที = 300 วินาที)
หมายเหตุ: ฝั่งผู้ดู VNC ของคุณมีแนวโน้มที่จะทำซ้ำอัตโนมัติ ดังนั้นจึงไม่ขาดทุนเว้นแต่
มีคนอยู่ที่หน้าจอ X จริงพร้อมกัน
ใช้ "-ไม่ทำซ้ำ N" เพื่อตั้งค่าว่าจะรีเซ็ต nopeeat กี่ครั้งหากมีอย่างอื่น
(เช่น X session manager) เลิกทำ ค่าเริ่มต้นคือ 2 ใช้ค่าลบสำหรับ
รีเซ็ตได้ไม่จำกัด
-nofb
ละเว้นเฟรมบัฟเฟอร์วิดีโอ: ประมวลผลเฉพาะแป้นพิมพ์และตัวชี้เท่านั้น มีไว้สำหรับใช้กับ
การตั้งค่าจอภาพคู่ Win2VNC และ x2vnc
-โนเบล
อย่าดูเหตุการณ์ XBell (จะไม่ได้ยินเสียงบี๊บ) หมายเหตุ: การตรวจสอบ XBell
ต้องการส่วนขยาย XKEYBOARD
-จมูก
อย่าจัดการการแลกเปลี่ยนการเลือก X/cutbuffer ระหว่างผู้ดู VNC และ X
เซิร์ฟเวอร์เลย
-ไม่มีหลัก
อย่าสำรวจการเลือก PRIMARY สำหรับการเปลี่ยนแปลงเพื่อส่งกลับไปยังไคลเอนต์ (หลักคือ
ยังคงตั้งค่าในการเปลี่ยนแปลงที่ได้รับอย่างไรก็ตาม)
-nosetprimary
อย่าตั้งค่าการเลือก PRIMARY สำหรับการเปลี่ยนแปลงที่ได้รับจากไคลเอ็นต์ VNC
-noclipboard
อย่าสำรวจการเลือก CLIPBOARD สำหรับการเปลี่ยนแปลงเพื่อส่งกลับไปยังไคลเอนต์
(อย่างไรก็ตาม CLIPBOARD ยังคงตั้งค่าตามการเปลี่ยนแปลงที่ได้รับ)
-คลิปบอร์ดจมูก
อย่าตั้งค่าการเลือก CLIPBOARD สำหรับการเปลี่ยนแปลงที่ได้รับจากไคลเอ็นต์ VNC
-เซลเดอร์ เชือก
หากสตริงทิศทางคือ "ส่ง" ให้ส่งเฉพาะส่วนที่เลือกไปยังผู้ชม และถ้าเป็น
"recv" รับเฉพาะจากผู้ชมเท่านั้น วิธีแก้ไขแอพตั้งค่าการเลือกด้วย
บ่อยครั้งและทำให้ปลายอีกด้านหนึ่งยุ่งเหยิง คุณสามารถใส่เครื่องหมายจุลภาคคั่นได้จริง
รายการเส้นทาง รวมถึง "ดีบัก" เพื่อเปิดเอาต์พุตการดีบัก
-เคอร์เซอร์ [โหมด], -nocursor
กำหนดลักษณะรูปร่างเคอร์เซอร์ของตัวชี้ (ไอคอนเล็กๆ ที่ตัวชี้เมาส์) ควรเป็น
จัดการ สตริง "โหมด" เป็นทางเลือกและอธิบายไว้ด้านล่าง ค่าเริ่มต้นคือto
แสดงรูปร่างเคอร์เซอร์บางประเภท การดำเนินการนี้ขึ้นอยู่กับตัวแสดง VNC และ
เซิร์ฟเวอร์ X ใช้ -nocursor เพื่อปิดการใช้งานรูปร่างเคอร์เซอร์อย่างสมบูรณ์
โปรแกรมดู VNC บางตัวรองรับ TightVNC CursorPosUpdates และ CursorShapeUpdates
ส่วนขยาย (ลดการรับส่งข้อมูลเครือข่ายโดยไม่ต้องส่งเคอร์เซอร์อิมเมจ
ทุกครั้งที่ย้ายตัวชี้) ซึ่งในกรณีนี้จะใช้ส่วนขยายเหล่านี้ (ดู
-ไม่มีเคอร์เซอร์รูปร่าง และ -nocursorpos ด้านล่างเพื่อปิดการใช้งาน) สำหรับผู้ชมรายอื่นเคอร์เซอร์
รูปร่างจะถูกเขียนโดยตรงไปยังเฟรมบัฟเฟอร์ทุกครั้งที่ตัวชี้ถูกย้ายหรือ
เปลี่ยนและส่งไปพร้อมกับการอัพเดต framebuffer อื่นๆ ในกรณีนี้,
จะมีความล่าช้าบ้างระหว่างตัวชี้ vnc viewer และเคอร์เซอร์ระยะไกล
ตำแหน่ง
หากจอแสดงผล X รองรับการดึงข้อมูลรูปร่างเคอร์เซอร์จาก X
เซิร์ฟเวอร์ ดังนั้นค่าเริ่มต้นคือการใช้โหมดนั้น บน Solaris สามารถทำได้ด้วย
SUN_OVL ส่วนขยายโดยใช้ -โอเวอร์เลย์ (ดูที่ -overlay_nocursor ตัวเลือก). อา
รูปแบบการวางซ้อนที่คล้ายกันนี้ใช้กับ IRIX Xorg (เช่น Linux) และ Solaris Xsun . ล่าสุด
เซิร์ฟเวอร์รองรับส่วนขยาย XFIXES เพื่อดึงรูปร่างเคอร์เซอร์ที่แน่นอนจากX
เซิร์ฟเวอร์ หากมี XFIXES อยู่ จะเป็นการดีกว่า Overlay และใช้โดยค่าเริ่มต้น
(ดู -noxfixes ด้านล่าง). สามารถปิดใช้งานได้ด้วย -ไม่มีเคอร์เซอร์ และค่านิยมบางอย่าง
ของตัวเลือก "โหมด" ด้านล่าง
โปรดทราบว่าภายใต้เคอร์เซอร์ XFIXES ที่มีความโปร่งใส (ช่องอัลฟา) มักจะไม่
ถูกแสดงอย่างถูกต้องและอาจพบว่าโอเวอร์เลย์ดีกว่า ดูเพิ่มเติมที่ -ตัวอักษร
และ -อัลฟาแฟรค ตัวเลือกด้านล่างเป็นปัจจัยเหลวไหลเพื่อพยายามปรับปรุงสถานการณ์สำหรับ
เคอร์เซอร์ที่มีความโปร่งใสสำหรับธีมที่กำหนด
สามารถใช้สตริง "mode" เพื่อปรับแต่งการแสดงรูปร่างเคอร์เซอร์ได้ มันสามารถ
ใช้วิธีดังต่อไปนี้:
"-เคอร์เซอร์ ลูกศร" - เพียงแค่แสดงลูกศรมาตรฐานไม่มีอะไรมากหรือน้อย
"-เคอร์เซอร์ ไม่มี" - เหมือนกับ "-nocursor"
"-เคอร์เซอร์ X" - เมื่อเคอร์เซอร์ปรากฏบนหน้าต่างรูท ให้วาด X . ที่คุ้นเคย
รูปร่าง. เดสก์ท็อปบางเครื่อง เช่น GNOME จะปิดหน้าต่างรูททั้งหมด เป็นต้น
วิธีนี้ใช้ไม่ได้ผล ให้ลองใช้ "X1" ฯลฯ เพื่อพยายามเปลี่ยนความลึกของต้นไม้ เวลาแฝงสูง
ลิงค์หรือเครื่องช้าจะมีการหน่วงเวลาระหว่างที่คาดไว้และที่เกิดขึ้นจริง
รูปร่างเคอร์เซอร์
"-เคอร์เซอร์ บาง" - เช่น "X" แต่ใช้การวิเคราะห์พฤติกรรมเพิ่มเติมเพื่อลองเดาว่า
หน้าต่างควรมีเคอร์เซอร์ตัวปรับขนาดเหมือนตัวจัดการหน้าต่างหรือป้อนข้อความ I-beam
เคอร์เซอร์. นี่เป็นแฮ็คที่สมบูรณ์ แต่อาจมีประโยชน์ในบางสถานการณ์เพราะมัน
ให้ความคิดเห็นเพิ่มเติมเล็กน้อยเกี่ยวกับรูปร่างเคอร์เซอร์
"-เคอร์เซอร์ มากที่สุด" - พยายามแสดงเคอร์เซอร์ให้มากที่สุด มักจะเป็น
เหมือนกับ "บางส่วน" เว้นแต่จอแสดงผลจะมีภาพซ้อนทับหรือส่วนขยาย XFIXES
มีอยู่. บน Solaris และ IRIX หากไม่มี XFIXES -โอเวอร์เลย์ โหมดจะเป็น
พยายาม
-cursor_drag
แสดงรูปร่างเคอร์เซอร์ที่เปลี่ยนไปแม้ในขณะที่ลากเมาส์ด้วยปุ่มเมาส์
ลง. สิ่งนี้มีประโยชน์หากคุณต้องการเห็นไอคอนเคอร์เซอร์แบบลากแล้ววาง
เป็นต้น
- ลูกศร n
เลือกเคอร์เซอร์ "ลูกศร" อื่นจากชุดของเคอร์เซอร์ทั่วไป n สามารถเป็น 1 ถึง
6. ค่าเริ่มต้นคือ: 1 ละเว้นเมื่ออยู่ในโหมดจับเคอร์เซอร์ XFIXES
-noxfixes
อย่าใช้นามสกุล XFIXES เพื่อวาดรูปร่างเคอร์เซอร์ที่แน่นอนแม้ว่าจะเป็น
ใช้ได้
หมายเหตุ: เพื่อแก้ไขข้อขัดข้องใน Xorg 1.5 และใหม่กว่านั้น ผู้ใช้บางคนจำเป็นต้องใช้
-noxfixes ความผิดพลาดของ Xorg เกิดขึ้นทันทีหลังจากการเข้าสู่ระบบ Display Manager (เช่น GDM)
เริ่มต้นด้วย x11vnc 0.9.9 จะพยายามหลีกเลี่ยงการใช้ XFIXES โดยอัตโนมัติจนกว่าจะเป็น
แน่ใจว่าตัวจัดการหน้าต่างกำลังทำงานอยู่ ดู - เปิดใหม่ ตัวเลือกสำหรับข้อมูลเพิ่มเติมและวิธีการ
ใช้ X11VNC_AVOID_WINDOWS=ไม่เคยปิดการใช้งาน
-ตัวอักษร n
เมื่อใช้นามสกุล XFIXES สำหรับรูปร่างเคอร์เซอร์ เคอร์เซอร์ด้วยความโปร่งใส
มักจะไม่แสดงทุกประการ (แต่แบบทึบจะแสดง) ตัวเลือกนี้ตั้งค่า n
เป็นทางลัดสำหรับเคอร์เซอร์ที่มีความโปร่งใส ("ช่องอัลฟา" ด้วยค่าต่างๆ
ตั้งแต่ 0 ถึง 255) เคอร์เซอร์พิกเซลใดๆ ที่มีค่าอัลฟาน้อยกว่า n จะสมบูรณ์
โปร่งใส. มิฉะนั้น พิกเซลจะทึบแสงอย่างสมบูรณ์ ค่าเริ่มต้น 240
-อัลฟาแฟรค เศษ
ด้วยเกณฑ์ใน -ตัวอักษร เคอร์เซอร์บางตัวจะเกือบสมบูรณ์
โปร่งใสเพราะค่าอัลฟาไม่สูงพอ สำหรับเคอร์เซอร์เหล่านั้น
ปรับเกณฑ์อัลฟาจนถึงเศษส่วนของพิกเซลช่องอัลฟาที่ไม่ใช่ศูนย์
กลายเป็นทึบแสง ค่าเริ่มต้น0.33
-ตัวอักษรย้าย
ตามค่าเริ่มต้น พิกเซลเคอร์เซอร์ XFIXES ที่มีความโปร่งใสจะมีแฟกเตอร์อัลฟา
คูณกับค่าสี RGB (เช่น ที่สอดคล้องกับการผสม
เคอร์เซอร์ที่มีพื้นหลังสีดำ) ระบุตัวเลือกนี้เพื่อลบปัจจัยอัลฟา
(มีประโยชน์สำหรับเคอร์เซอร์กึ่งโปร่งแสงสีอ่อน)
-โนอัลฟาเบลนด์
ในโหมด XFIXES อย่าส่งข้อมูลเคอร์เซอร์อัลฟาแชนเนลไปยัง LibVNCServer ค่าเริ่มต้น
คือการส่ง เอฟเฟกต์ alphablend จะปรากฏเฉพาะใน -ไม่มีเคอร์เซอร์รูปร่าง โหมด
หรือสำหรับลูกค้าที่ปิดการอัพเดตเคอร์เซอร์ (อย่างไรก็ตามมีแฮ็คสำหรับ
32bpp ที่มีความลึก 24 ใช้พิเศษ 8 บิตเพื่อเก็บความโปร่งใสของเคอร์เซอร์สำหรับการใช้งาน
ด้วย vncviewer ที่ถูกแฮ็กซึ่งใช้ความโปร่งใสในเครื่อง ดูคำถามที่พบบ่อยสำหรับ
ข้อมูลเพิ่มเติม).
-ไม่มีเคอร์เซอร์รูปร่าง
อย่าใช้ส่วนขยาย TightVNC CursorShapeUpdates แม้ว่าไคลเอ็นต์จะสนับสนุนก็ตาม
ดู -เคอร์เซอร์ ครีมมาสคาโปนชีส ด้านบน
-เคอร์เซอร์โพส -nocursorpos
ตัวเลือกเสริม (Option) -เคอร์เซอร์โพส เปิดใช้งานการส่งตำแหน่งเคอร์เซอร์ X กลับไปยังไคลเอนต์ vnc ทั้งหมด
ที่รองรับส่วนขยาย TightVNC CursorPosUpdates ลูกค้ารายอื่นจะสามารถ
เพื่อดูการเคลื่อนไหวของตัวชี้ ค่าเริ่มต้น: -เคอร์เซอร์โพส
-xwarppointer, -noxwarppointer
เลื่อนตัวชี้ด้วย XWarpPointer(3X) แทนส่วนขยาย XTEST ใช้สิ่งนี้เป็น
วิธีแก้ปัญหาหากการเคลื่อนไหวของตัวชี้ทำงานไม่ถูกต้อง เช่น บนหน้าจอสัมผัสหรือ
การตั้งค่าที่ไม่ได้มาตรฐานอื่นๆ
บางครั้งจำเป็นต้องใช้ในการแสดงผล XINERAMA และเปิดใช้งานโดยค่าเริ่มต้น if
พบว่า XINERAMA ทำงานอยู่ เพื่อป้องกันสิ่งนี้ ใช้ -noxwarppointer
-always_ฉีด
แม้ว่าจะไม่มีการกระจัด (dx = dy = 0) สำหรับเหตุการณ์เมาส์ VNC บังคับให้
ตัวชี้ไปยังตำแหน่ง x,y ที่ระบุต่อไป ชุดเครื่องมือ gui ล่าสุด (2009) (gnome)
มีปัญหากับวิธีการฉีดด้วยเมาส์ดั้งเดิมของ x11vnc ดังนั้น x11vnc's
แก้ไขวิธีการป้อนข้อมูลด้วยเมาส์แล้ว เพื่อให้ได้พฤติกรรม OLD กลับมาใช้
ตัวเลือกนี้: - เสมอ_ฉีด จากนั้น x11vnc จะบังคับวางตำแหน่งเมาส์เสมอ
ไปที่ตำแหน่ง x,y แม้ว่าตำแหน่งนั้นจะไม่เปลี่ยนแปลงตั้งแต่VNC .ครั้งก่อน
เหตุการณ์อินพุต
ที่แรกที่พบปัญหานี้อยู่ในเทอร์มินัล gnome: หากคุณกดและ
ปล่อยปุ่มเมาส์ 3 เมนูถูกโพสต์และองค์ประกอบแรก 'New Terminal
หน้าต่าง' ถูกเปิดใช้งาน นี่เป็นเพราะ x11vnc ฉีดตำแหน่งเมาส์สองครั้ง:
หนึ่งครั้งบน ButtonPress และอีกครั้งบน ButtonRelease ชุดเครื่องมือตีความ 2nd
หนึ่งเหมือนการเคลื่อนไหวของเมาส์แม้ว่าเมาส์จะไม่ขยับก็ตาม ดังนั้นตามค่าเริ่มต้น x11vnc
พยายามหลีกเลี่ยงการฉีดครั้งที่ 2
โปรดทราบว่าด้วยค่าเริ่มต้น x11vnc ใหม่จะไม่สนใจแอปพลิเคชันที่ย้าย
ตัวชี้ (การบิดเบี้ยว) หรือผู้ใช้ที่หน้าจอทางกายภาพเคลื่อนย้าย ดังนั้นมันอาจจะ
เช่น ฉีด ButtonRelease ผิดตำแหน่ง หากสิ่งนี้ (หรือสถานการณ์ที่คล้ายกัน)
ทำให้เกิดปัญหาในสภาพแวดล้อมของคุณ ระบุ -always_ฉีด สำหรับวิธีการแบบเก่า
ปุ่มแผนที่ เชือก
สตริงเพื่อทำการแมปปุ่มเมาส์ใหม่ รูปแบบ: IJK-LMN ปุ่มแมปนี้ I -> L ฯลฯ
เช่น ปุ่มแผนที่ 13-31
การกดปุ่มยังสามารถจับคู่กับการกดแป้น: แทนที่หลักปุ่มบน
ทางขวาของเส้นประด้วย : : หรือ : + : ฯลฯ สำหรับหลายปุ่ม สำหรับ
เช่น ถ้าเครื่องดูมี mouse wheel (ปุ่ม 4 5) แต่ด้าน x11vnc
ไม่ได้ สิ่งเหล่านี้จะทำสกรอลล์:
ปุ่มแผนที่ 12345-123:ก่อนหน้า::ถัดไป:
ปุ่มแผนที่ 12345-123:ขึ้น+ขึ้น+ขึ้น::ลง+ลง+ลง:
ดู ไฟล์ส่วนหัวสำหรับรายการ Keysyms หรือใช้ XEV(1) โปรแกรม
หมายเหตุ: การแมปของการคลิกปุ่มกับ Keysyms อาจไม่ทำงานหาก -ม็อดปรับแต่ง or -xkb is
ที่จำเป็นสำหรับ Keysym
หากคุณใส่ตัวแก้ไข เช่น "Shift_L" สถานะขึ้น/ลงของตัวแก้ไขจะถูกสลับ
เช่นในการส่ง "The" use :Shift_L+t+Shift_L+h+e: (อันที่ 1 คือ shift down และ
อันที่ 2 เลื่อนขึ้น) (หมายเหตุ: สถานะเริ่มต้นของตัวแก้ไขจะถูกละเว้นและไม่ใช่
รีเซ็ต) หากต้องการรวมเหตุการณ์ของปุ่ม ให้ใช้ "Button1", ... เป็นต้น
ปุ่มแผนที่ ปัจจุบันไม่ทำงานบนคอนโซล MacOSX หรือใน -rawfb โหมด.
วิธีแก้ปัญหา: ใช้ ปุ่มแผนที่ IJ...-LM...=n เพื่อจำกัดจำนวนปุ่มเมาส์ไว้ที่ n,
เช่น 123-123=3. วิธีนี้จะป้องกันไม่ให้ x11vnc หยุดทำงานหากเซิร์ฟเวอร์ X รายงาน
มี 5 ปุ่ม (ล้อเลื่อน 4/5) แต่จริงๆ แล้วมีแค่ 3 ปุ่ม
-พยักหน้า
อย่าอัปเดตการแสดงผลระหว่างเหตุการณ์การลากเมาส์ (กดปุ่มเมาส์ค้างไว้)
ปรับปรุงการตอบสนองอย่างมากในการตั้งค่าที่ช้า แต่คุณสูญเสียการตอบกลับด้วยภาพทั้งหมดสำหรับ
การลาก การเลือกข้อความ และการข้ามผ่านบางเมนู มันแทนที่ใด ๆ -ตัวชี้_โหมด
การตั้งค่า
-cache n
รูปแบบการแคชฝั่งไคลเอ็นต์ หน่วยความจำเฟรมบัฟเฟอร์ n (จำนวนเต็ม) คูณกับของ
การแสดงผลแบบเต็มถูกจัดสรรไว้ด้านล่างเฟรมบัฟเฟอร์จริงเพื่อแคชเนื้อหาหน้าจอสำหรับ
การดึงข้อมูลอย่างรวดเร็ว ดังนั้นเฟรมบัฟเฟอร์ W x H จึงขยายเป็น W x (n+1)*H อัน ใช้ 0 ถึง
ปิดการใช้งาน
การขอ n เป็นทางเลือกจริง ๆ ค่าเริ่มต้นคือ 10
สำหรับสิ่งนี้และอื่น ๆ -แคช* ตัวเลือกด้านล่างคุณสามารถย่อ "-cache"กับ
"-nc". อีกด้วย, "-ไม่ใช่" เหมือนกับ "-cache 0"
นี่เป็นตัวเลือกทดลอง ซึ่งปัจจุบันมีการใช้งานในลักษณะที่น่าอึดอัดใจใน
VNC Viewer คุณสามารถดูเนื้อหาแคชพิกเซลได้หากคุณเลื่อนลง ฯลฯ ดังนั้น
คุณจะต้องตั้งค่าต่างๆ เพื่อไม่ให้มองเห็นภูมิภาคนั้น ถ้าวิธีนี้คือ
สำเร็จ การเปลี่ยนแปลงที่จำเป็นสำหรับลูกค้าในการทำเช่นนี้น้อยลงจะเป็น
การตรวจสอบ
โปรแกรมดู SSVNC ทำงานได้ดีในการซ่อนพื้นที่แคชพิกเซลโดยอัตโนมัติ
หรือใช้ SSVNC's -พืชชนิดหนึ่ง ตัวเลือกในการซ่อนภูมิภาคอย่างชัดเจน
โปรดทราบว่าโหมดนี้ใช้หน่วยความจำจำนวนมาก ทั้งบนเซิร์ฟเวอร์ x11vnc
ด้านข้างและด้าน VNC Viewer ถ้า n=2 จำนวน RAM ที่ใช้จะประมาณ
เพิ่มเป็นสามเท่าสำหรับทั้ง x11vnc และ VNC Viewer ตามหลักทั่วไป พึงระลึกไว้ว่า
1280x1024 ที่ความลึก 24 คือข้อมูลพิกเซลประมาณ 5MB
เพื่อการตอบสนองที่สมเหตุสมผลเมื่อวนผ่าน 4 ถึง 6 ขนาดใหญ่ (เช่น เว็บเบราว์เซอร์)
แนะนำให้ใช้ windows ค่า n จาก 6 ถึง 12 (ใช่แล้ว: หน่วยความจำเพิ่มขึ้น ~10X...)
เนื่องจากวิธีใช้งาน window backingstore และ saveunders n จะต้องเป็น
สม่ำเสมอ. จะเพิ่มขึ้น 1 ถ้าไม่ใช่
โหมดนี้ยังใช้งานได้กับ MacOS X ดั้งเดิม แต่อาจไม่ได้ผลเท่ากับ X
รุ่น ทั้งนี้เนื่องมาจากหลายสิ่ง ประการหนึ่งคือ การซ้อนเงา
ที่ทิ้งพื้นที่พิเศษที่ต้องซ่อมแซม (ดู -cache_pad) อีกอย่างคือ
จำเป็นต้องหลีกเลี่ยงภาพเคลื่อนไหวไอคอนหน้าต่าง (ดู -แมคซิคอนไทม์) แต่ดูเหมือนว่ามัน
โหมดแอนิเมชั่น 'Scale' นั้นให้ผลลัพธ์ที่ดีกว่าโหมด 'Genie'
นอกจากนี้ การตรวจหาเหตุการณ์ของหน้าต่างยังไม่ถูกต้องเท่าเวอร์ชัน X
-cache_cr
In -cache โหมดพยายามย้าย / ลากหน้าต่างทึบแสงแทนการ wireframes
(สิ่งนี้สามารถทำให้เกิดข้อผิดพลาดในการวาดภาพ) โครงลวดจะยังคงใช้เมื่อย้าย a
หน้าต่างที่ยังไม่ได้ตั้งค่าบันทึกอันเดอร์หรือถูกทำให้ใช้งานไม่ได้
ตัวแสดง VNC บางตัวให้การตอบสนองได้ดีกว่าตัวอื่นด้วยตัวเลือกนี้ บนยูนิกซ์
โปรแกรมดู realvnc ให้การลากที่นุ่มนวลกว่าโปรแกรมดู tightvnc การตอบสนองอาจจะ
ขาด ๆ หาย ๆ ถ้าเครื่องฝั่งเซิร์ฟเวอร์ช้าเกินไป
บางครั้งในการเชื่อมต่อโมเด็มที่ช้ามาก สิ่งนี้ช่วยปรับปรุงได้จริง
เพราะไม่มีข้อมูลพิกเซลเลย (แม้แต่แอนิเมชั่นกล่อง) ถูกส่งไปในระหว่างการลาก
-ncache_no_moveraise
In -cache โหมดอย่าคิดว่าการย้ายหน้าต่างจะทำให้ตัวจัดการหน้าต่าง
เพื่อยกขึ้นไปบนสุดของสแต็ก ค่าดีฟอลต์คือสมมติว่าเป็นเช่นนั้น และดังนั้น ที่
จุดเริ่มต้นของโครงลวด ฯลฯ หน้าต่างย้ายหน้าต่างจะถูกผลักไปด้านบน
ในโปรแกรมดู VNC
-cache_no_dtchange
In -cache โหมดอย่าพยายามเดาเมื่อเดสก์ท็อป (วิวพอร์ต) เปลี่ยนไปเป็นอย่างอื่น
หนึ่ง (เช่นพื้นที่ทำงานอื่น) ค่าเริ่มต้นคือพยายามเดาและเมื่อตรวจพบการลอง
เพื่อให้ทรานสิชั่นราบรื่นขึ้น
-cache_no_rootpixmap
In -cache โหมดอย่าพยายามสแน็ปช็อตพื้นหลังเดสก์ท็อปเพื่อใช้ในการเดา
หรือสร้างหน้าต่างบันทึกอันเดอร์ใหม่
-ncache_keep_anims
In -cache โหมดอย่าพยายามปิดการใช้งานแอนิเมชั่นตัวจัดการหน้าต่างและเอฟเฟกต์อื่น ๆ
(ซึ่งมักจะลดประสิทธิภาพของ ncache หรือทำให้เกิดข้อผิดพลาดในการวาดภาพ) ค่าเริ่มต้นคือ
เพื่อพยายามปิดการใช้งานบน KDE (แต่ไม่ใช่ GNOME) เมื่อเชื่อมต่อไคลเอ็นต์ VNC
สำหรับตัวจัดการหน้าต่างหรือเดสก์ท็อปอื่นๆ ที่มีแอนิเมชั่น เอฟเฟกต์
การเรียงซ้อน ความโปร่งแสง ฯลฯ ที่รบกวน -cache วิธีที่คุณจะ
ต้องปิดการใช้งานด้วยตนเอง
-cache_old_wm
In -cache โหมด เปิดใช้งานการวิเคราะห์พฤติกรรมบางอย่างสำหรับตัวจัดการหน้าต่างแบบเก่า เช่น fvwm
และทีเอ็ม
-cache_pad n
In -cache โหมด แทรกแต่ละหน้าต่างด้วย n พิกเซลสำหรับสี่เหลี่ยมแคช นี้
สามารถใช้เพื่อพยายามปรับปรุงสถานการณ์ด้วย dropshadows หรือองค์ประกอบอื่น ๆ
(เช่นตัวจัดการหน้าต่าง MacOS X) แม้ว่ามันจะทำให้สิ่งเลวร้ายลง ค่าเริ่มต้นคือ
0 บน Unix และ 24 บน MacOS X
-debug_cache
เปิดการดีบักและโปรไฟล์เอาต์พุตภายใต้ -แคช
-โครงลวด [str] -ไม่มีโครงลวด
พยายามตรวจจับการเคลื่อนไหวของหน้าต่างหรือปรับขนาดเมื่อกดปุ่มเมาส์ค้างไว้และแสดง a
โครงลวดแทนหน้าต่างทึบเต็ม นี้จะขึ้นอยู่กับ
heuristics และอาจใช้ไม่ได้เสมอไป: ขึ้นอยู่กับตัวจัดการหน้าต่างของคุณและแม้กระทั่งวิธีการ
คุณเคลื่อนย้ายสิ่งของต่างๆ ดู -ตัวชี้_โหมด ด้านล่างสำหรับการอภิปรายของ "bogging
ลง" ปัญหาที่พยายามหลีกเลี่ยง ค่าเริ่มต้น: -โครงลวด
นามแฝงที่สั้นกว่า: -wf [str] และ -ตอนนี้
ค่า "str" เป็นทางเลือก และแน่นอนว่ามีพารามิเตอร์ที่ปรับได้มากมาย
สำหรับโครงการนี้:
รูปแบบ: shade,linewidth,percent,T+B+L+R,mod,t1+t2+t3+t4 ค่าเริ่มต้น:
0xff,2,0,32+8+8+8,all,0.15+0.30+5.0+0.125
ถ้าคุณไม่เว้นว่างไว้ระหว่างเครื่องหมายจุลภาค: "," ค่าดีฟอลต์จะถูกใช้ ถ้าคุณไม่
ระบุเครื่องหมายจุลภาคเพียงพอ พารามิเตอร์ต่อท้ายถูกกำหนดเป็นค่าเริ่มต้น
"เฉดสี" หมายถึง "สี" สำหรับโครงลวด โดยปกติแล้วจะเป็นระดับสีเทา: 0-255 อย่างไรก็ตาม
สำหรับ 16 และ 32bpp คุณสามารถระบุสี rgb.txt X (เช่น "dodgerblue") หรือค่า
> 255 จะถือว่าเป็น RGB (เช่น สีแดงคือ 0xff0000) "linewidth" กำหนดความกว้างของ
โครงร่างเป็นพิกเซล "เปอร์เซ็นต์" แสดงว่าไม่ใช้โครงร่างโครงร่างกับ
หน้าต่างที่มีพื้นที่น้อยกว่าเปอร์เซ็นต์นี้ของเต็มหน้าจอ
"T+B+L+R" ระบุจำนวนเต็มสี่จำนวนสำหรับระยะพิกเซลที่พอยน์เตอร์ต้องอยู่ใกล้
จากขอบบน ล่าง ซ้าย หรือขวาของหน้าต่างเพื่อพิจารณาการวางโครงลวด
นี่คือการเร่งความเร็วเพื่อแยกหน้าต่างจากการเป็นไวร์เฟรมอย่างรวดเร็ว: ตั้งค่าทั้งหมด
เป็นศูนย์ที่จะไม่ลองเพิ่มความเร็ว (การเลื่อนและเลือกข้อความจะเป็น
ช้าลง)
"mod" ระบุว่าเหตุการณ์ปุ่มลงภายในหน้าต่างด้วย a
คีย์ตัวแก้ไข (Alt, Shift เป็นต้น) ลงควรระบุโอกาสของโครงร่าง มัน
สามารถเป็น "0" หรือ "ไม่มี" เพื่อข้ามไป "1" หรือ "ทั้งหมด" เพื่อนำไปใช้กับตัวแก้ไขใด ๆ หรือ
"Shift", "Alt", "Control", "Meta", "Super" หรือ "Hyper" เพื่อใช้กับประเภทนั้นเท่านั้น
ของคีย์ตัวแก้ไข
"t1+t2+t3+t4" ระบุจุดทศนิยมสี่ครั้งในหน่วยวินาที: t1 คือระยะเวลาที่จะรอ
สำหรับตัวชี้ที่จะย้าย t2 คือระยะเวลาที่จะรอให้หน้าต่างเริ่มเคลื่อนที่หรือ
กำลังถูกปรับขนาด (สำหรับตัวจัดการหน้าต่างบางตัวอาจค่อนข้างยาว) t3 คือระยะเวลาในการ
ให้โครงลวดเคลื่อนที่ก่อนทาสีหน้าต่างใหม่ t4 คือเวลาขั้นต่ำ
ระหว่างการส่ง "ภาพเคลื่อนไหว" โครงลวด หากตรวจพบลิงก์ที่ช้า ค่าเหล่านี้
อาจถูกเปลี่ยนเป็นบางอย่างที่ดีกว่าโดยอัตโนมัติสำหรับลิงก์ที่ช้า
-nowireframelocal
ตามค่าเริ่มต้น การเคลื่อนไหวของเมาส์และการกดปุ่มของผู้ใช้นั่งอยู่ที่หน้าจอ LOCAL
ได้รับการตรวจสอบสำหรับโอกาสในการวางสาย (เพื่อให้การเปลี่ยนแปลงจะถูกส่ง
ให้กับลูกค้า VNC ได้อย่างมีประสิทธิภาพ) ใช้ตัวเลือกนี้เพื่อปิดใช้งานลักษณะการทำงานนี้
-wirecopyrect โหมด, -nowirecopyrect
ตั้งแต่ -โครงลวด กลไกจะติดตามหน้าต่างที่เคลื่อนที่ได้อย่างแม่นยำ a
สามารถรับ speedup ได้โดยบอกผู้ดู VNC ให้คัดลอกคำแปลในเครื่อง
ภูมิภาคหน้าต่าง นี่คือการเข้ารหัส VNC CopyRect: การอัปเดต framebuffer ไม่ได้
ต้องส่งข้อมูลภาพจริงใหม่
นามแฝงที่สั้นกว่า: -wcr [โหมด] และ -ตอนนี้cr
"โหมด" อาจเป็น "ไม่เคย" ได้ (เหมือนกับ -nowirecopyrect) ที่จะไม่พยายามลอกเลียนแบบ "ท็อป"
หมายถึงทำก็ต่อเมื่อไม่มีหน้าต่างอื่นบังหน้าต่าง และ "เสมอ"
หมายถึงการแปลภาคที่ไม่มีอะไรบังเดิม (อาจดูแปลกเหมือน
ชิ้นที่เหลือเข้ามา แต่ช่วยในลิงค์ช้า) ค่าเริ่มต้น: "เสมอ"
หมายเหตุ: อาจมีข้อผิดพลาดในการวาดภาพหรือการตอบสนองช้าเมื่อใช้ - สเกล ดังนั้นคุณอาจ
ต้องการปิดการใช้งาน CopyRect ในกรณีนี้ "-wirecopyrect ไม่เคย" บนบรรทัดคำสั่งหรือ
โดยการควบคุมระยะไกล หรือคุณยังสามารถใช้ "- สเกล xxx:nocr" ตัวเลือกมาตราส่วน
-debug_wireframe
เปิดการพิมพ์ข้อมูลการดีบักสำหรับการวิเคราะห์พฤติกรรมของโครงลวด "-dwf" เป็นนามแฝง
ระบุหลายครั้งสำหรับการส่งออกเพิ่มเติม
-scrollcopyrect โหมด, -noscrollcopyrect
Like -wirecopyrect, แต่ใช้ฮิวริสติกเพื่อลองเดาว่าหน้าต่างเลื่อนหรือไม่
เนื้อหา (ทั้งในแนวตั้งหรือแนวนอน) สิ่งนี้ต้องใช้ส่วนขยาย RECORD X
เพื่อ "สอดแนม" บนแอปพลิเคชัน X (ปัจจุบันสำหรับ XCopyArea และ XConfigureWindow
คำขอโปรโตคอล X) ตัวอย่าง: การตี ในหน้าต่างเทอร์มินัลเมื่อ
เคอร์เซอร์อยู่ที่ด้านล่าง ข้อความเลื่อนขึ้นหนึ่งบรรทัด ตี ลูกศรใน
หน้าต่างเว็บเบราว์เซอร์ หน้าเว็บเลื่อนขึ้นเล็กน้อย หรือเลื่อนด้วย
แถบเลื่อนหรือล้อเลื่อนของเมาส์
นามแฝงที่สั้นกว่า: -sc [โหมด] และ -noscr
แบบแผนนี้จะไม่ตรวจจับการเลื่อนเสมอ แต่เมื่อทำจะมีสิ่งที่ดี
เร่งความเร็วจากการใช้การเข้ารหัส VNC CopyRect (ดู -wirecopyrect) การเร่งความเร็วคือ
ทั้งในทราฟฟิกเครือข่ายที่ลดลงและการโพล/คัดลอก X framebuffer ที่ลดลง บน
อีกนัยหนึ่งอาจก่อให้เกิดชั่วขณะที่ไม่ต้องการ (เช่น เคอร์เซอร์ปลายทางเป็น
เลื่อนขึ้นเมื่อไม่ควร) หรือข้อผิดพลาดในการวาดภาพอื่น ๆ (หน้าต่างฉีกขาด
รวบรัด ฯลฯ) สิ่งเหล่านี้จะได้รับการซ่อมแซมโดยอัตโนมัติในระยะเวลาอันสั้น ถ้า
นี้เป็นที่ยอมรับไม่ได้ปิดการใช้งานคุณสมบัติด้วย -noscrollcopyrect.
กากเพชรล้างหน้าจอ: สำหรับการทดสอบอย่างน้อยมี "คีย์วิเศษ ."
ลำดับ" (ต้องทำในเวลาน้อยกว่า 1 วินาที) เพื่อช่วยแก้ไขข้อผิดพลาดในการวาดภาพ
ที่อาจเห็นได้เมื่อใช้โหมดนี้:
3 Alt_L ติดกัน: ส่งทั้งหน้าจออีกครั้ง 4 Alt_L เรียงกัน: อ่านซ้ำและส่งใหม่
ทั้งหน้าจอ, 3 Super_L ติดต่อกัน: ทำเครื่องหมายทั้งหน้าจอสำหรับการเลือกตั้ง, 4 Super_L ในหนึ่ง
แถว: รีเซ็ตบริบท RECORD 5 Super_L ติดต่อกัน: ลองกดหน้าจอสีดำ
หมายเหตุ: Alt_L คือปุ่ม "Alt" ด้านซ้าย (ปุ่มเดียว) Super_L คือปุ่ม "Super" ด้านซ้าย
(ธง Windows). ทั้งสองนี้เป็นคีย์ตัวปรับแต่ง ดังนั้นไม่ควรสร้าง
ตัวอักษรเมื่อกดเอง นอกจากนี้ โปรแกรมดู VNC ของคุณอาจมี
รีเฟรชปุ่มลัดหรือปุ่ม
"โหมด" อาจเป็น "ไม่เคย" ได้ (เหมือนกับ -noscrollcopyrect) ที่จะไม่พยายามลอกเลียนแบบ "กุญแจ"
หมายความว่า ลองใช้เพื่อตอบสนองต่อการกดแป้นเท่านั้น "เมาส์" หมายถึง ลองใช้ในการตอบกลับ
สำหรับเหตุการณ์ของเมาส์เท่านั้น "เสมอ" หมายถึงทำทั้งสองอย่าง ค่าเริ่มต้น: "เสมอ"
หมายเหตุ: อาจมีข้อผิดพลาดในการวาดภาพหรือการตอบสนองช้าเมื่อใช้ - สเกล ดังนั้นคุณอาจ
ต้องการปิดการใช้งาน CopyRect ในกรณีนี้ "-scrollcopyrect ไม่เคย" บนบรรทัดคำสั่ง
หรือโดยการควบคุมระยะไกล หรือคุณยังสามารถใช้ "- สเกล xxx:nocr" ตัวเลือกมาตราส่วน
-scr_area n
กำหนดพื้นที่ขั้นต่ำเป็นพิกเซลสำหรับสี่เหลี่ยมผืนผ้าที่จะพิจารณาสำหรับ
-scrollcopyrect รูปแบบการตรวจจับ เพื่อหลีกเลี่ยงการสูญเสียความพยายามในเรื่องเล็ก
สี่เหลี่ยมที่จะปรับปรุงอย่างรวดเร็วตามปกติ เช่น สมมติว่าแอป
อัปเดตตำแหน่งของแถบเลื่อนแบบบางก่อนแล้วจึงเลื่อนแผงขนาดใหญ่
มันควบคุม เราต้องการให้แน่ใจว่าได้ข้ามแถบเลื่อนขนาดเล็กและรับขนาดใหญ่
แผงหน้าปัด. ค่าเริ่มต้น: 60000
-scr_skip รายการ
ข้ามการตรวจจับการเลื่อนสำหรับแอปพลิเคชันที่ตรงกับรายการสตริงที่คั่นด้วยเครื่องหมายจุลภาค
in รายการ. แอปพลิเคชั่นบางตัวใช้การเลื่อนในลักษณะแปลก ๆ โดยที่
XCopyArea ฯลฯ ยังใช้กับส่วนที่มองไม่เห็นของหน้าต่างด้วย: หากเรา CopyRect
พื้นที่เหล่านั้นมันดูแย่มากในระหว่างการเลื่อนและอาจมีข้อผิดพลาดในการวาดภาพเหลืออยู่
หลังจากเลื่อน Soffice.bin เป็นผู้กระทำผิดที่รู้จักกันดีที่สุด
ใช้ "##" เพื่อแสดงการเริ่มต้นของคลาสแอปพลิเคชัน (เช่น "##XTerm") และ "++" ถึง
หมายถึงจุดเริ่มต้นของชื่ออินสแตนซ์ของแอปพลิเคชัน (เช่น "++xterm") สตริง
รายการของคุณที่ตรงกันคืออยู่ในรูปแบบ "^^WM_NAME##Class++Instance
any-subwindows>" "xlsclients ." -ลา" คำสั่งจะให้ข้อมูลนี้
หากรูปแบบนำหน้าด้วย "KEY:" จะใช้เฉพาะกับ Keystroke ที่สร้างการเลื่อน
(เช่นลูกศรขึ้น). หากขึ้นต้นด้วย "MOUSE:" จะใช้เฉพาะกับ Mouse induced
เลื่อน (เช่น การลากบนแถบเลื่อน) ค่าเริ่มต้น:
##Soffice.bin,##StarOffice,##OpenOffice
-scr_inc รายการ
ตรงกันข้ามกับ -scr_skip: รายการนี้มีการปรึกษาหารือกันก่อน และหากมีรายการที่ตรงกัน
หน้าต่างจะถูกตรวจสอบผ่าน RECORD สำหรับการเลื่อนโดยไม่คำนึงถึง -scr_skip. ใช้
-scr_skip '*' เพื่อข้ามสิ่งที่ไม่ตรงกับของคุณ -scr_inc ใช้ -scr_inc '*'
เพื่อรวมทุกอย่าง
-scr_keys รายการ
สำหรับการตรวจจับการเลื่อนการกดแป้นพิมพ์ ใช้เฉพาะการวิเคราะห์พฤติกรรมของ RECORD กับเครื่องหมายจุลภาค
แยกรายการคีย์ซิมส์ใน รายการ. คุณอาจพบค่าใช้จ่าย RECORD สำหรับทุกคน
การกดแป้นของคุณรบกวนการพิมพ์มากเกินไป แต่คุณไม่ต้องการปิด
อย่างสมบูรณ์ด้วย "-sc เม้าส์"และ -scr_parms ใช้งานไม่ได้หรือสับสนเกินไป
คีย์ซิมส์ที่แสดงในรายการอาจเป็นตัวเลขหรือชื่อคีย์ซิมใน
ไฟล์ส่วนหัวหรือจาก XEV(1) โปรแกรม ตัวอย่าง: "-scr_keys ขึ้น ลง กลับ". หนึ่ง
อาจต้องการมีรายการเฉพาะแอปพลิเคชัน (เช่น สำหรับเทอร์มินัล ฯลฯ) แต่
ที่แย่เกินกว่าจะคิดได้ในตอนนี้...
If รายการ เริ่มต้นด้วยอักขระ "-" รายการจะถูกนำมาเป็นรายการที่ไม่รวม: all
keysyms ยกเว้นรายการเหล่านั้นจะได้รับการพิจารณา สตริงพิเศษ "ในตัว" ขยาย
ไปยังรายการคีย์ซิมส์ภายในที่มีแนวโน้มว่าจะทำให้เกิดการเลื่อน BTW โดยค่าเริ่มต้น
คีย์ตัวปรับแต่ง, Shift_L, Control_R ฯลฯ ถูกข้ามไปเนื่องจากแทบไม่มีการกระตุ้น
เลื่อนด้วยตัวเอง
-scr_term รายการ
แป้งเครื่องสำอางอีกชิ้นหนึ่ง ใช้การวิเคราะห์พฤติกรรมของเชลล์/เทอร์มินัลกับแอปพลิเคชัน
รายการที่คั่นด้วยเครื่องหมายจุลภาคที่ตรงกัน (เหมือนกับfor -scr_skip/-scr_inc) ตัวอย่างเช่นไฟล์
ชั่วคราวที่น่ารำคาญภายใต้การตรวจจับการเลื่อนคือถ้าคุณกด Enter ในเทอร์มินัลเชลล์
ด้วยหน้าต่างข้อความแบบเต็ม บล็อกเคอร์เซอร์ข้อความทึบจะถูกเลื่อนขึ้น ดังนั้นสำหรับ
เวลาสั้น ๆ มีเคอร์เซอร์บล็อกสองตัว (หรือมากกว่า) บนหน้าจอ มีความคล้ายคลึงกัน
สถานการณ์สมมติ (เช่น บรรทัดเอาต์พุตซ้ำกัน)
ชั่วครู่เหล่านี้เกิดจากการประมาณการของการตรวจจับการเลื่อน (เช่น it
ตรวจพบการเลื่อน แต่ไม่ใช่ความจริงที่ว่าเคอร์เซอร์บล็อกถูกล้างก่อนหน้านี้
เลื่อน) ในเกือบทุกกรณีข้อผิดพลาดชั่วคราวเหล่านี้จะได้รับการซ่อมแซมเมื่อค่า true
X framebuffer ได้รับการพิจารณาจากการหยั่งเสียงปกติ แต่พวกเขากำลังเสียสมาธิดังนั้น
สิ่งที่ตัวเลือกนี้มีให้คือ "ช่องว่างภายใน" เพิ่มเติมบริเวณด้านล่างของเทอร์มินัล
หน้าต่าง: เส้นพิเศษสองสามบรรทัดใกล้ด้านล่างจะไม่ถูกเลื่อน แต่จะอัปเดตแทน
จาก X framebuffer จริง ซึ่งมักจะลดสิ่งประดิษฐ์ที่น่ารำคาญ ใช้
"ไม่มี" เพื่อปิดการใช้งาน ค่าเริ่มต้น: "เทอม"
-scr_keyrepeat ฮ่าๆ
หากคีย์ถูกกดค้างไว้ (หรือกดซ้ำอย่างรวดเร็ว) และสิ่งนี้ทำให้เกิดความรวดเร็ว
ลำดับของการเลื่อน (เช่น กดปุ่มลูกศรค้างไว้) การตรวจจับ "scrollcopyrect"
และค่าโสหุ้ยอาจจะตามไม่ทัน เวลาต่อการประมาณการเลื่อนครั้งเดียวคือ
ดำเนินการและหากการประมาณนั้นคาดการณ์อัตราการเลื่อนของคีย์ต่อวินาทีที่ยั่งยืน
ระหว่าง "lo" และ "hi" จากนั้นคีย์ที่ซ้ำกันจะถูกละทิ้งเพื่อรักษา
เลื่อน ตัวอย่างเช่น คีย์อัตโนมัติของคุณอาจเป็น 25 คีย์/วินาที แต่สำหรับคีย์ขนาดใหญ่
หน้าต่างหรือลิงค์ช้าเพียง 8 ม้วนต่อวินาทีสามารถคงอยู่จากนั้นประมาณ 2 ออก
ของทุกๆ 3 คีย์ซ้ำจะถูกยกเลิกในช่วงเวลานี้ ค่าเริ่มต้น: "4-20"
-scr_parms เชือก
ตั้งค่าพารามิเตอร์ต่างๆ สำหรับโหมด scrollcopyrect รูปแบบคล้ายกับว่า
สำหรับ -โครงลวด และเต็มไปด้วยพารามิเตอร์มากมาย:
Format: T+B+L+R,t1+t2+t3,s1+s2+s3+s4+s5 Default:
0+64+32+32,0.02+0.10+0.9,0.03+0.06+0.5+0.1+5.0
ถ้าคุณไม่เว้นว่างไว้ระหว่างเครื่องหมายจุลภาค: "," ค่าดีฟอลต์จะถูกใช้ ถ้าคุณไม่
ระบุเครื่องหมายจุลภาคเพียงพอ พารามิเตอร์ต่อท้ายถูกกำหนดเป็นค่าเริ่มต้น
"T+B+L+R" ระบุจำนวนเต็มสี่จำนวนสำหรับระยะพิกเซลที่พอยน์เตอร์ต้องอยู่ใกล้
จากขอบบน ล่าง ซ้าย หรือขวาของหน้าต่างเพื่อพิจารณา
scrollcopyrect. ถ้า -โครงลวด ทับซ้อนกันจะมีความสำคัญ นี่คือการเร่งความเร็วเพื่อ
แยกหน้าต่างจากการดูอย่างรวดเร็วสำหรับ scrollcopyrect: ตั้งค่าทั้งหมดเป็น
ศูนย์ที่จะไม่ลองเพิ่มความเร็ว (สิ่งต่าง ๆ เช่นการเลือกข้อความอาจจะช้าลง)
"t1+t2+t3" ระบุจุดทศนิยมสามเท่าในหน่วยวินาทีที่ใช้กับ
การตรวจจับ scrollcopyrect ด้วยอินพุต *Keystroke*: t1 คือระยะเวลารอหลังจากคีย์
ถูกกดสำหรับการเลื่อนครั้งแรก t2 คือระยะเวลาในการดูแลการกดแป้นพิมพ์
เลื่อนเพื่อดูการเลื่อนเพิ่มเติม t3 คือความถี่ในการพยายามอัปเดตรอบข้าง
แถบเลื่อนนอกพื้นที่เลื่อน (0.0 เพื่อปิดใช้งาน)
"s1+s2+s3+s4+s5" ระบุเวลาทศนิยมห้าครั้งในหน่วยวินาทีที่ใช้กับ
การตรวจจับ scrollcopyrect ด้วยอินพุต *Mouse*: s1 คือระยะเวลารอหลังจาก mouse
กดปุ่มเลื่อนครั้งแรก s2 ต้องรอนานเท่าไร
เลื่อนเพิ่มเติมหลังจากตรวจพบการเลื่อนเมาส์ครั้งแรก s3 คือความถี่
เพื่อพยายามอัปเดตแถบเลื่อนที่อยู่รอบๆ นอกพื้นที่การเลื่อน (0.0 ถึง
ปิดการใช้งาน) s4 คือระยะเวลาในการบัฟเฟอร์การเคลื่อนไหวของตัวชี้ (เพื่อพยายามทำให้น้อยลง ใหญ่ขึ้น
เลื่อนเมาส์) s5 คือเวลาสูงสุดในการอัปเดตหน้าต่างเลื่อน
โดยไม่ต้องอัปเดตส่วนที่เหลือของหน้าจอ
- แก้ไขหน้าจอ เชือก
"ซ่อมแซม" หน้าจอเป็นระยะตามการตั้งค่าใน เชือก. หวังว่าคุณจะไม่
ต้องการตัวเลือกนี้ มันมีไว้สำหรับกรณีที่ -scrollcopyrect or
-wirecopyrect คุณสมบัติทำให้เกิดข้อผิดพลาดในการวาดภาพมากเกินไป แต่สามารถใช้ได้กับทุกกรณี
สถานการณ์ ตัวเลือกนี้ทำการดำเนินการที่มีค่าใช้จ่ายสูงเป็นระยะและโต้ตอบได้
การตอบสนองอาจลดลงเมื่อเปิดเครื่อง คุณสามารถใช้ 3 Alt_L (ปุ่ม "Alt" ด้านซ้าย)
ก๊อกเป็นแถว (ตามที่อธิบายไว้ใน -scrollcopyrect) แทนที่จะขอด้วยตนเอง
ทาสีหน้าจอใหม่เมื่อจำเป็น
เชือก เป็นรายการที่คั่นด้วยเครื่องหมายจุลภาคของอย่างน้อยหนึ่งรายการต่อไปนี้: "V=t", "C=t",
"X=t" และ "8=t" ใน "t" เหล่านี้หมายถึงเวลาในหน่วยวินาที (เป็นลอยตัว
ชี้แม้ว่าโดยปกติควรใช้ค่า > 2 เพื่อหลีกเลี่ยงการสูญเสียทรัพยากร) วี
กำหนดความถี่ในการส่งทั้งหน้าจอไปยังผู้ชม (เหมือนกับ 3
Alt_L) C กำหนดระยะเวลารอหลังจาก CopyRect เพื่อทาสีใหม่เต็มหน้าจอ X
กำหนดความถี่ในการอ่าน X11 framebuffer แบบเต็มจากเซิร์ฟเวอร์ X และกด
ออกสู่ผู้ชมที่เชื่อมต่อ การใช้ X น่าจะเกิดขึ้นได้ยาก โปรดรายงานจุดบกพร่องหากคุณ
พบว่าคุณต้องการมัน 8= ใช้สำหรับ .เท่านั้น -8ถึง24 โหมด: มันกำหนดความถี่ที่ไม่
พื้นที่ภาพเริ่มต้นของหน้าจอ (เช่น 8bpp windows) จะถูกรีเฟรช ตัวอย่าง:
- แก้ไขหน้าจอ V = 10 - แก้ไขหน้าจอ C = 10
-debug_scroll
เปิดการพิมพ์ข้อมูลการดีบักสำหรับการวิเคราะห์พฤติกรรมการเลื่อน "-ds" เป็นนามแฝง
ระบุหลายครั้งเพื่อให้ได้ผลลัพธ์มากขึ้น
-noxrecord
ปิดการใช้งานส่วนขยาย RECORD ปัจจุบันนี้ถูกใช้โดย
-scrollcopyrect โครงการและเพื่อตรวจสอบการคว้าเซิร์ฟเวอร์ X
-grab_buster, -nograb_buster
การใช้ส่วนขยาย RECORD บางส่วนอาจทำให้หน้าต่างเล็ก ๆ สำหรับ XGrabServer
การหยุดชะงัก นี่เป็นเฉพาะในกรณีที่แอปพลิเคชันโลภทั้งเซิร์ฟเวอร์คาดว่าเมาส์หรือ
ป้อนข้อมูลด้วยแป้นพิมพ์ก่อนปล่อยการคว้า มักจะเป็นโปรแกรมจัดการหน้าต่างที่ทำ
นี้. x11vnc ดูแลเพื่อหลีกเลี่ยงปัญหา แต่ถ้าจับได้ x11vnc จะหยุดทำงาน
ไม่มี -grab_buster, ทางออกเดียวคือไปแสดงทางกายภาพและให้มัน
อินพุตบางส่วนเพื่อตอบสนองแอพโลภ หรือฆ่าและรีสตาร์ทหน้าต่างด้วยตนเอง
ผู้จัดการถ้าเป็นไปได้ กับ -grab_buster, x11vnc จะแยกเธรดตัวช่วย
และถ้า x11vnc ดูเหมือนจะติดค้างหลังจากผ่านไประยะหนึ่ง (20-30 วินาที) แล้ว
มันจะแทรกข้อมูลผู้ใช้บางส่วน: การคลิกปุ่ม, Escape, การเคลื่อนไหวของเมาส์ ฯลฯ เพื่อลอง
ทำลายคว้า หากคุณประสบปัญหาการหยุดชะงักของ Grab โปรดรายงานจุดบกพร่อง
-debug_grabs
เปิดการพิมพ์ข้อมูลการดีบักที่เกี่ยวข้องกับ XGrabServer() การชะงักงันสำหรับ
-scrollcopyrect__mode_
-debug_sel
เปิดการพิมพ์ข้อมูลการดีบักที่เกี่ยวข้องกับ PRIMARY, CLIPBOARD และ CUTBUFFER0
การเลือก
-ตัวชี้_โหมด n
รูปแบบการอัปเดตการเคลื่อนไหวของตัวชี้ต่างๆ "-น" เป็นนามแฝง ปัญหาอยู่ที่ตัวชี้
การเคลื่อนไหวสามารถทำให้เกิดการเปลี่ยนแปลงอย่างรวดเร็วบนหน้าจอ: พิจารณาการเปลี่ยนแปลงอย่างรวดเร็วเมื่อคุณ
ลากหน้าต่างบานใหญ่ไปรอบๆ แบบทึบ ไม่มีการสำรวจหน้าจอของ x11vnc และ vnc
รูทีนการบีบอัดหรือแบนด์วิดท์ไปยัง vncviewers สามารถติดตามข้อมูลเหล่านี้ได้อย่างรวดเร็ว
การเปลี่ยนแปลงหน้าจอ: ทุกอย่างจะจมลงเมื่อลากหรือเลื่อน ดังนั้นโครงการ
ต้องใช้เพื่อ "กิน" อินพุตของพอยน์เตอร์นั้นให้มากก่อนที่จะโพลหน้าจอและ
ส่งการอัปเดต framebuffer หมายเลขโหมด n สามารถเป็น 0 ถึง 4 และเลือกหนึ่งใน
แผนงานที่อธิบายไว้ด้านล่าง
โปรดทราบว่า -โครงลวด และ -scrollcopyrect__mode_s ส่วนประกอบ -ตัวชี้_โหมด by
การตรวจจับ (และปรับปรุง) ช่วงเวลาหนึ่งของ "การเปลี่ยนแปลงหน้าจออย่างรวดเร็ว"
n=0: ทำเหมือนกับ - พยักหน้า (การหยั่งเสียงหน้าจอทั้งหมดจะถูกระงับหากเมาส์
กดปุ่ม)
n=1: เป็นแบบแผนเดิมที่เคยใช้เมื่อประมาณม.ค. 2004: โดยพื้นฐานแล้วก็แค่ข้ามไป
-input_skip เหตุการณ์แป้นพิมพ์หรือตัวชี้ก่อนที่จะทำซ้ำหน้าจอ
n=2 เป็นรูปแบบที่ได้รับการปรับปรุง: โดยดูอัตราปัจจุบันของเหตุการณ์อินพุตที่พยายามจะ
ตรวจสอบว่าควรพยายาม "กิน" เหตุการณ์ตัวชี้เพิ่มเติมก่อนดำเนินการต่อหรือไม่
n=3 นั้นเป็นไดนามิก -พยักหน้า โหมด: ตรวจพบเมื่อการเคลื่อนไหวของเมาส์มี
หยุดชั่วคราวแล้วรีเฟรชจอแสดงผล
n=4 พยายามวัดอัตราเครือข่ายและเวลาแฝง อัตราการอ่านการ์ดแสดงผล และ
จำนวนกระเบื้องที่มีการเปลี่ยนแปลงบนหน้าจอ จากนี้ไปก็พยายามอย่างจริงจัง
เพื่อดันหน้าจอ "เฟรม" เมื่อตัดสินใจว่ามีทรัพยากรเพียงพอที่จะทำเช่นนั้น ไม่
เสร็จ.
ค่าเริ่มต้น n คือ 2 โปรดทราบว่าโหมด 2, 3, 4 จะข้าม -input_skip เหตุการณ์แป้นพิมพ์
(แต่จะไม่นับเหตุการณ์ตัวชี้) โปรดทราบว่าโหมดเหล่านี้ไม่ใช่
พร้อมใช้งานใน -กระทู้ โหมดที่มีกลไกการจัดการเหตุการณ์ตัวชี้ของตัวเอง
เพื่อลองใช้โหมดตัวชี้ต่างๆ เพื่อดูว่าโหมดใดตอบสนองได้ดีที่สุดสำหรับ
การใช้งานของคุณจะสะดวกต่อการใช้งานฟังก์ชั่นรีโมทคอนโทรล เช่น
"x11vnc -R pm:4" หรือ tcl/tk gui (การปรับ -> pointer_mode -> n)
-input_skip n
สำหรับการจัดการพอยน์เตอร์เมื่อไม่มีเธรด: ลองอ่าน n เหตุการณ์อินพุตของผู้ใช้ก่อน
จอแสดงผลการสแกน n < 0 หมายถึงทำราวกับว่ามีอินพุตของผู้ใช้อยู่เสมอ
ค่าเริ่มต้น: 10
-อัลลินพุท
ให้ x11vnc อ่านและประมวลผลอินพุตของไคลเอ็นต์ที่มีอยู่ทั้งหมดก่อนดำเนินการต่อ
-input_กระตือรือร้น
คล้ายกับ -อัลลินพุท แต่ใช้กลไก handleEventsEagerly ที่สร้างขึ้นใน
เซิร์ฟเวอร์ LibVNC
- ความเร็ว ถ,bw,lat
x11vnc พยายามประมาณค่าพารามิเตอร์ความเร็วบางอย่างที่ใช้ในการปรับการตั้งเวลาให้เหมาะสม
(เช่น -ตัวชี้_โหมด 4, -โครงลวด, -scrollcopyrect) และสิ่งอื่น ๆ. ใช้
- ความเร็ว ตัวเลือกในการตั้งค่าเหล่านี้ด้วยตนเอง ทริปเปิ้ล ถ,bw,lat สอดคล้องกับวิดีโอ
อัตราการอ่าน h/w ในหน่วย MB/วินาที แบนด์วิดท์เครือข่ายไปยังไคลเอ็นต์ในหน่วย KB/วินาที และเครือข่าย
เวลาในการตอบสนองกับไคลเอ็นต์ในหน่วยมิลลิวินาทีตามลำดับ หากปล่อยค่าว่างไว้ เช่น
"-speeds ,100,15" จากนั้นโครงร่างภายในจะถูกใช้เพื่อประมาณค่าว่าง
การ์ดวิดีโอพีซีทั่วไปมีอัตราการอ่าน 5-10 MB/วินาที หากเฟรมบัฟเฟอร์อยู่ใน
หน่วยความจำหลักแทนวิดีโอ h/w (เช่น SunRay, shadowfb, ไดรเวอร์จำลอง, Xvfb)
อัตราการอ่านอาจเร็วกว่ามาก "x11perf -getimage500" ใช้ลดได้ค่ะ
ถูกผูกไว้ (อย่าลืมแยกตัวประกอบเป็นไบต์ต่อพิกเซล) ขึ้นอยู่กับคุณว่าจะประมาณการ
แบนด์วิดธ์เครือข่ายและเวลาแฝงให้กับลูกค้า สำหรับเวลาแฝง ปิง(1) คำสั่ง can
นำไปใช้
เพื่อความสะดวก มีนามแฝงให้เช่น "- ความเร็ว โมเด็ม". นามแฝง
คือ: "โมเด็ม" สำหรับ 6,4,200; "dsl" สำหรับ 6,100,50; และ "lan" สำหรับ 6,5000,1
-wmdt เชือก
สำหรับคุณสมบัติบางอย่าง เช่น -โครงลวด และ -scrollcopyrect, x11vnc ต้องแก้ไข
ปัญหาสำหรับตัวจัดการหน้าต่างหรือเดสก์ท็อปบางตัว (ปัจจุบันคือ kde และ xfce) โดย
ค่าเริ่มต้นจะพยายามเดาว่าอันไหน แต่สามารถเดาได้ไม่ถูกต้อง ใช้ตัวเลือกนี้
เพื่อระบุว่า wm/dt ใด เชือก อาจเป็น "gnome", "kde", "cde", "xfce" หรือ "root"
(คลาสสิก X wm). สิ่งอื่นใดจะถูกตีความว่าเป็น "ราก"
-debug_pointer
พิมพ์เอาต์พุตการดีบักสำหรับทุกเหตุการณ์ของตัวชี้
-debug_keyboard
พิมพ์เอาต์พุตการดีบักสำหรับทุกเหตุการณ์ของแป้นพิมพ์
เหมือนกับ -dp และ -dk, ตามลำดับ ใช้หลายครั้งเพื่อให้ได้ผลผลิตมากขึ้น
-เลื่อน เวลา
เวลาในหน่วย ms เพื่อชะลอการส่งการอัปเดตไปยังไคลเอนต์ที่เชื่อมต่อ (deferUpdateTime)
ค่าเริ่มต้น: 20
-รอ เวลา
เวลาในหน่วย ms เพื่อหยุดชั่วคราวระหว่างการสำรวจหน้าจอ ใช้เพื่อลดภาระ ค่าเริ่มต้น: 20
-พิเศษ_fbur n
ดำเนินการตรวจสอบ FrameBufferUpdateRequests เพิ่มเติมเพื่อพยายามซิงค์กับ
คำขอของลูกค้า สิ่งนี้ทำการสำรวจพิเศษของซ็อกเก็ตไคลเอนต์ที่
เวลาวิกฤต (ก่อนการเรียก '-defer' และ '-wait') ค่าเริ่มต้นคือ n=1 ตั้งเป็น
จำนวนมากขึ้นเพื่อแทรกการตรวจสอบเพิ่มเติมหรือตั้งค่าเป็น n=0 เพื่อปิดการใช้งาน ข้อเสียของสิ่งเหล่านี้
การโทรพิเศษคือการป้อนข้อมูลด้วยเมาส์มากกว่าที่ต้องการ
-รอ_ui ปัจจัย
ปัจจัยที่จะตัด -รอ เวลาหากมีการป้อนข้อมูลของผู้ใช้ล่าสุด (ตัวชี้
หรือแป้นพิมพ์) ปรับปรุงการตอบสนอง แต่เพิ่มภาระทุกครั้งที่คุณเคลื่อนไหว
เมาส์หรือการพิมพ์ ค่าเริ่มต้น: 2.00
-setdefer n
เมื่อราคาของ -รอ_ui กลไกลดเวลารอ ms ตั้งเวลาเลื่อนไปที่
ค่า ms เท่ากัน n=1 เพื่อเปิดใช้งาน 0 เพื่อปิดการใช้งานและ -1 เพื่อตั้งค่าการเลื่อนเป็น 0 (ไม่มีการหน่วงเวลา)
ในทำนองเดียวกัน 2 และ -2 ระบุว่าควรใช้โหมด 'urgent_update' เพื่อกด
อัปเดตได้เร็วยิ่งขึ้น ค่าเริ่มต้น: 1
-nowait_bog
ตรวจไม่พบว่าการหยั่งเสียงหน้าจอ "จม" และนอนหลับมากขึ้น บาง
กิจกรรมที่ไม่มีการป้อนข้อมูลจากผู้ใช้อาจทำให้สิ่งต่างๆ ช้าลงได้มาก: พิจารณาเทอร์มินัลขนาดใหญ่
หน้าต่างที่มีบิลด์แบบยาวทำงานอยู่ในนั้นสตรีมเอาต์พุตข้อความอย่างต่อเนื่อง โดย
ค่าเริ่มต้น x11vnc จะพยายามตรวจจับสิ่งนี้ (โพลหน้าจอ 3 หน้าจอติดต่อกันนานกว่า
0.25 วินาทีโดยไม่มีการป้อนข้อมูลจากผู้ใช้) และพักได้ถึง 1.5 วินาทีเพื่อให้ "ทัน"
ใช้ตัวเลือกนี้เพื่อปิดใช้งานการตรวจหานั้น
-slow_fb เวลา
เวลาจุดลอยตัวในหน่วยวินาทีเพื่อชะลอการหยั่งเสียงหน้าจอทั้งหมด เพื่อวัตถุประสงค์พิเศษ
การใช้งานที่อัตราเฟรมต่ำเป็นที่ยอมรับและเป็นที่ต้องการ แต่คุณต้องการผู้ใช้
อินพุตประมวลผลในอัตราปกติดังนั้นคุณจึงไม่สามารถใช้ -รอ.
-xrefresh เวลา
เวลาทศนิยมในหน่วยวินาทีเพื่อระบุความถี่ที่จะทำเทียบเท่า
รีเฟรช(1) บังคับหน้าต่างทั้งหมด (ในบริเวณที่มองเห็นได้ if -NS, -ซิด or -คลิป is
ใช้) เพื่อทาสีใหม่เอง ใช้สิ่งนี้เฉพาะเมื่อแอปพลิเคชันทำงานผิดปกติโดยไม่ได้
ทาสีตัวเองอย่างถูกต้อง ดูสิ่งนี้ด้วย -noxdamage
- งีบ -นอน
ตรวจสอบกิจกรรมและหากต่ำให้งีบนานระหว่างการสำรวจหน้าจอถึงจริงๆ
ลดภาระเมื่อไม่ได้ใช้งาน ค่าเริ่มต้น: งีบหลับ
-ส เวลา
เวลาเป็นวินาทีหลังจากไม่มีกิจกรรม (เช่น หน้าจอว่างเปล่า) เพื่อลดความเร็วลงจริงๆ
แบบสำรวจหน้าจอ (เช่น นอนหลับประมาณ 1.5 วินาที) ใช้ 0 เพื่อปิดการใช้งาน ค่าเริ่มต้น: 60 Set
สิ่งแวดล้อม วาร์ X11VNC_SB_FACTOR เพื่อปรับขนาด
-หมดเวลาอ่าน n
ตั้งค่า LibVNCServer rfbMaxClientWait เป็น n วินาที บนลิงค์ช้าที่ใช้เวลานาน
การลงสีหน้าจอแรก LibVNCServer อาจหมดเวลาและยกเลิกการเชื่อมต่อ
ค่าเริ่มต้น: 20 วินาที
- กำลัง n
ส่งการอัปเดต framebuffer 1x1 ไปยังไคลเอนต์ทั้งหมดทุก ๆ n วินาที (เช่นพยายามเก็บ
การเชื่อมต่อเครือข่ายมีชีวิตอยู่)
-nofbpm, -fbpm
หากระบบรองรับส่วนขยาย FBPM (Frame Buffer Power Management) (เช่น
ระบบซันบางระบบ) จากนั้นป้องกันไม่ให้วิดีโอ h/w เข้าสู่สถานะพลังงานที่ลดลง
เมื่อเชื่อมต่อไคลเอ็นต์ VNC
วิดีโอที่รองรับ FBPM h/w ช่วยประหยัดพลังงานเมื่อเวิร์กสเตชันไม่ได้ใช้งานโดยลดระดับลง
สถานะพลังงาน (คล้ายกับ DPMS สำหรับจอภาพ) สิ่งนี้รบกวนการหยั่งเสียงของ x11vnc
ของข้อมูลเฟรมบัฟเฟอร์
"-nofbpm" หมายถึงป้องกันสถานะพลังงานต่ำ FBPM ทุกครั้งที่เชื่อมต่อไคลเอนต์ VNC
ในขณะที่ "-fbpm" หมายถึงไม่ตรวจสอบสถานะ FBPM เลย ดู xset(1) หน้าจัดการ
เพื่อดูรายละเอียด -nofbpm โดยพื้นฐานแล้วเหมือนกับการเรียกใช้ "xset fbpm force on"
เป็นระยะ ค่าเริ่มต้น: -fbpm
-พยักหน้า -dpms
หากระบบรองรับส่วนขยาย DPMS (Display Power Management Signaling)
จากนั้นป้องกันไม่ให้จอภาพเข้าสู่สถานะพลังงานที่ลดลงเมื่อไคลเอ็นต์ VNC อยู่
เกี่ยวข้อง
สถานะการตรวจสอบพลังงานที่ลดลง DPMS เป็นสิ่งที่ดีและโดยปกติคุณต้องการพลังงาน
ลงที่จะเกิดขึ้น (โดยปกติ x11vnc ไม่มีปัญหาในการส่งออกการแสดงผลในนี้
สถานะ). คุณอาจต้องการใช้ "-พยักหน้า" เพื่อแก้ปัญหากับ
โปรแกรมรักษาหน้าจอเริ่มทำงานในสถานะพลังงานต่ำ DPMS มีปัญหาที่ทราบกับ
kdesktop_lock บน KDE โดยที่โปรแกรมรักษาหน้าจอเริ่มทำงานทุกครั้งที่ผู้ใช้ป้อนข้อมูล
หยุดหนึ่งหรือสองวินาที ระบุ "-พยักหน้า" ทำงานรอบๆ
"-พยักหน้า" หมายถึงป้องกันสถานะพลังงานต่ำ DPMS ทุกครั้งที่เชื่อมต่อไคลเอนต์ VNC
ในขณะที่ "-dpms" หมายถึงไม่ตรวจสอบสถานะ DPMS เลย ดู xset(1) หน้าจัดการ
เพื่อดูรายละเอียด -พยักหน้า โดยพื้นฐานแล้วเหมือนกับการรัน "xset dpms force on"
เป็นระยะ ค่าเริ่มต้น: -dpms
-บังคับน
หากระบบรองรับส่วนขยาย DPMS (Display Power Management Signaling)
จากนั้นพยายามให้จอภาพอยู่ในสถานะปิดเครื่อง เพื่อป้องกันจมูก
คนที่แสดงผลทางกายภาพจากการดูสิ่งที่อยู่บนหน้าจอ อย่าลืมล็อค
หน้าจอก่อนตัดการเชื่อมต่อ
วิธีนี้อยู่ไกลจากการพิสูจน์อักษร เช่น สมมติว่ามีคนแนบไฟล์ที่ไม่ใช่ DPMS
ตรวจสอบหรือโหลดเครื่องเพื่อให้มีช่องว่างของเวลาก่อนที่ x11vnc จะคืนค่า
สถานะปิด? ในหลาย ๆ เครื่องถ้าเขาท่วมด้วยแป้นพิมพ์และเมาส์
อินพุตสามารถเห็นการกะพริบของสิ่งที่อยู่บนหน้าจอก่อนที่สถานะปิด DPMS จะเป็น
สถาปนาขึ้นใหม่ เพื่อให้ทำงานได้อย่างปลอดภัยจะต้องได้รับการสนับสนุนใน X
เซิร์ฟเวอร์ที่จะทำสิ่งนี้อย่างแน่นอนแทนที่จะใช้ DPMS โดยประมาณ
-clientdpms
As -บังคับน แต่เมื่อเชื่อมต่อไคลเอ็นต์ VNC เท่านั้น
-noservrdpms
รองรับส่วนขยาย UltraVNC ServerInput ซึ่งช่วยให้ VNC viewer ได้
คลิกปุ่มที่จะทำให้เซิร์ฟเวอร์ (x11vnc) พยายามปิดการใช้งานแป้นพิมพ์และ
อินพุตเมาส์ที่จอแสดงผลจริงและทำให้จอภาพอยู่ในสถานะปิด dpms
ใช้ตัวเลือกนี้เพื่อข้ามการปิดจอภาพ
-noultraext
ปิดใช้งานส่วนขยาย UltraVNC ต่อไปนี้: SingleWindow และ ServerInput ดิ
อื่น ๆ ที่จัดการโดย LibVNCServer (textchat, 1/n scaling, rfbEncodingUltra) ไม่ใช่
-หน้าต่างแชท
วางหน้าต่างแชท UltraVNC ในพื้นที่บนจอแสดงผล X11 ที่ x11vnc กำลังสำรวจ ที่
วิธีที่บุคคลที่อยู่ฝั่งผู้ดู VNC สามารถสนทนากับบุคคลที่อยู่ X11 . จริง
คอนโซล (เช่น Helpdesk ที่ไม่มีโทรศัพท์)
เพื่อให้ใช้งานได้แพ็คเกจ SSVNC (เวอร์ชัน 1.0.21 หรือใหม่กว่า) จะต้องติดตั้งบน
ระบบที่ x11vnc ทำงานและคำสั่ง 'ssvnc' ต้องมีอยู่ใน $PATH
ssvncviewer ถูกใช้เป็นตัวช่วยของหน้าต่างแชท ดู
http://www.karlrunge.com/x11vnc/ssvnc.html
ตัวเลือกนี้แสดงถึง '-rfbversion 3.6' เพื่อหลอกลวงผู้ดู UltraVNC มิฉะนั้น
พวกเขาถือว่าแชทไม่พร้อมใช้งาน หากต้องการระบุ rfbversion อื่น ให้วาง
หลังจากที่ -หน้าต่างแชท ตัวเลือกบน cmdline
ดูการกระทำ 'chaton' และ 'chatoff' ของรีโมตคอนโทรล เหล่านี้ยังสามารถตั้งค่า
จาก tkx11vnc GUI
-noxดาเมจ
อย่าใช้ส่วนขยาย X DAMAGE เพื่อตรวจจับการเปลี่ยนแปลงของเฟรมบัฟเฟอร์แม้ว่าจะเป็น
มีอยู่. ใช้ - x ความเสียหาย หากค่าเริ่มต้นของคุณคือปิด
การใช้ส่วนขยาย DAMAGE ของ x11vnc: 1) ลดภาระลงอย่างมากเมื่อ
หน้าจอไม่เปลี่ยนแปลงมากนัก และ 2) ตรวจพบพื้นที่ที่เปลี่ยนแปลง (พื้นที่ขนาดเล็กโดยค่าเริ่มต้น)
เร็วกว่านี้.
ขณะนี้ส่วนขยาย DAMAGE นั้นค่อนข้างอนุรักษ์นิยมและมักรายงานพื้นที่ขนาดใหญ่
(เช่นทั้งเทอร์มินัลหรือหน้าต่างเบราว์เซอร์) เสียหายแม้ว่าการเปลี่ยนแปลงจริงจะเปลี่ยนไป
ภูมิภาคมีขนาดเล็กกว่ามาก (บางครั้งก็เพียงไม่กี่พิกเซล) ดังนั้นฮิวริสติกจึงเป็น
แนะนำให้ข้ามพื้นที่ขนาดใหญ่และใช้สี่เหลี่ยมผืนผ้าความเสียหายเป็น "คำใบ้" สำหรับ .เท่านั้น
การหยั่งเสียงแบบ scanline แบบดั้งเดิม มีการแนะนำพารามิเตอร์การปรับแต่งต่อไปนี้
เพื่อปรับพฤติกรรมนี้:
-xd_area A
กำหนดพื้นที่สี่เหลี่ยม DAMAGE ที่ใหญ่ที่สุด A (เป็นพิกเซล: กว้าง * สูง) ให้ความไว้วางใจเป็น
เสียหายจริง: สี่เหลี่ยมจะถูกคัดลอกจากเฟรมบัฟเฟอร์ (ช้า) ไม่ว่า
อะไร. ตั้งค่าเป็นศูนย์เพื่อเชื่อถือสี่เหลี่ยม *ทั้งหมด* ค่าเริ่มต้น: 20000
-xd_mem f
กำหนดระยะเวลาที่ควร "จำ" สี่เหลี่ยม DAMAGE f เป็นเลขทศนิยม
และอยู่ในหน่วยของรอบเวลาการทำซ้ำของเส้นสแกน (ซ้ำ 32 ครั้ง) ค่าเริ่มต้น
(1.0) ไม่น่าจะมีปัญหาเรื่องสี เพิ่มขึ้นหากมีปัญหาหรือ
ลดลงเพื่อให้อยู่บนขอบ (อาจมีประโยชน์ในเครื่องที่ช้า)
-ซิปปี้ เชือก
การจัดการท่อหัก (SIGPIPE) เชือก สามารถ "ละเว้น" หรือ "ออก" สำหรับ "ละเลย"
LibVNCServer จะจัดการกับการสูญเสียลูกค้าอย่างกะทันหันและดำเนินการต่อเพื่อ "ออก"
x11vnc จะล้างข้อมูลและออกจากการเชื่อมต่อครั้งแรกที่เสีย
ตัวเลือกนี้ไม่จำเป็นจริงๆ เนื่องจาก LibVNCServer กำลังทำสิ่งที่ถูกต้องในตอนนี้
ค่อนข้างบางเวลา อย่างไรก็ตาม เพื่อความสะดวกคุณสามารถใช้เพื่อละเว้นอื่นๆ
สัญญาณ เช่น "-ซิปปี้ ละเว้น:HUP,INT,TERM" เผื่อว่าจะเป็นประโยชน์กับบางท่าน
ประเภทของแอปพลิเคชัน คุณยังสามารถใส่ "exit:.. " ในรายการเพื่อให้มี x11vnc cleanup
บนสัญญาณรายการ "- ซิก" เป็นนามแฝงสำหรับตัวเลือกนี้หากคุณไม่ชอบ
'ท่อ'. ตัวอย่าง: - ซิก ละเว้น:INT,TERM,exit:USR1
-กระทู้ - ไม่มีเธรด
จะใช้อัลกอริทึม LibVNCServer แบบเธรดหรือไม่ [rfbRunEventLoop] if
libpthread สามารถใช้ได้ ในโหมดนี้เธรดใหม่ (อันหนึ่งสำหรับอินพุตและอีกอันสำหรับ
เอาต์พุต) ถูกสร้างขึ้นเพื่อจัดการกับลูกค้าใหม่แต่ละราย ค่าเริ่มต้น: -ไม่มีเธรด
ความเสถียรของเธรดดีขึ้นมากในเวอร์ชัน 0.9.8
ไคลเอนต์หลายตัวในโหมดเธรดควรเสถียรสำหรับการเข้ารหัส ZRLE บนทั้งหมด
แพลตฟอร์ม ปัจจุบันการเข้ารหัสแบบ Tight และ Zlib นั้นเสถียรบน Linux for . เท่านั้น
ลูกค้าหลายราย รวบรวมกับ -DTLS=__เธรด ถ้า OS และคอมไพเลอร์และลิงเกอร์
สนับสนุนมัน
สำหรับการปรับขนาด (randr ฯลฯ ) ให้ตั้งค่า env นี้ วาร์ เป็นจำนวนมิลลิวินาทีถึง
สลีป: X11VNC_THREADS_NEW_FB_SLEEP ที่ตำแหน่งต่างๆ ในการดำเนินการ do_new_fb()
เพื่อให้กิจกรรมต่างๆ ลงตัว ค่าเริ่มต้นคือประมาณ 500ms
ไคลเอนต์หลายตัวในโหมดเธรดสามารถให้ประสิทธิภาพที่ดีขึ้นสำหรับ 'ห้องเรียน'
การใช้งานการออกอากาศ ยังอยู่ใน -แชร์แอป โหมดออกอากาศ ดูเพิ่มเติมที่ -สะท้อน
ตัวเลือก
-fs f
ถ้าเศษส่วนของไทล์ที่เปลี่ยนแปลงในแบบสำรวจมีค่ามากกว่า f ทั้งหน้าจอจะเป็น
ปรับปรุง ค่าเริ่มต้น: 0.75
-ช่องว่าง n
ฮิวริสติกเพื่อเติมช่องว่างในแถวหรือโคลของ n หรือน้อยกว่าไทล์ ใช้ในการปรับปรุงข้อความ
เพจจิ้ง ค่าเริ่มต้น: 4
-เติบโต n
ฮิวริสติกเพื่อขยายเกาะของไทล์ที่เปลี่ยนแปลง n หรือกว้างขึ้นโดยการตรวจสอบไทล์ใกล้ ๆ
ขอบเขต ค่าเริ่มต้น: 3
-ฝอย n
ความคลาดเคลื่อนเป็นพิกเซลเพื่อทำเครื่องหมายขอบกระเบื้องว่ามีการเปลี่ยนแปลง ค่าเริ่มต้น: 2
-debug_tiles
พิมพ์เอาต์พุตการดีบักสำหรับไทล์ อัพเดต fb ฯลฯ
-snapfb
แทนที่จะสำรวจ X display framebuffer (fb) สำหรับการเปลี่ยนแปลง ให้คัดลอกเป็นระยะ
X ทั้งหมดแสดง fb ในหน่วยความจำหลักและตรวจสอบการเปลี่ยนแปลงนั้น (นี้
การตั้งค่ายังใช้กับ non-X -rawfb โหมด) ในบางกรณีสิ่งนี้จะ
ปรับปรุงการตอบสนองแบบโต้ตอบหรืออย่างน้อยก็ทำให้สิ่งต่าง ๆ ดูราบรื่นขึ้น แต่ในผู้อื่น
(ส่วนใหญ่!) มันจะทำให้การตอบสนองแย่ลง หากวิดีโอ h/w fb เป็นแบบนั้น การอ่าน
ไทล์ขนาดเล็กช้ามากโหมดนี้สามารถช่วยได้ เพื่อให้ "อัตราเฟรมเรท" สูงขึ้น
ขนาดหน้าจอ x bpp ต้องไม่ใหญ่เกินไป โปรดทราบว่าโหมดนี้สิ้นเปลืองมากของ
ทรัพยากรหน่วยความจำ I/O (ทำสำเนาเต็มหน้าจอแม้ว่าจะไม่มีอะไรเปลี่ยนแปลง) มันอาจ
ใช้ในแอปพลิเคชั่นคล้ายการถ่ายวิดีโอ เว็บแคม หรือที่ที่หน้าต่างฉีกขาด a
ปัญหา
-rawfb เชือก
แทนที่จะโพล X ให้โพลออบเจ็กต์หน่วยความจำที่ระบุใน เชือก.
สำหรับการหยั่งเสียงไฟล์ ไปยังแผนที่หน่วยความจำ มม(2) การใช้ไฟล์: "map:/path/to/a/file@WxHxB",
ด้วยเฟรมบัฟเฟอร์ ความกว้าง ความสูง และบิตต่อพิกเซล "mmap:..." ก็เหมือนกัน
หากมีปัญหากับ mmap ให้ใช้ "file:/..." เพื่อให้ช้าลง ลสิค(2) การอ่านตาม
ใช้ "snap:..." เพื่อบ่งบอกถึง -snapfb โหมดและการเข้าถึง "ไฟล์:" (นี้มีไว้สำหรับค้นหาไม่ได้
อุปกรณ์ที่ให้ fb ทั้งหมดในครั้งเดียวเช่นกล้องวิดีโอให้
ทั้งกรอบ)
สำหรับสตริงเซ็กเมนต์หน่วยความจำที่ใช้ร่วมกันจะมีรูปแบบ: "shm:N@WxHxB" ซึ่งระบุ
shmid N และด้วย WxHxB ดังด้านบน ดู ชิม(1) และ ไอพีเอส(1)
หากคุณไม่ได้ระบุประเภท "แผนที่" จะถือว่ามีไฟล์อยู่ (ดูต่อไป
ย่อหน้าสำหรับข้อยกเว้นบางประการนี้)
หากสตริงคือ "setup:cmd" คำสั่ง "cmd" จะถูกเรียกใช้และบรรทัดแรกจากนั้น
ถูกอ่านและใช้เป็น เชือก. ซึ่งช่วยให้เริ่มต้นอุปกรณ์โดยกำหนด
WxHxB ฯลฯ สิ่งเหล่านี้มักจะทำเป็นรูทดังนั้นควรระมัดระวัง
หากสตริงเริ่มต้นด้วย "วิดีโอ" ดูการสนทนา VIDEO4LINUX ด้านล่างโดยที่
อุปกรณ์อาจถูกสอบถาม (และอาจตั้งค่า) พารามิเตอร์เฟรมบัฟเฟอร์
หากสตริงขึ้นต้นด้วย "console", "/dev/fb", "fb" หรือ "vt" โปรดดูที่ LINUX
CONSOLE สนทนาด้านล่างว่าอุปกรณ์เฟรมบัฟเฟอร์เปิดอยู่และการกดแป้นใด (และ
อาจเป็นเหตุการณ์ของเมาส์) ถูกแทรกลงในคอนโซล
หากสตริงขึ้นต้นด้วย "vnc" โปรดดูการสนทนา VNC HOST ด้านล่างโดยที่
framebuffer ถูกใช้เหมือนกับเซิร์ฟเวอร์ VNC ระยะไกลอื่น
คำต่อท้ายที่เลือกได้คือ ":R/G/B" และ "+O" เพื่อระบุมาสก์สีแดง สีเขียว และสีน้ำเงิน (ใน
ฐานสิบหก) และออฟเซ็ตในวัตถุหน่วยความจำ หากไม่มีหน้ากากให้ x11vnc
เดาตาม bpp (หากสีดูผิด คุณต้องระบุ
หน้ากาก)
ส่วนต่อท้ายที่เป็นทางเลือกอื่นคือ Bytes Per Line ซึ่งในบางกรณีไม่ใช่ WxB/8
ระบุเป็น WxHxB-BPL เช่น 800x600x16-2048 นี่อาจเป็นความกว้างปกติ 1024 at
16bpp fb แต่แสดงความกว้าง 800 เท่านั้น
ดังนั้นรูปแบบเต็มคือ: mode:file@WxHxB:R/G/B+O-BPL
ตัวอย่าง:
-rawfb shm:210337933@800x600x32:ff/ff00/ff0000
-rawfb แผนที่:/dev/fb0@1024x768x32
-rawfb map:/tmp/Xvfb_screen0@640x480x8+3232
-rawfb ไฟล์:/tmp/my.pnm@250x200x24+37
-rawfb ไฟล์:/dev/urandom@128x128x8 -rawfb snap:/dev/video0@320x240x24 -24ถึง32
-rawfb video0 -rawfb วีดีโอ - ท่ออินพุต VID -rawfb ปลอบใจ -rawfb vt2 -rawfb
vnc: บางโฮสต์: 0
(ดู ไอพีเอส(1) และ fbset(1) สำหรับสองตัวอย่างแรก)
โดยทั่วไปการป้อนข้อมูลของผู้ใช้ทั้งหมดจะถูกละทิ้งโดยค่าเริ่มต้น (ดูที่ - ท่ออินพุต ตัวเลือกสำหรับ
วิธีใช้โปรแกรมช่วยแทรก) X11 ส่วนใหญ่ (หน้าจอ แป้นพิมพ์ เมาส์)
ตัวเลือกไม่สมเหตุสมผลและหลายอย่างจะทำให้โหมดนี้ขัดข้องดังนั้นโปรดคิด
สองครั้งก่อนที่จะตั้งค่าหรือเปลี่ยนแปลงใน x11vnc ที่ทำงานอยู่
หากคุณไม่ต้องการให้ x11vnc ปิด X DISPLAY ในโหมด rawfb ให้เติม "+" ไว้ข้างหน้า เช่น
+file:/dev/fb0... การเปิดจอแสดงผลไว้จะเป็นการเปิดใช้งานรีโมตคอนโทรลที่เป็นค่าเริ่มต้น
ช่องทางที่อาจเป็นประโยชน์ หรือหากคุณระบุ - ดูอย่างเดียว แล้วก็
การป้อนข้อมูลด้วยเมาส์และแป้นพิมพ์ยังคงถูกส่งไปยังจอแสดงผล X การใช้งานนี้ควรเป็น
หายากมาก นั่นคือการทำสิ่งแปลก ๆ กับ /dev/fb0
หากอุปกรณ์ไม่สามารถ "ค้นหาได้" (เช่น เว็บแคม) ให้ลองอ่านข้อมูลทั้งหมดในคราวเดียว
snaps ผ่านโหมด "snap:" (หมายเหตุ: นี่เป็นหมูทรัพยากร) หากคุณกำลังใช้ไฟล์:
หรือแผนที่: และต้องเปิดอุปกรณ์อีกครั้งสำหรับสแน็ปช็อต snapfb *ทุก ๆ * ตั้งค่า
ตัวแปรสภาพแวดล้อม: SNAPFB_RAWFB_RESET=1 เช่นกัน
หากคุณต้องการให้ x11vnc เปลี่ยน 24bpp rawfb เป็น 32bpp แบบไดนามิก (โปรดทราบว่า
จะช้าลง) ยังจัดหา -24ถึง32 ตัวเลือก. นี้จะเป็นประโยชน์สำหรับ, พูด,
กล้องวิดีโอที่ส่งข้อมูลพิกเซลเป็น RGB ที่บรรจุ 24bpp นี่คือค่าเริ่มต้น
ภายใต้โหมด "วิดีโอ" หาก bpp เป็น 24
โดยปกติบิตต่อพิกเซล B คือ 8, 16 หรือ 32 (หรือแทบไม่มี 24) อย่างไรก็ตาม มี
ยังรองรับ B <8 (เช่นกราฟิกเก่าแสดง 4 bpp หรือ 1 bpp) ในเรื่องนี้
กรณีที่คุณจะต้องจัดหาหน้ากากด้วยเช่นกัน: WxHxB:R/G/B. พิกเซลจะเป็น
เสริมเป็น 8 bpp โดยใช้ความลึก 8 truecolor แบบแผนปัจจุบันไม่ทำงาน
ด้วย snap fb (สนใจสอบถาม) B=1 ขาวดำ ตัวอย่าง:
file:/dev/urandom@128x128x1:1/1/1 อื่นๆ แบบนี้คือ 128x128x2:3/3/3
128x128x4:7/7/7
สำหรับ B <8 framebuffers คุณสามารถตั้งค่า env var RAWFB_CGA=1 เพื่อลองใช้ CGA
การแมปสำหรับ B=4 (เช่น ไดรเวอร์ linux vga16fb) หมายเหตุด้วย bpp และ/หรือความละเอียดต่ำ
โหมด VGA และ VGA16 บนคอนโซล Linux พยายามส่งออกผ่าน x11vnc
มักจะถูกขัดขวางเนื่องจากจานสีพิเศษ การบรรจุพิกเซล หรือแม้แต่วิดีโอ
ภาพวาดบัฟเฟอร์ OTOH มักจะทดลองกับมาสก์ RGB ได้
สิ่งที่จำได้
VIDEO4LINUX: บน Linux มีความพยายามในการจัดการอุปกรณ์วิดีโอ (เว็บแคมหรือ TV .)
จูนเนอร์) โดยอัตโนมัติ แนวคิดคือ WxHxB จะถูกดึงออกจากอุปกรณ์
ตัวเอง. ดังนั้นหากคุณไม่ใส่ "@WxHxB... พารามิเตอร์ x11vnc จะพยายาม
กำหนดพวกเขา ขั้นแรกให้ลองใช้ v4l API หากมีการรวบรวมการสนับสนุนดังกล่าว
มิฉะนั้น มันจะรัน v4l- ข้อมูล(1) โปรแกรมภายนอกถ้ามี
ตัวอย่างที่ง่ายที่สุดคือ "-rawfb วีดีโอ" และ "-rawfb video1" ซึ่งหมายถึงอุปกรณ์
ไฟล์ /dev/video และ /dev/video1 ตามลำดับ คุณยังสามารถจัดหา / dev ถ้าคุณ
ชอบ เช่น "-rawfb / dev / video0"
เนื่องจากเฟรมบัฟเฟอร์ของอุปกรณ์จับภาพวิดีโอมักจะเปลี่ยนแปลงอย่างต่อเนื่อง (เช่น
ความผันผวนของความสว่าง) คุณอาจต้องการใช้ -รอ, -slow_fb, or -เลื่อน
ตัวเลือกในการลด "อัตราเฟรม" เพื่อลดการรับส่งข้อมูล VNC ของเครือข่าย
โครงร่างอุปกรณ์วิดีโอที่ซับซ้อนยิ่งขึ้นช่วยให้เริ่มต้นการตั้งค่าของอุปกรณ์ได้
โดยใช้:
-rawfb วิดีโอ:
คำนำหน้ายังสามารถเป็น เช่น "video1:" เพื่อระบุไฟล์อุปกรณ์ ดิ
v4l API จะต้องพร้อมใช้งานจึงจะใช้งานได้ ไม่งั้นต้องลอง
เริ่มต้นอุปกรณ์ด้วยโปรแกรมภายนอก เช่น xawtv, spcaview และหวังว่าพวกเขาจะ
คงอยู่เมื่อ x11vnc เปิดอุปกรณ์อีกครั้ง
เป็นรายการที่คั่นด้วยเครื่องหมายจุลภาคของคู่คีย์=ค่า ความสว่างของอุปกรณ์
สี คอนทราสต์ และฮิว สามารถตั้งค่าเป็นเปอร์เซ็นต์ได้ เช่น br=80,co=50,cn=44,hu=60
สามารถตั้งชื่อไฟล์อุปกรณ์ได้เช่นกันหากจำเป็น (หากไม่ได้ขึ้นต้นด้วย "วิดีโอ")
เช่น fn=/dev/qcam.
ความกว้าง ความสูง และ bpp ของเฟรมบัฟเฟอร์สามารถตั้งค่าได้ผ่าน เช่น
w=160,h=120,bpp=16.
เกี่ยวข้องกับ bpp ด้านบน รูปแบบพิกเซลสามารถตั้งค่าได้ผ่าน fmt=XXX โดยที่ XXX
สามารถเป็นหนึ่งใน: GREY, HI240, RGB555, RGB565, RGB24 และ RGB32 (ด้วย bpp 8, 8, 16,
16, 24 และ 32 ตามลำดับ) ดู http://www.linuxtv.org สำหรับข้อมูลเพิ่มเติม (V4L api)
สำหรับการ์ดจูนเนอร์ทีวี/rf คุณสามารถตั้งค่าโหมดจูนผ่าน tun=XXX โดยที่ XXX เป็นหนึ่งได้
ของ PAL, NTSC, SECAM หรือ AUTO
หนึ่งสามารถเปลี่ยนช่องสัญญาณเข้าโดยการตั้งค่า inp=XXX โดยที่ XXX เป็นชื่อของ
ช่องสัญญาณเข้า (โทรทัศน์, Composite1, S-Video เป็นต้น) ใช้ชื่อที่อยู่ใน
ข้อมูลเกี่ยวกับอุปกรณ์ที่พิมพ์เมื่อเริ่มต้นระบบ
สำหรับช่องสัญญาณอินพุตที่มีจูนเนอร์ (เช่น โทรทัศน์) สามารถเปลี่ยนสถานีที่เป็น
เลือกโดยการตั้งค่า sta=XXX XXX คือหมายเลขสถานี ปัจจุบันเท่านั้น
ช่อง ntsc-cable-us (เคเบิลของสหรัฐอเมริกา) สร้างขึ้นใน x11vnc ดู -แท็บความถี่ ตัวเลือก
ด้านล่างเพื่อจัดหาจาก xawtv หาก XXX มากกว่า 500 แสดงว่ามีการตีความ
เป็นความถี่ดิบในหน่วย KHz
ตัวอย่าง:
-rawfb video:br=80,w=320,h=240,fmt=RGB32,tun=NTSC,sta=47
อาจจำเป็นต้องเพิ่ม inp=Television ด้วยเพื่อให้ช่องสัญญาณอินพุตเป็นทีวีหากการ์ด
ไม่ได้เกิดขึ้นโดยปริยายในอันนั้น
โปรดทราบว่าอุปกรณ์จับภาพวิดีโอบางตัวเท่านั้นที่จะรองรับการตั้งค่าข้างต้นทั้งหมด
ดู - ท่ออินพุต VID ตัวเลือกด้านล่างสำหรับวิธีการควบคุมการตั้งค่าผ่าน
VNC Viewer ผ่านการกดแป้น เป็นช็อตคัท ถ้าสตริงขึ้นต้นด้วย "Video.." แทน
ของ "วิดีโอ.." แล้ว - ท่ออินพุต VID เป็นนัย
ดังที่กล่าวข้างต้น หากคุณระบุ "@WxHxB..." ต่อจากเครื่องหมาย สตริงที่ใช้
คำต่อคำ: ไม่มีการสอบถามอุปกรณ์สำหรับค่าปัจจุบัน มิฉะนั้นเครื่อง
จะถูกสอบถาม
คอนโซล LINUX: ข้อมูลต่อไปนี้อธิบายวิธีการดูและอาจโต้ตอบได้
ด้วยคอนโซลข้อความ/กราฟิกของ Linux (เช่น ไม่ใช่ X11 XFree86/Xorg)
หมายเหตุ: หากโปรแกรม LibVNCServer LinuxVNC อยู่ในระบบของคุณ คุณอาจต้องการใช้
ว่าแทนที่จะใช้วิธีต่อไปนี้เพราะจะเร็วและแม่นยำกว่า
สำหรับคอนโซลข้อความ Linux และรองรับเมาส์ อย่างไรก็ตาม มี
ฟังก์ชัน LinuxVNC พื้นฐานใน x11vnc หากคุณแทนที่ "คอนโซล" ด้วย "vt" ใน
ตัวอย่างด้านล่าง
หากสตริง rawfb ขึ้นต้นด้วย "console" อุปกรณ์ framebuffer /dev/fb0 จะเปิดขึ้น
และ /dev/tty0 ก็เปิดขึ้นเช่นกัน หลังใช้เพื่อฉีดการกดแป้น (ไม่ใช่ทั้งหมด
ได้รับการสนับสนุน แต่สิ่งพื้นฐานคือ) คุณจะต้องรูทเพื่อฉีดการกดแป้น
แต่ไม่จำเป็นต้องเปิด /dev/fb0 /dev/tty0 หมายถึง VT ที่ใช้งานอยู่ to
ระบุอย่างชัดเจน ใช้ เช่น "console2" สำหรับ /dev/tty2 ฯลฯ โดยระบุ
หมายเลข VT เฉพาะ
สำหรับอุปกรณ์ Linux framebuffer, /dev/fb0, (fb1, ฯลฯ) ที่จะเปิดใช้งาน
ต้องโหลดไดรเวอร์เคอร์เนลที่เหมาะสม เช่น vesafb หรือ vga16fb และโดย
การตั้งค่าพารามิเตอร์การบูต vga=0x301 (หรือ 0x314, 0x317 เป็นต้น) (วิธี vga=...
เป็นวิธีที่ชอบ ตั้งค่าเครื่องของคุณด้วยวิธีนี้) มิฉะนั้นจะมี
ข้อผิดพลาด 'ไม่มีอุปกรณ์ดังกล่าว' คุณยังสามารถโหลดไดร์เวอร์ Linux framebuffer เฉพาะสำหรับ
การ์ดแสดงผลของคุณสำหรับการทำงานที่มากขึ้น เมื่อบูตเครื่องแล้วหนึ่งกระป๋อง
มักจะ 'modprobe' ไดรเวอร์ fb เป็นรูทเพื่อรับอุปกรณ์เฟรมบัฟเฟอร์
หากคุณไม่สามารถให้ /dev/fb0 ทำงานบน Linux ได้ ให้ลองใช้โหมดจำลอง LinuxVNC
โดย "-rawfb ว" โดยที่ N = 1, ... 6 คือ Linux Virtual Terminal (หรือที่เรียกว่า virtual
คอนโซล) ที่คุณต้องการดู เช่น "-rawfb vt2" ซึ่งแตกต่างจากโหมด /dev/fb ไม่จำเป็นต้องเป็น
เทอร์มินัลเสมือนที่ใช้งานอยู่ โปรดทราบว่าโหมดนี้สามารถแสดงข้อความได้เท่านั้นและไม่
กราฟิก x11vnc โพลข้อความใน /dev/vcsaN
ตั้งค่า env วาร์ RAWFB_VCSA_BW=1 เพื่อปิดการใช้งานสีในโหมด "vtN" (เช่น black
และสีขาวเท่านั้น) หากคุณไม่ต้องการค่าเริ่มต้น 16bpp ให้ตั้งค่า RAWFB_VCSA_BPP เป็น 8 หรือ
32. หากคุณต้องการปรับแต่งพารามิเตอร์ rawfb โดยใช้สตริง 'console_guess'
พิมพ์เมื่อเริ่มต้น ต้องแน่ใจว่าได้ระบุวิธี snap:
uinput: หากเวอร์ชัน Linux ปรากฏเป็น 2.6 หรือใหม่กว่าและโมดูล "uinput"
ดูเหมือนว่าจะมีอยู่ (modprobe uinput) จากนั้นจะใช้วิธี uinput
แทน /dev/ttyN uinput อนุญาตให้แทรกทั้งการกดแป้นและการป้อนข้อมูลด้วยเมาส์
ดังนั้นจึงเป็นที่ต้องการเมื่อเข้าถึงแอปคอนโซล linux แบบกราฟิก (เช่น QT-embedded)
นอกจากนี้ยังให้การแทรกการกดแป้นพิมพ์ที่แม่นยำยิ่งขึ้น ดู - ท่ออินพุต UINPUT ด้านล่าง
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับโหมดนี้ คุณจะต้องใช้ - ท่ออินพุต ถ้าคุณต้องการ
ปรับแต่งพารามิเตอร์ UINPUT ใดๆ คุณยังอาจต้องการใช้ -พยักหน้า และ
-เคอร์เซอร์ ไม่มีตัวเลือก ใช้ "console0" ฯลฯ หรือ - ท่ออินพุต CONSOLE เพื่อบังคับ
/dev/ttyN วิธี
โปรดทราบว่าคุณสามารถเปลี่ยน Linux VT จากระยะไกลได้โดยใช้ปุ่ม ชวต(1) คำสั่งให้ทำหนึ่ง
คุณต้องการเป็นแบบแอคทีฟ (เช่น 'chvt 3') บางครั้งสลับออกและย้อนกลับ
แก้ไขสถานะกราฟิกของเฟรมบัฟเฟอร์ สำหรับ "-rawfb ว" โหมดไม่มี
ต้องเปลี่ยน VT
หากต้องการข้ามการฉีดอินพุตทั้งหมด ให้ใช้ "consolex" หรือ "vtx"
สามารถใช้สตริง "/dev/fb0" (1 เป็นต้น) แทน "คอนโซล" ได้ ใช้ได้เลย
เพื่อระบุอุปกรณ์เฟรมบัฟเฟอร์อื่น เช่น /dev/fb1 เป็นทางลัด
"/ dev /" ดรอปได้ ถ้าชื่อไม่มาตรฐาน ให้ใช้
"คอนโซล:/dev/foofb"
หากคุณไม่ต้องการให้ x11vnc เดา WxHxB ของ framebuffer และมาสก์โดยอัตโนมัติ
(บางครั้งเคอร์เนลให้ข้อมูลที่ไม่ถูกต้อง) ระบุด้วย @WxHxB (และ
ทางเลือก :R/G/B มาสก์) ที่ส่วนท้ายของสตริง
ตัวอย่าง: -rawfb ปลอบใจ -rawfb /dev/fb0 (เหมือนเดิม) -rawfb คอนโซล3
(บังคับ /dev/tty3) -rawfb consolex (ไม่มีการกดแป้นพิมพ์หรือเมาส์) -rawfb
คอนโซล:/dev/nonstd -rawfb ปลอบใจ - ท่ออินพุต UINPUT:เร่ง=4.0 -rawfb vt3
(/dev/tty3 ไม่มี /dev/fb0)
VNC HOST: ถ้า -rawfb สตริงอยู่ในรูปแบบ "vnc:host:N" จากนั้น VNC จะแสดง "N"
บนเซิร์ฟเวอร์ VNC ระยะไกล "โฮสต์" เชื่อมต่อกับ (เช่น x11vnc ทำหน้าที่เป็นไคลเอนต์ VNC
เอง) และเฟรมบัฟเฟอร์นั้นถูกส่งออก นี้เหมือนกับตัวเลือก "-สะท้อน
โฮสต์:N".
โหมดนี้ใช้ได้เฉพาะเมื่อคุณพยายามปรับปรุงประสิทธิภาพใน
กรณีของผู้ดู VNC จำนวนมาก (เช่น >10) พร้อมกัน และคุณพยายามแบ่งแยกและพิชิต
แผนเพื่อลดแบนด์วิดธ์และปรับปรุงการตอบสนอง อย่างไรก็ตาม พบผู้ใช้รายอื่น
โหมดนี้มีประโยชน์ในการส่งออกการแสดงตัวอย่างผ่านลิงก์ที่ช้า: จากนั้นสาธิตหลายรายการ
ผู้ชมที่เชื่อมต่อกับ x11vnc ที่สะท้อนอยู่ทางด้านเร็วของลิงก์และอื่น ๆ
หลีกเลี่ยงผู้ดูการสาธิตทั้งหมดผ่านลิงก์ที่ช้า ผู้ใช้รายอื่นมี
พบว่าโหมดนี้มีประโยชน์เพื่อให้สามารถใช้ประโยชน์จาก x11vnc ได้มากมาย
คุณสมบัติที่เซิร์ฟเวอร์ VNC อื่นไม่มี เช่น การเข้ารหัส SSL, single
พอร์ต http และ https ชื่อผู้ใช้และรหัสผ่าน unix และ -อนุญาต, -ศูนย์คอนฟ, -คลิป,
และ - สเกล ตัวเลือกและอื่น ๆ
สำหรับตัวอย่างการออกอากาศในห้องเรียน หากมีผู้ชม VNC พร้อมกัน 64 คน
สิ่งนี้สามารถนำไปสู่การรับส่งข้อมูล VNC ที่ซ้ำซ้อนจำนวนมากไปและกลับจากโฮสต์เซิร์ฟเวอร์:N,
การใช้งาน CPU เพิ่มเติมและการตอบสนองของผู้ชมทั้งหมดจะลดลงโดยต้องรอ
เขียนถึงไคลเอนต์ที่ช้าที่สุดเพื่อให้เสร็จ อย่างไรก็ตาม หากคุณตั้งค่า8
รีเฟลกเตอร์/รีพีทเตอร์เริ่มต้นด้วย option -rawfb vnc:host:N ก็เหลือแค่ 8
การเชื่อมต่อกับโฮสต์:N. แต่ละทวนจะจัดการการเชื่อมต่อ 8 vnc viewer ดังนั้น
กระจายภาระไปทั่ว ในการใช้งานการออกอากาศในห้องเรียน ให้ลองใส่การทำซ้ำ
บนสวิตช์ต่างๆ โหมดนี้เหมือนกับ -สะท้อน โฮสต์:น. แทนที่ "โฮสต์: N"
โดย "ฟัง" หรือ "ฟัง: พอร์ต" สำหรับการเชื่อมต่อย้อนกลับ ใช้ "listennofork:port" ถึง
ใช้ LibVNCServer ไคลเอ็นต์ไม่ฟอร์กอินเตอร์เฟสฟัง (หาก LibVNCServer ของคุณมี
มัน) เช่นเดียวกับการตั้งค่า X11VNC_REFLECT_NO_FORK=1
ประสิทธิภาพโดยรวมจะไม่ดีเท่ากับการเชื่อมต่อโดยตรงเพียงครั้งเดียวเพราะ
เหนือสิ่งอื่นใด มีระดับเพิ่มเติมของโพลเฟรมบัฟเฟอร์และตัวชี้
การเคลื่อนไหวยังสามารถทำให้เกิดการเปลี่ยนแปลงหลายอย่างต่อวินาทีที่ต้องเผยแพร่ เคล็ดลับ: if
VNC ระยะไกลคือ x11vnc ที่ทำ wireframing หรือ X display ที่ทำ wireframing
ที่ให้การตอบสนองที่ดีกว่าการลากหน้าต่างทึบแสงมาก พิจารณา
-พยักหน้า ตัวเลือกหากปัญหารุนแรง
สิ่งแวดล้อม วาร์ X11VNC_REFLECT_PASSWORD สามารถตั้งเป็นรหัสผ่านที่จำเป็นสำหรับเข้าสู่ระบบ
เซิร์ฟเวอร์โฮสต์ vnc หรือ "file:path_to_file" เพื่อระบุไฟล์ที่มี
รหัสผ่านเป็นบรรทัดแรก
ในการตั้งค่ารูปแบบพิกเซลที่ x11vnc ร้องขอเป็น VNC CLIENT ให้ตั้งค่า env วาร์:
X11VNC_REFLECT_bitsPerSample X11VNC_REFLECT_samplesPerPixel และ
X11VNC_REFLECT_bytesPerPixel; ค่าเริ่มต้นคือ 8, 3, 4. 2, 3, 1 จะให้ค่าต่ำ
โหมดสี ดูฟังก์ชัน rfbGetClient() ใน libvncclient สำหรับข้อมูลเพิ่มเติม
โหมด VNC HOST หมายถึง -แชร์ ใช้ -noshared เป็นตัวเลือก cmdline ที่ตามมาเพื่อ
ปิดการใช้งานการแบ่งปัน
-แท็บความถี่ ไฟล์
สำหรับใช้กับ "-rawfb วีดีโอ" สำหรับอุปกรณ์จูนเนอร์ทีวีเพื่อระบุความถี่ของสถานี
แทนที่จะใช้การแมป ntsc-cable-us ในตัวของหมายเลขสถานีกับความถี่
ใช้ข้อมูลในไฟล์. สำหรับสถานีที่ไม่ใช่ตัวเลข เช่น SE20 จะเป็น
อยู่เหนือสถานีที่มีหมายเลขสูงสุดตามลำดับที่พบ ตัวอย่าง:
"-แท็บความถี่ /usr/X11R6/share/xawtv/europe-west.list" คุณสามารถสร้าง freqtab ของคุณเองโดย
คัดลอกรูปแบบ xawtv
- ท่ออินพุต cmd
ตัวเลือกนี้ช่วยให้คุณระบุคำสั่งภายนอกใน cmd x11vnc นั้นจะไพพ์ทั้งหมด
ผู้ใช้ป้อนเหตุการณ์ในรูปแบบที่เรียบง่าย ใน - ท่ออินพุต โหมดโดยค่าเริ่มต้น x11vnc
จะไม่ประมวลผลเหตุการณ์การป้อนข้อมูลของผู้ใช้ หากคุณนำหน้า cmd กับ "ตี๋:" it
ทั้งคู่จะส่งไปยังคำสั่งไพพ์และประมวลผล สำหรับคำอธิบายของ
รันรูปแบบ "-pipeinput tee:/ถังขยะ/แมว". อีกคำนำหน้าคือ "reopen" ซึ่งหมายถึง to
เปิดท่ออีกครั้งถ้ามันออก แยกคำนำหน้าหลายคำด้วยเครื่องหมายจุลภาค
ร่วมกับ -rawfb อาจจะทำเรื่องน่าขบขันได้ (เช่น ควบคุม
อุปกรณ์ที่ไม่ใช่ X) เพื่ออำนวยความสะดวกนี้ if -rawfb มีผลบังคับใช้แล้วค่าคือ
เก็บไว้ใน X11VNC_RAWFB_STR สำหรับคำสั่งไพพ์ที่จะใช้หากต้องการ ทำ 'env | grep
X11VNC' สำหรับข้อมูลเพิ่มเติม
โหมดไปป์อินพุทในตัว (ไม่ต้องใช้โปรแกรมภายนอก):
หาก cmd เป็น "VID" และคุณกำลังใช้ -rawfb สำหรับอุปกรณ์จับภาพวิดีโอแล้ว
รายการการแมปแป้นพิมพ์ภายในใช้เพื่อตั้งค่าพารามิเตอร์ของวิดีโอ ดิ
การทำแผนที่คือ:
"B" และ "b" ปรับความสว่างขึ้นและลง "H" และ "h" ปรับระดับสี "ค"
และ "c" ปรับสี "N" และ "n" ปรับความคมชัด "S" และ "s" ปรับ
ขนาดของหน้าจอจับภาพ "I" และ "i" หมุนเวียนไปตามช่องสัญญาณอินพุต ขึ้นและ
ลูกศรลงปรับสถานี (ถ้าจูนเนอร์) F1, F2, ..., F6 จะเปลี่ยนวิดีโอ
จับภาพรูปแบบพิกเซลเป็น HI240, RGB565, RGB24, RGB32, RGB555 และ GREY ตามลำดับ
ดู -rawfb วิดีโอสำหรับรายละเอียด
หาก cmd คือ "CONSOLE" หรือ "CONSOLEn" โดยที่ n คือหมายเลขคอนโซล Linux แสดงว่า linux
การแทรกการกดแป้นคอนโซลไปที่ /dev/ttyN (ดู -rawfb คอนโซล) ถูกดำเนินการ
หาก cmd ขึ้นต้นด้วย "UINPUT" โมดูล Linux uinput จะถูกใช้เพื่อแทรกทั้งสอง
เหตุการณ์การกดแป้นพิมพ์และเมาส์ไปยังคอนโซล Linux (ดู -rawfb ข้างต้น). นี้มักจะ
เป็นไฟล์อุปกรณ์ /dev/input/uinput (คุณอาจต้องสร้างด้วย "mknod
/dev/input/uinput c 10 223" และใส่โมดูลด้วย "modprobe uinput"
ขณะนี้โหมด UINPUT ใช้เฉพาะแป้นพิมพ์ของสหรัฐอเมริกาเท่านั้น (อาจเพิ่มตัวเลือกรหัสสแกน)
และไม่รองรับคีย์ซิมทั้งหมด แต่น่าจะแม่นยำกว่า
วิธีการ "คอนโซล"
คุณอาจต้องการใช้ตัวเลือก -เคอร์เซอร์ ไม่มีและ -พยักหน้า ในโหมดนี้
อาจมีการจัดหาตัวเลือกการปรับแต่งเพิ่มเติมผ่าน: UINPUT:opt1,opt2,... (เครื่องหมายจุลภาค
แยกรายการ) หากตัวเลือกขึ้นต้นด้วย "/" จะถือเป็นอุปกรณ์ uinput
ไฟล์
อินพุต uinput ใดที่ฉีดเข้าไปสามารถควบคุมได้โดยสตริงตัวเลือกที่ทำจาก
อักขระ "K", "M" และ "B" (ดู -ป้อนข้อมูล ตัวเลือก) เช่น "KM" อนุญาตให้กดแป้น
และการเคลื่อนไหวแต่ไม่คลิกปุ่ม
ตัวเลือก UINPUT ของแบบฟอร์ม: accel=f หรือ accel=fx+fy ตั้งค่าการเคลื่อนไหวของเมาส์
"ความเร่ง". ใช้เพื่อแก้ไขการเคลื่อนที่สัมพัทธ์ของเมาส์ดิบเป็นเท่าใด
เคอร์เซอร์ของแอปพลิเคชันย้าย (x11vnc ไม่มีการควบคุมหรือความรู้เกี่ยวกับวิธีการ
แอปพลิเคชั่น windowing ตีความการเคลื่อนไหวของเมาส์แบบ raw) โดยปกติ
การเร่งความเร็วสำหรับจอแสดงผล X คือ 2 (ดูตัวเลือก xset "m") "f" เป็นจุดลอยตัว
ตัวเลข เช่น 3.0 ใช้ "fx+fy" หากคุณต้องการระบุการแก้ไขที่แตกต่างกันสำหรับ x
และ ย.
หมายเหตุ: การเร่งความเร็วเริ่มต้นคือ 2.0 เนื่องจากดูเหมือนว่าทั้ง X และ qt-embedded มักจะ
(แต่ไม่เสมอไป) ใช้ค่านี้
แม้จะมีการตั้งค่าการเร่งความเร็วที่ถูกต้อง ตำแหน่งของเมาส์จะไม่ซิงค์กัน (อาจเป็น
เนื่องจากการตั้งค่า "เกณฑ์" ของเมาส์ซึ่งไม่ใช้การเร่งความเร็ว ให้ตั้งค่า
xset(1) ). ตัวเลือก reset=N ตั้งค่าจำนวน ms (ค่าเริ่มต้น 150) หลังจากนั้น
มีการพยายามรีเซ็ตเคอร์เซอร์ (โดยการบังคับเมาส์ไปที่ (0, 0) ผ่าน small
เพิ่มขึ้นแล้วกลับออกไปที่ (x, y) ในการกระโดด 1 ครั้ง) การแก้ไขนี้น่าจะเป็น
จำเป็นแต่อาจทำให้เกิดอาการกระตุกหรือการทำงานที่ไม่คาดคิดกับเมนู ฯลฯ ใช้ reset=0
เพื่อปิดการใช้งาน
หากคุณตั้งค่า env var X11VNC_UINPUT_THRESHOLDS จากนั้นโหมด thresh=n จะเป็น
เปิดใช้งาน มันทำงานได้ไม่ดี ถ้า |dx| <= thresh และ |dy| < thresh no
มีการเร่งความเร็ว ใช้ "thresh=+n" |dx| + |dy| < thresh ที่จะใช้แทน
(X11?)
ตัวอย่าง: - ท่ออินพุต UINPUT:เร่ง=4.0 -เคอร์เซอร์ ไม่มี
หากอุปกรณ์ uinput มีตัวชี้แบบสัมบูรณ์ (ซึ่งต่างจากเมาส์ปกติคือ
ตัวชี้แบบสัมพัทธ์) คุณสามารถระบุตัวเลือก "abs" โปรดทราบว่าทัชแพดบน a
แล็ปท็อปเป็นอุปกรณ์ที่สมบูรณ์แบบในระดับหนึ่ง สิ่งนี้ (โดยปกติ) หลีกเลี่ยงทั้งหมด
ปัญหาเกี่ยวกับการเร่งความเร็วของเมาส์ หาก x11vnc มีปัญหาในการย่อขนาดของ
อุปกรณ์ ใช้ "abs=WxH" นอกจากนี้ หากเครื่องเป็นหน้าจอสัมผัส (สมมุติว่า
มีตัวชี้แบบสัมบูรณ์) ใช้ "touch" หรือ "touch=WxH" สำหรับหน้าจอสัมผัส เมื่อ
กดปุ่มเมาส์ แรงดันเพิ่มขึ้น และเมื่อปุ่มเป็น
ปล่อยแรงดันเป็นศูนย์จะถูกฉีด
หากตั้งค่าการสัมผัสไว้ ให้ใช้ "touch_always=1" เพื่อระบุทุกครั้งที่เลื่อนเมาส์
โดยไม่ต้องกดปุ่ม ให้ส่งเหตุการณ์การสัมผัสที่ความดันเป็นศูนย์ อีกด้วย
ใช้ "btn_touch=1" เพื่อระบุว่าควรส่งการกดหรือปล่อยการกดแป้น BTN_TOUCH
แทนการเปลี่ยนแปลงความดัน ตั้งค่า "dragskip=n" เพื่อข้าม n การลากเมาส์สัมผัส
(ด้วยแรงกดทับ) ก่อนทำการฉีดหนึ่ง เพื่อบ่งบอกถึงความกดดันที่ควร
ถูกส่งไปเมื่อมีการคลิกปุ่มสำหรับอุปกรณ์หน้าจอสัมผัส ระบุ pressure=n,
เช่น n=5 ค่าเริ่มต้นคือ n=1
หากกำลังใช้หน้าจอสัมผัส ("สัมผัส" ด้านบน) และมีอินพุตอยู่
ประมวลผลโดย tslib คุณสามารถระบุไฟล์สอบเทียบ tslib ได้ผ่าน
tslib_cal= . ตัวอย่างเช่น tslib_cal=/etc/pointercal. เพื่อให้แม่นหรือสม่ำเสมอ
ตำแหน่งที่ใช้งานได้ สิ่งนี้จำเป็นเมื่อมีการใช้งาน tslib
กลไก uinput ของ Linux สามารถข้ามได้และสามารถเขียนเหตุการณ์อินพุตได้โดยตรง
ไปที่อุปกรณ์แทน เมื่อต้องการทำเช่นนี้ ให้ระบุอย่างน้อยหนึ่งรายการต่อไปนี้สำหรับ
คลาสอินพุต: direct_rel= direct_abs= direct_btn= หรือ
direct_key= . ดิ ไฟล์มักจะเป็นสิ่งที่ชอบ /dev/input/event1
แต่คุณสามารถระบุไฟล์อุปกรณ์หรือไปป์ได้ คุณต้องระบุแต่ละ
เหนือคลาสแม้ว่าจะสอดคล้องกับไฟล์อุปกรณ์เดียวกัน (rel/abs และ btn are
มักจะเหมือนกัน.) ดูไฟล์ /proc/bus/อินพุต/อุปกรณ์ เพื่อจะได้รู้ว่าคืออะไร
ที่มีอยู่และชื่อไฟล์ของอุปกรณ์ หมายเหตุ: อุปกรณ์ /dev/input/mouse* ไม่
ดูเหมือนว่าจะใช้งานได้ ใช้ไฟล์ /dev/input/event* ที่เกี่ยวข้องแทน อินพุตใด ๆ
คลาสที่ไม่ได้ระบุโดยตรงตามด้านบนจะได้รับการจัดการผ่านกลไก uinput ถึง
ปิดการใช้งานการสร้างอุปกรณ์ uinput (และด้วยเหตุนี้จึงละทิ้งอินพุตที่ไม่สามารถจัดการได้) ระบุ
"นูอินพุท".
ตัวอย่าง:
- ท่ออินพุต UINPUT:direct_abs=/dev/input/event1
สิ่งนี้ถูกใช้กับ qtmoko Neo freerunner (armel):
- ท่ออินพุต UINPUT:สัมผัส,tslib_cal=/etc/pointercal,
direct_abs=/dev/input/event1,nouinput,dragskip=4
(โดยที่เส้นยาวถูกแบ่งออกเป็นสองสาย)
คุณสามารถตั้งค่า env var X11VNC_UINPUT_DEBUG=1 หรือสูงกว่าเพื่อรับการดีบักเอาต์พุต
สำหรับโหมด UINPUT
-แมคโนดิม
สำหรับเซิร์ฟเวอร์ MacOSX ดั้งเดิม ให้ปิดใช้งานการหรี่แสง
-แมคโนสลีป
สำหรับเซิร์ฟเวอร์ MacOSX ดั้งเดิม ให้ปิดใช้งานโหมดพักหน้าจอ
-แมคโนเซฟเวอร์
สำหรับเซิร์ฟเวอร์ MacOSX ดั้งเดิม ให้ปิดใช้งานโปรแกรมรักษาหน้าจอ
-แมคโนเวท
สำหรับเซิร์ฟเวอร์ MacOSX ดั้งเดิม อย่ารอให้ผู้ใช้เปลี่ยนกลับเป็นของเขา
แสดง.
-แม็ควีล n
สำหรับเซิร์ฟเวอร์ MacOSX ดั้งเดิม ให้ตั้งค่าความเร็วล้อเมาส์เป็น n (ค่าเริ่มต้น 5)
- macnoswap
สำหรับเซิร์ฟเวอร์ MacOSX ดั้งเดิม อย่าสลับปุ่มเมาส์ 2 และ 3
-แมคโนเรไซส์
สำหรับเซิร์ฟเวอร์ MacOSX ดั้งเดิม ห้ามปรับขนาดหรือรีเซ็ต framebuffer แม้ว่าจะเป็น
ตรวจพบว่าความละเอียดหรือความลึกของหน้าจอเปลี่ยนไป
-แมคซิโคนานิม n
สำหรับเซิร์ฟเวอร์ MacOSX ดั้งเดิม ให้ตั้งค่า n เป็นจำนวนมิลลิวินาทีที่ window
iconify / deiconify แอนิเมชั่นใช้เวลา ใน -cache โหมด ค่านี้จะใช้ในการข้าม
ภาพเคลื่อนไหวถ้าเป็นไปได้ (ค่าเริ่มต้น 400)
-แมคเมนู
สำหรับเซิร์ฟเวอร์ MacOSX ดั้งเดิม in -cache โหมดแคชฝั่งไคลเอ็นต์ พยายามแคช
เมนูแบบเลื่อนลง (ไม่สมบูรณ์แบบเนื่องจากมีการเฟดแบบเคลื่อนไหว ฯลฯ)
-macuskbd
สำหรับเซิร์ฟเวอร์ MacOSX ดั้งเดิม ให้ใช้รหัสแทรกการกดแป้นพิมพ์ดั้งเดิมตามa
แป้นพิมพ์ของสหรัฐอเมริกา
- macnoopengl
สำหรับเซิร์ฟเวอร์ MacOSX ดั้งเดิม อย่าใช้ OpenGL ในการจับภาพหน้าจอ แต่ควรใช้
วิธีการเข้าถึงหน่วยความจำดิบดั้งเดิมที่เลิกใช้แล้ว: addr = CGDisplayBaseAddress()
-macnorawfb
สำหรับเซิร์ฟเวอร์ MacOSX ดั้งเดิม ให้ปิดใช้งานวิธีการจับภาพหน้าจอที่อยู่หน่วยความจำดิบ
MACOSX หมายเหตุ: มีอินเทอร์เฟซ MacOSX ที่เลิกใช้แล้วบางส่วนเพื่อฉีดแป้นพิมพ์และ
เหตุการณ์ของเมาส์และวิธีการเข้าถึงหน่วยความจำดิบก็เลิกใช้เช่นกัน (อย่างไรก็ตาม
OpenGL จะเป็นที่ต้องการหากมีเพราะเร็วกว่า) หนึ่งสามารถบังคับไม่
ใช้อินเทอร์เฟซที่เลิกใช้แล้ว ณ เวลารวบรวมโดยการตั้งค่า
-DX11VNC_MACOSX_NO_DEPRECATED=1 ใน CPPFLAGS หรือปิดทีละรายการ:
-DX11VNC_MACOSX_NO_DEPRECATED_LOCALEVENTS=1,
-DX11VNC_MACOSX_NO_DEPRECATED_POSTEVENTS=1 or
-DX11VNC_MACOSX_NO_DEPRECATED_FRAMEBUFFER=1 ณ รันไทม์ สำหรับการทดสอบและ
วิธีแก้ปัญหา เราสามารถปิดใช้งานได้โดยใช้: -env X11VNC_MACOSX_NO_DEPRECATED=1 -env
X11VNC_MACOSX_NO_DEPRECATED_LOCALEVENTS=1 -env
X11VNC_MACOSX_NO_DEPRECATED_POSTEVENTS=1 หรือ -env
X11VNC_MACOSX_NO_DEPRECATED_FRAMEBUFFER=1 หมายเหตุ: เมื่อทำสิ่งใดสิ่งหนึ่งเหล่านี้สำหรับ
การป้อนข้อมูลด้วยเมาส์ไม่ใช่ทุกอย่างที่ทำงานอยู่ในขณะนี้ เช่น การคลิกสองครั้งและการวางโครงลวด
นอกจากนี้ ความละเอียดหน้าจอและการเปลี่ยนแปลงความลึกของพิกเซลจะไม่ถูกตรวจพบโดยอัตโนมัติ
เว้นแต่จะอนุญาตให้ใช้อินเทอร์เฟซ framebuffer ที่เลิกใช้แล้ว
ในทางกลับกัน หากคุณกำลังคอมไพล์บนเครื่องรุ่นเก่าที่ไม่มี . อยู่บ้าง
อินเทอร์เฟซที่ใหม่กว่า คุณอาจต้องระบุ
-DX11VNC_MACOSX_NO_CGEVENTCREATESCROLLWHEELEVENT
-DX11VNC_MACOSX_NO_CGEVENTCREATEMOUSEEกิจกรรม or
-DX11VNC_MACOSX_NO_CGEVENTCREATEKEYBOARDEVENT ใช้
-DX11VNC_MACOSX_USE_GETMAINDEVICE เพื่อรับ QuickDraw GetMainDevice() ที่เก่ามาก
อินเทอร์เฟซ (หายาก...)
-กุย [gui ตัวเลือก]
เริ่มต้น tcl/tk gui อย่างง่ายโดยใช้ตัวเลือกการควบคุมระยะไกล -remote/-แบบสอบถาม
อธิบายไว้ด้านล่าง. จำเป็นต้องติดตั้งโปรแกรม "wish" บนเครื่อง
ไม่จำเป็นต้องใช้ "gui-opts": ค่าเริ่มต้นคือการเริ่มต้นทั้ง gui แบบเต็มและ x11vnc
โดยมี gui ปรากฏขึ้นบนจอแสดงผล X ในตัวแปรสภาพแวดล้อม DISPLAY
"gui-opts" สามารถเป็นรายการที่คั่นด้วยเครื่องหมายจุลภาค ปัจจุบันมีประเภทนี้
ของรายการ: 1) โหมด gui, 2) gui "ความเรียบง่าย", 3) X แสดง gui ควร
แสดงบน 4) โหมด "ถาด" หรือ "ไอคอน" และ 5) เรขาคณิต gui
1) โหมด gui อาจเป็น "start", "conn" หรือ "wait" "start" เป็นโหมดเริ่มต้นด้านบน
และไม่จำเป็น "conn" หมายถึงไม่เริ่มต้น x11vnc โดยอัตโนมัติ แต่
ให้ลองเชื่อมต่อกับกระบวนการ x11vnc ที่มีอยู่แทน "รอ" แปลว่า เริ่มเลย
gui และไม่มีอะไรอื่น (ในภายหลังคุณจะสั่งให้ gui เริ่ม x11vnc หรือ
เชื่อมต่อกับสิ่งที่มีอยู่)
2) ความเรียบง่ายของ gui ถูกปิดโดยค่าเริ่มต้น (gui ผู้ใช้ระดับสูงที่มีตัวเลือกทั้งหมดคือ
นำเสนอ) เพื่อเริ่มต้นด้วยสิ่งที่ไม่น่ากลัว ให้สตริง "ง่าย" ("ez"
เป็นนามแฝงสำหรับสิ่งนี้) เมื่อเริ่มต้น gui แล้ว คุณสามารถสลับระหว่างทั้งสองด้วย
"เบ็ดเตล็ด -> simple_gui"
3) สังเกตความสับสนที่อาจเกิดขึ้นเกี่ยวกับจอแสดงผล X ที่แตกต่างกันสองจอ:
x11vnc โพลหนึ่ง แต่คุณอาจต้องการให้ gui ปรากฏบนอีกอันหนึ่ง ตัวอย่างเช่น if
คุณ ssh ในและ x11vnc ยังไม่ทำงานคุณอาจต้องการให้ gui กลับมาหาคุณ
ผ่านจอแสดงผล X ที่เปลี่ยนเส้นทาง ssh ของคุณ (เช่น localhost:10)
หากคุณไม่ได้ระบุการแสดงผล gui X ใน "gui-opts" แสดงว่าสภาพแวดล้อม DISPLAY
ตัวแปรและ -แสดง ลองตัวเลือก (ตามลำดับ) เกี่ยวกับ x11vnc X
แสดง gui จะพยายามสื่อสารกับมันก่อนพยายาม -แสดง แล้วก็
แสดง. ตัวอย่างเช่น "x11vnc -แสดง :0 -กุย otherhost:0", จะควบคุมระยะไกล
การหยั่งเสียง x11vnc :0 และแสดง gui บน otherhost:0 โหมด "ถาด/ไอคอน" ด้านล่าง
กลับค่ากำหนดนี้ โดยเลือกที่จะแสดงบนจอแสดงผล x11vnc
4) เมื่อระบุ "ถาด" หรือ "ไอคอน" gui จะแสดงตัวเองเป็นไอคอนขนาดเล็กที่มี
ลักษณะการทำงานทั่วไปของ "ซิสเต็มเทรย์" หรือ "ด็อคแอปเพล็ต" สีของไอคอน
ระบุสถานะ (ไคลเอนต์ที่เชื่อมต่อ) และยังมีสถานะบอลลูน คลิก
บนไอคอนจะมีเมนูที่สามารถตั้งค่าคุณสมบัติ ฯลฯ และ gui แบบเต็มได้
อยู่ภายใต้ "ขั้นสูง" เพื่อให้ทำงานได้อย่างสมบูรณ์ โหมด gui ควรเป็น "เริ่มต้น"
(ค่าเริ่มต้น).
โปรดทราบว่าโหมดถาดหรือไอคอนจะบ่งบอกถึง - ก่อนหน้านี้ x11vnc ตัวเลือก (ถ้า x11vnc
เซิร์ฟเวอร์เริ่มต้นพร้อมกับ gui) เว้นแต่ -เชื่อมต่อ or -connect_or_exit ที่ได้รับ
ระบุไว้ ดังนั้น x11vnc (และถาด/ไอคอน gui) จะรอการเชื่อมต่อเพิ่มเติมหลังจาก
ลูกค้ารายแรกยกเลิกการเชื่อมต่อ หากคุณต้องการเชื่อมต่อผู้ชมเพียงคนเดียวให้รวม
-ครั้งหนึ่ง ตัวเลือก
สำหรับ "ไอคอน" gui เป็นหน้าต่างแบบสแตนด์อโลนขนาดเล็ก สำหรับ "ถาด" จะพยายาม
ฝังตัวเองใน "ถาดระบบ" ถ้าเป็นไปได้ หากต่อท้าย "=setpass" แล้ว at
การเริ่มต้นผู้ใช้ X11 จะได้รับแจ้งให้ตั้งรหัสผ่านเซสชัน VNC ถ้า
= ถูกต่อท้ายไอคอนนั้นจะพยายามฝังตัวเองในหน้าต่างที่กำหนด
โดยเลขฐานสิบหก ใช้ =noadvanced เพื่อปิดการใช้งาน gui แบบเต็ม (เพื่อจัดหามากกว่าหนึ่ง
ใช้เครื่องหมาย "+") เช่น -กุย ถาด=setpass และ -กุย ไอคอน=0x3600028
โหมดอื่นๆ: "เต็ม" ค่าเริ่มต้นและไม่จำเป็นต้องระบุ "-กุย ไม่มี", อย่า
แสดง gui มีประโยชน์ในการแทนที่a ~/.x11vncrc การตั้งค่า ฯลฯ
5) เมื่อระบุ "geom=+X+Y" เรขาคณิตนั้นจะถูกส่งต่อไปยังระดับบนสุดของ gui
นี่คือไอคอนในโหมดไอคอน/ถาด หรือ gui แบบเต็ม นอกจากนี้คุณยังสามารถ
ระบุความกว้างและความสูง เช่น WxH+X+Y แต่ไม่แนะนำ ในโหมด "ถาด"
เรขาคณิตจะถูกละเว้นเว้นแต่ตัวจัดการถาดระบบจะไม่ทำงาน
เราสามารถจินตนาการถึงการใช้บางอย่างเช่น "-กุย ถาด, geom=+4000+4000" พร้อมจอแสดงผล
ผู้จัดการให้ซ่อน gui ไว้จนกว่าจะมีคนล็อกอิน...
เคล็ดลับไอคอนเพิ่มเติม "icon=minimal" ให้ไอคอนด้วยหมายเลขที่แสดง VNC
คุณยังสามารถตั้งค่าแบบอักษรด้วย "iconfont=..." สิ่งต่อไปนี้อาจมีประโยชน์:
"-กุย icon=minimal,iconfont=5x8,geom=24x10+0-0"
ตัวอย่างทั่วไปของ -กุย ตัวเลือก: "x11vnc -กุย", "x11vnc -กุย ez" "x11vnc ." -กุย
localhost:10", "x11vnc ." -กุย conn,host:0", "x11vnc ." -กุย ถาด,ez" "x11vnc -กุย
ถาด = เซ็ตพาส"
หากคุณไม่ต้องการเริ่ม x11vnc จาก gui (เช่นเพียงแค่การควบคุมระยะไกลและ
ที่มีอยู่แล้ว) จากนั้นกระบวนการ gui สามารถทำงานบนเครื่องอื่นจาก x11vnc
เซิร์ฟเวอร์ตราบใดที่สิทธิ์ X ฯลฯ อนุญาตให้มีการสื่อสารระหว่างทั้งสอง
แบบอักษร: ในบางระบบ แบบอักษร tk อาจเล็กเกินไป ขรุขระ หรืออย่างอื่น
อ่านไม่ได้ มี 4 env vars ที่คุณสามารถกำหนดให้เป็นฟอนต์ tk ที่คุณต้องการ:
X11VNC_FONT_BOLD แบบอักษรหลักสำหรับเมนูและปุ่ม แบบอักษร X11VNC_FONT_FIXED สำหรับ
ข้อความความกว้างคงที่
X11VNC_FONT_BOLD_SMALL แบบอักษรไอคอนถาด X11VNC_FONT_REG_SMALL เมนูไอคอนถาด
ตัวอักษร
สองอันสุดท้ายใช้กับโหมดไอคอนถาดเท่านั้น
นี่คือตัวอย่างบางส่วน:
-env X11VNC_FONT_BOLD='เฮลเวติกา -16 ตัวหนา' -env X11VNC_FONT_FIXED='จัดส่ง -14'
-env X11VNC_FONT_REG_SMALL='Helvetica -12'
คุณสามารถใส่บรรทัดเช่นด้านบน (โดยไม่ต้องใส่เครื่องหมายคำพูด) ใน your ~/.x11vncrc ไฟล์
เพื่อหลีกเลี่ยงไม่ให้ต้องระบุบนบรรทัดคำสั่ง x11vnc
รีโมท คำสั่ง
ควบคุมบางแง่มุมของเซิร์ฟเวอร์ x11vnc ที่รันอยู่แล้วจากระยะไกล "-R"และ"-r"
เป็นนามแฝงสำหรับ "รีโมท" หลังจากคำสั่งการควบคุมระยะไกลถูกส่งไปยังการทำงาน
เซิร์ฟเวอร์ 'x11vnc รีโมท ...' x11vnc คำสั่งออก คุณสามารถใช้ .ได้บ่อย
แบบสอบถาม คำสั่ง (ดูด้านล่าง) เพื่อดูว่าเซิร์ฟเวอร์ x11vnc ประมวลผลของคุณ รีโมท
คำสั่ง
ช่องทางการสื่อสารเริ่มต้นคือคุณสมบัติของ X (โดยเฉพาะ
X11VNC_REMOTE) ดังนั้นคำสั่งนี้จึงต้องรันด้วยการตั้งค่าที่ถูกต้องสำหรับ DISPLAY
และอาจเป็น XAUTHORITY เพื่อเชื่อมต่อกับเซิร์ฟเวอร์ X และตั้งค่าคุณสมบัติ
หรือใช้ไฟล์ -แสดง และ -รับรองความถูกต้อง ตัวเลือกในการตั้งค่าให้ถูกต้อง
ค่านิยม เซิร์ฟเวอร์ที่ทำงานอยู่ไม่สามารถใช้คำสั่ง -novncconnect ตัวเลือกเพราะว่า
ปิดการใช้งานช่องทางการสื่อสาร ดูช่องทางอื่นด้านล่าง
ตัวอย่างเช่น: 'x11vnc รีโมท หยุด' (ซึ่งเหมือนกับ ´x11vnc -R หยุด') จะ
ปิดเซิร์ฟเวอร์ x11vnc 'x11vnc -R shared' จะเปิดใช้งานการเชื่อมต่อที่ใช้ร่วมกัน
และ 'x11vnc -R มาตราส่วน:3/4' จะปรับขนาดเดสก์ท็อปใหม่
หากต้องการใช้ชื่ออื่นสำหรับคุณสมบัติ X11 (เช่น เพื่อให้มีการสื่อสารแยกจากกัน
ช่องสำหรับ x11vnc หลายตัวบนจอแสดงผลเดียวกัน) ตั้งค่า X11VNC_REMOTE
ตัวแปรสภาพแวดล้อมเป็นสตริงที่คุณต้องการ ตัวอย่างเช่น: -env
X11VNC_REMOTE=X11VNC_REMOTE_12345 ทั้งสองฝั่งของช่องจะต้องใช้ช่องเดียวกัน
ชื่อที่ไม่ซ้ำ
ในการรันคำสั่งต่างๆ ตามลำดับ ให้ใช้คำสั่งต่อไปนี้: x11vnc -R
'สคริปต์:firstcmd;secondcmd;...'
ใช้ x11vnc -R script:file=/path/to/file เพื่ออ่านคำสั่งจากไฟล์ (สามารถเป็น
บรรทัดและใช้อักขระความคิดเห็น '#' ตามปกติ ';' ตัวคั่นต้อง
ยังคงใช้แยกแต่ละคำสั่ง)
เพื่อไม่ให้พยายามติดต่อกระบวนการ x11vnc อื่นและให้เรียกใช้คำสั่งแทน (หรือ
แบบสอบถาม) โดยตรง นำหน้าคำสั่งด้วยสตริง "DIRECT:"
ดังต่อไปนี้ -รีโมท/-R รองรับคำสั่ง:
หยุดยุติเซิร์ฟเวอร์ เช่นเดียวกับ "ออก" "ออก" หรือ "ปิด"
ping ดูว่าเซิร์ฟเวอร์ x11vnc ตอบสนองหรือไม่ ผลตอบแทนคือ: ans=ping:
ping:mystring ด้านบน แต่ใช้สตริงเฉพาะของคุณเอง ผลตอบแทนคือ:
ans=ping:mystring:
ดำขึ้น พยายามผลักดันการอัปเดต fb สีดำไปยังไคลเอนต์ทั้งหมด (เนื่องจากการกำหนดเวลา a
ลูกค้าอาจพลาด) เช่นเดียวกับ "ศูนย์" และ "zero:x1,y1,x2,y2" สำหรับสี่เหลี่ยมผืนผ้าด้วย
รีเฟรช ส่ง fb ทั้งหมดไปยังไคลเอนต์ทั้งหมด
รีเซ็ต สร้าง fb ใหม่ หน่วยความจำการสำรวจ ฯลฯ
id:ชุดหน้าต่าง -NS หน้าต่างไปที่ "windowid" ว่างหรือ "รูท" เพื่อกลับไปที่รูท
หน้าต่าง
sid:ชุดหน้าต่าง -ซิด หน้าต่างไปที่ "windowid"
id_cmd:cmd cmds: ยก, ต่ำกว่า, แผนที่, ยกเลิกการแมป, แสดงไอคอน, ย้าย:dXdY, ปรับขนาด:dWdH,
ภูมิศาสตร์:กxส+X+Y dX dY, dW และ dH ต้องมี "+" หรือ "-" นำหน้า เช่น move:-30+10
ปรับขนาด:+20+35 ด้วย: wm_delete, wm_name:string และ icon_name:string อีกด้วย
id_cmd:win=N:cmd
waitmapped รอจนกระทั่ง subwin ถูกแมป
nowaitmapped อย่ารอจนกว่าจะทำการแมป subwin
คลิป:กxส+X+Y ชุด -คลิป โหมด "กxส+X+Y"
เปิดใช้งาน flashcmap -แฟลชแมป โหมด.
noflashcmap ปิดการใช้งาน -แฟลชแมป โหมด.
shiftcmap:n ชุด -shiftcmap ถึง น.
เปิดใช้งาน notruecolor -ไม่ทรูคัลเลอร์ โหมด.
ปิดการใช้งานทรูคัลเลอร์ -ไม่ทรูคัลเลอร์ โหมด.
เปิดใช้งานการซ้อนทับ -โอเวอร์เลย์ โหมด (ถ้ามี)
nooverlay ปิดการใช้งาน -โอเวอร์เลย์ โหมด.
overlay_cursor ใน -โอเวอร์เลย์ โหมดเปิดใช้งานการวาดเคอร์เซอร์
overlay_nocursor ปิดใช้งานการวาดเคอร์เซอร์ เช่นเดียวกับ nooverlay_cursor
เปิดใช้งาน 8to24 -8ถึง24 โหมด (ถ้ามี)
no8to24 ปิดการใช้งาน -8ถึง24 โหมด.
8to24_opts:str ตั้งค่า -8ถึง24 เลือกใช้ "str"
เปิดใช้งาน 24to32 -24ถึง32 โหมด (ถ้ามี)
no24to32 ปิดการใช้งาน -24ถึง32 โหมด.
ภาพ:vis set -ภาพ ที่จะ "เห็น"
สเกล:frac set - สเกล เป็น "แฟรค"
scale_cursor:f ชุด -scale_cursor เป็น "ฉ"
เปิดใช้งานดูอย่างเดียว -สำหรับดูเท่านั้น โหมด.
noviewonly ปิดการใช้งาน -สำหรับดูเท่านั้น โหมด.
เปิดใช้งานร่วมกัน - แบ่งปัน โหมด.
ปิดการใช้งาน noshared - แบ่งปัน โหมด.
เปิดใช้งานตลอดไป - ก่อนหน้านี้ โหมด.
ปิดการใช้งานตลอดไป - ก่อนหน้านี้ โหมด.
หมดเวลา:n รีเซ็ต -หมดเวลา ถึง n ถ้าปัจจุบันไม่มีไคลเอนต์ ให้ออก เว้นแต่
หนึ่งเชื่อมต่อในอีก n วินาที
tightfilexfer เปิดใช้งานการถ่ายโอนไฟล์สำหรับลูกค้าใหม่
notightfilexfer ปิดการใช้งานการถ่ายโอนไฟล์สำหรับไคลเอนต์ใหม่
ultrafilexfer เปิดใช้งานการถ่ายโอนไฟล์สำหรับลูกค้า
noultrafilexfer ปิดการใช้งานการถ่ายโอนไฟล์สำหรับลูกค้า
rfbversion:nm set -rfbversion สำหรับลูกค้าใหม่
http เปิดใช้งานการเชื่อมต่อไคลเอ็นต์ http
nohttp ปิดการใช้งานการเชื่อมต่อไคลเอนต์ http
ปฏิเสธ ปฏิเสธการเชื่อมต่อใหม่ เช่นเดียวกับ "ล็อค"
nodeny อนุญาตการเชื่อมต่อใหม่ เช่นเดียวกับ "ปลดล็อก"
avahi เปิดใช้งานการโฆษณาบริการ avahi
noavahi ปิดการใช้งานโฆษณาบริการ avahi
mdns เปิดใช้งานการโฆษณาบริการ avahi
nomdns ปิดใช้งานการโฆษณาบริการ avahi
zeroconf เปิดใช้งานการโฆษณาบริการ avahi
nozeroconf ปิดการใช้งานโฆษณาบริการ avahi
เชื่อมต่อ: โฮสต์ ทำการเชื่อมต่อย้อนกลับกับโฮสต์ "โฮสต์" อาจเป็นรายการที่คั่นด้วยเครื่องหมายจุลภาค
ของโฮสต์หรือโฮสต์:พอร์ต ดู -เชื่อมต่อ. ต้องใช้รหัสผ่านเช่นเดียวกับการเชื่อมต่อ fwd
ดู X11VNC_REVERSE_CONNECTION_NO_AUTH=1
ยกเลิกการเชื่อมต่อ: โฮสต์ ยกเลิกการเชื่อมต่อไคลเอนต์ใด ๆ จาก "โฮสต์" เช่นเดียวกับ "ปิด: โฮสต์" ใช้โฮสต์
"ทั้งหมด" เพื่อปิดไคลเอนต์ปัจจุบันทั้งหมด หากคุณทราบรหัสฐานสิบหกภายในของไคลเอ็นต์ เช่น
0x3 (ส่งคืนโดย "แบบสอบถาม ลูกค้า " และ RFB_CLIENT_ID) คุณก็ใช้ได้เช่นกัน
proxy:host:port ตั้งค่าพร็อกซีการเชื่อมต่อย้อนกลับ (ว่างเพื่อปิดใช้งาน)
allowonce:host สำหรับการเชื่อมต่อครั้งต่อไปเท่านั้น อนุญาตการเชื่อมต่อจาก "host" ใน -ssl
อนุญาตให้เชื่อมต่อโหมดที่สอง (เช่น Fetch Cert) เว้นแต่
X11VNC_NO_SSL_ALLOW_TWICE=1
อนุญาต:hostlist set -อนุญาต list to (คั่นด้วยเครื่องหมายจุลภาค) "hostlist" ดู -อนุญาต และ
-localhost ห้ามใช้กับ -อนุญาต /path/to/file ใช้ "+host" เพื่อเพิ่มโฮสต์เดียว
และใช้ "- โฮสต์" เพื่อลบโฮสต์เดียว
localhost เปิดใช้งาน -localhost โหมด
nolocalhost ปิดการใช้งาน -localhost โหมด
ฟัง:str set -ฟัง เพื่อ str ว่างเพื่อปิดใช้งาน
เปิดใช้งาน noipv6 -noipv6 โหมด.
ipv6 ปิดการใช้งาน -noipv6 โหมด.
เปิดใช้งาน noipv4 -noipv4 โหมด.
ipv4 ปิดการใช้งาน -noipv4 โหมด.
6 เปิดใช้งาน -6 โหมดฟัง IPv6
no6 ปิดการใช้งาน -6 โหมดฟัง IPv6
ปิดการใช้งานการค้นหา -nolookup โหมด.
เปิดใช้งาน nolookup -nolookup โหมด.
ปิดการใช้งานการค้นหา -nolookup โหมด.
อินพุต:str set -ป้อนข้อมูล เป็น "str" เว้นว่างไว้เพื่อปิดการใช้งาน
เปิดใช้งาน grabkbd -grabkbd โหมด.
nograbkbd ปิดการใช้งาน -grabkbd โหมด.
เปิดใช้งาน grabptr -grabptr โหมด.
nograbptr ปิดการใช้งาน -grabptr โหมด.
เปิดใช้งาน grabalways -กราบาลเวย์ โหมด.
nograbalways ปิดการใช้งาน -กราบาลเวย์ โหมด.
grablocal:n ชุด -กราบลอล ถึง น.
client_input:str ตั้งค่า K, M, B -ป้อนข้อมูล บนพื้นฐานต่อลูกค้า เลือกลูกค้า
สำหรับการตัดการเชื่อมต่อ เช่น client_input:host:MB หรือ client_input:0x2:K
ยอมรับ:cmd set -ยอมรับ "cmd" (ว่างเพื่อปิดการใช้งาน)
หลังจากยอมรับ: ชุด cmd -หลังรับ (ว่างเพื่อปิดการใช้งาน).
หายไป:cmd set -ที่ไปแล้ว "cmd" (ว่างเพื่อปิดการใช้งาน)
noshm เปิดใช้งาน -โนชม์ โหมด.
shm ปิดการใช้งาน -โนชม์ โหมด (เช่นใช้ shm)
flipbyteorder เปิดใช้งาน -flipbyteorder โหมดคุณอาจต้องตั้งค่า noshm สำหรับสิ่งนี้เป็น
ทำอะไรสักอย่าง.
noflipbyteorder ปิดการใช้งาน -flipbyteorder โหมด.
เปิดใช้งาน onetile -onetile โหมด. (คุณอาจต้องตั้งค่า shm เพื่อทำสิ่งนี้
บางสิ่งบางอย่าง)
noonetile ปิดการใช้งาน -onetile โหมด.
เปิดใช้งานที่มั่นคง - แข็ง โหมด
nosolid ปิดการใช้งาน - แข็ง โหมด.
solid_color:ชุดสี - แข็ง สี (และนำไปใช้)
blackout:str ชุด - มืดมน "str" (ว่างเพื่อปิดการใช้งาน) ดู - มืดมน สำหรับแบบฟอร์ม
ของ "str" (โดยทั่วไป: WxH+X+Y,...) ใช้ "+WxH+X+Y" เพื่อต่อท้ายการใช้สี่เหลี่ยมผืนผ้าเดียว
"-WxH+X+Y" เพื่อลบหนึ่ง
xinerama เปิดใช้งาน -ซีเนรามา โหมด. (ถ้ามี)
noxinerama ปิดการใช้งาน -ซีเนรามา โหมด.
เปิดใช้งาน xtrap -xtrap โหมดอินพุต (ถ้ามี)
noxtrap ปิดการใช้งาน -xtrap โหมดอินพุต
เปิดใช้งาน xrandr -xrandr โหมด. (ถ้ามี)
noxrandr ปิดการใช้งาน -xrandr โหมด.
xrandr_mode:โหมดตั้งค่า -xrandr โหมดเป็น "โหมด"
หมุน:โหมดตั้งค่า -หมุน โหมดเป็น "โหมด"
padgeom:ชุดกxส -แพดเจียม เป็น WxH (ว่างเพื่อปิดใช้งาน) หาก WxH เป็น "บังคับ" หรือ "ทำ"
เรขาคณิตเสริม fb จะถูกนำไปใช้ทันที
เปิดใช้งานเงียบ -เงียบ โหมด.
noquiet ปิดการใช้งาน -เงียบ โหมด.
เปิดใช้งาน modtweak -ม็อดปรับแต่ง โหมด.
nomodtweak เปิดใช้งาน -nomodtweak โหมด.
เปิดใช้งาน xkb -xkb โหมดปรับแต่ง
noxkb ปิดการใช้งาน -xkb โหมดปรับแต่ง
เปิดใช้งาน capslock -แคปล็อค โหมด.
nocapslock ปิดการใช้งาน -แคปล็อค โหมด.
skip_lockkeys เปิดใช้งาน -skip_lockkeys โหมด.
noskip_lockkeys ปิดการใช้งาน -skip_lockkeys โหมด.
skip_keycodes:str เปิดใช้งาน -xkb -skip_keycodes "สตริ"
sloppy_keys เปิดใช้งาน -sloppy_keys โหมด.
nosloppy_keys ปิดการใช้งาน -sloppy_keys โหมด.
skip_dups เปิดใช้งาน -skip_dups โหมด.
noskip_dups ปิดการใช้งาน -skip_dups โหมด.
add_keysyms เปิดใช้งาน -add_keysyms โหมด.
noadd_keysyms หยุดเพิ่มคีย์ซิมส์ ที่เพิ่มเข้ามาจะยังคงถูกลบออกเมื่อออก
เปิดใช้งาน clear_mods -clear_mods โหมดและล้างพวกเขา
noclear_mods ปิดการใช้งาน -clear_mods โหมด.
clear_keys เปิดใช้งาน -clear_keys โหมดและล้างพวกเขา
noclear_keys ปิดการใช้งาน -clear_keys โหมด.
clear_locks ดำเนินการ clear_locks
clear_all ดำเนินการ clear_all
keystate มี x11vnc พิมพ์สถานะปัจจุบัน
รีแมป:str set -รีแมป "str" (ว่างเพื่อปิดการใช้งาน) ดู -รีแมป สำหรับรูปแบบของ
"str" (โดยทั่วไป: key1-key2,key3-key4,...) ใช้ "+key1-key2" เพื่อต่อท้ายตัวเดียว
การแมปคีย์ใช้ "-key1-key2" เพื่อลบ
nopeeat เปิดใช้งาน -ไม่ทำซ้ำ โหมด.
ปิดการใช้งานซ้ำ -ไม่ทำซ้ำ โหมด.
เปิดใช้งาน nofb -nofb โหมด.
ปิดการใช้งาน fb -nofb โหมด.
กระดิ่ง เปิดใช้งานกระดิ่ง (หากรองรับ)
โนเบลปิดการใช้งานกระดิ่ง
sendbell ส่งเสียงกริ่งเดี๋ยวนี้
เปิดใช้งานจมูก -จมูก โหมด.
ปิดการใช้งานตัวเอง -จมูก โหมด.
เปิดใช้งาน noprimary -ไม่มีหลัก โหมด.
ปิดการใช้งานหลัก -ไม่มีหลัก โหมด.
เปิดใช้งานจมูกหลัก -nosetprimary โหมด.
setprimary ปิดการใช้งาน -nosetprimary โหมด.
noclipboard เปิดใช้งาน -noclipboard โหมด.
คลิปบอร์ดปิดการใช้งาน -noclipboard โหมด.
เปิดใช้งานคลิปบอร์ดจมูก -คลิปบอร์ดจมูก โหมด.
ปิดการใช้งานคลิปบอร์ด -คลิปบอร์ดจมูก โหมด.
เซลเดียร์:ชุด str -เซลเดอร์ เป็น "สตริ"
resend_cutbuffer ส่งสำเนา CUTBUFFER0 ล่าสุดอีกครั้ง
resend_clipboard ส่งสำเนา CLIPBOARD ล่าสุดอีกครั้ง
resend_primary ส่งสำเนาหลักล่าสุดอีกครั้ง
เคอร์เซอร์:เปิดใช้งานโหมด -เคอร์เซอร์ "โหมด".
show_cursor เปิดใช้งานการแสดงเคอร์เซอร์
noshow_cursor ปิดใช้งานการแสดงเคอร์เซอร์ (เหมือนกับ "โนเคอร์เซอร์")
cursor_drag เปิดใช้งานการเปลี่ยนแปลงเคอร์เซอร์ระหว่างการลาก
nocursor_drag ปิดใช้งานการเปลี่ยนแปลงเคอร์เซอร์ระหว่างการลาก
ลูกศร:n ชุด - ลูกศร เพื่อสลับ n.
xfixes เปิดใช้งานโหมดรูปร่างเคอร์เซอร์ xfixes
noxfixes ปิดใช้งานโหมดรูปร่างเคอร์เซอร์ xfixes
alphacut:n ชุด -ตัวอักษร ถึง น.
alphafrac:f ชุด -อัลฟาแฟรค ถึงฉ
alpharemove เปิดใช้งาน -ตัวอักษรย้าย โหมด.
noalpharemo ปิดการใช้งาน -ตัวอักษรย้าย โหมด.
alphablend ปิดการใช้งาน -โนอัลฟาเบลนด์ โหมด.
noalphablend เปิดใช้งาน -โนอัลฟาเบลนด์ โหมด.
ปิดการใช้งานรูปร่างเคอร์เซอร์ -ไม่มีเคอร์เซอร์รูปร่าง โหมด.
เปิดใช้งาน nocursorshape -ไม่มีเคอร์เซอร์รูปร่าง โหมด.
เคอร์เซอร์โพสปิดการใช้งาน -nocursorpos โหมด.
nocursorpos เปิดใช้งาน -nocursorpos โหมด.
เปิดใช้งาน xwarp -xwarppointer โหมด.
noxwarp ปิดการใช้งาน -xwarppointer โหมด.
always_inject เปิดใช้งาน -always_ฉีด โหมด.
noalways_inject ปิดการใช้งาน -always_ฉีด โหมด.
แมปปุ่ม:str set ปุ่มแผนที่ "str" ว่างเพื่อปิดการใช้งาน
ลากปิดการใช้งาน -พยักหน้า โหมด.
เปิดใช้งานการพยักหน้า -พยักหน้า โหมด.
เปิดใช้งานแคชได้อีกครั้ง -cache โหมด.
noncache ปิดการใช้งาน -cache โหมด.
ncache_size:n ชุด -cache ขนาดถึงน.
เปิดใช้งาน ncache_cr -cache_cr โหมด.
noncache_cr ปิดการใช้งาน -cache_cr โหมด.
ncache_no_moveraise เปิดใช้งานโหมด no_moveraise
noncache_no_moveraise ปิดใช้งานโหมด no_moveraise
ncache_no_dtchange เปิดใช้งานโหมด ncache_no_dtchange
noncache_no_dtchange ปิดใช้งานโหมด ncache_no_dtchange
ncache_old_wm เปิดใช้งานโหมด ncache_old_wm
noncache_old_wm ปิดใช้งานโหมด ncache_old_wm
ncache_no_rootpixmap เปิดใช้งาน ncache_no_rootpixmap
noncache_no_rootpixmap ปิดการใช้งาน ncache_no_rootpixmap
ncache_reset_rootpixmap ตรวจสอบรูท pixmap อีกครั้ง ncrp
ncache_keep_anims เปิดใช้งาน ncache_keep_anims
noncache_keep_anims ปิดการใช้งาน ncache_keep_anims
ncache_pad:n ชุด -cache_pad ถึง น.
เปิดใช้งานโครงลวด -โครงลวด โหมด. เช่นเดียวกับ "wf"
noireframe ปิดการใช้งาน -โครงลวด โหมด. เช่นเดียวกับ "ตอนนี้"
โครงร่าง:str enable -โครงลวด สตริงโหมด
wireframe_mode:str เปิดใช้งาน -โครงลวด สตริงโหมด
wireframelocal เปิดใช้งาน wireframelocal เช่นเดียวกับ "wfl"
nowireframe ปิดการใช้งาน wireframelocal เช่นเดียวกับ "nowfl"
wirecopyrect:str ชุด -wirecopyrect สตริง เช่นเดียวกับ "wcr:"
scrollcopyrect:ชุด str -scrollcopyrect สตริง "scr" เดียวกัน
noscrollcopyrect ปิดการใช้งาน -scrollcopyrect__mode_ "นอสเคร"
scr_area:n ชุด -scr_area ถึง n
scr_skip:ชุดรายการ -scr_skip ไปที่ "รายการ"
scr_inc:ชุดรายการ -scr_inc ไปที่ "รายการ"
scr_keys:ชุดรายการ -scr_keys ไปที่ "รายการ"
scr_term:ชุดรายการ -scr_term ไปที่ "รายการ"
scr_keyrepeat:str ชุด -scr_keyrepeat เป็น "สตริ"
scr_parms:str ชุด -scr_parms พารามิเตอร์
แก้ไขหน้าจอ:str set - แก้ไขหน้าจอ เป็น "สตริ"
noxrecord ปิดการใช้งานส่วนขยาย RECORD ทั้งหมด
xrecord เปิดใช้งานการใช้ส่วนขยาย RECORD
reset_record รีเซ็ตส่วนขยาย RECORD (ถ้ามี)
pointer_mode:n ตั้งค่า -ตัวชี้_โหมด ถึง น. เช่นเดียวกับ "pm"
input_skip:n ชุด -input_skip ถึง น.
allinput เปิดใช้งานการใช้ -อัลลินพุท โหมด.
noallinput ปิดการใช้งานของ -อัลลินพุท โหมด.
input_eagerly เปิดใช้งานการใช้ -input_กระตือรือร้น โหมด.
noinput_eagerly ปิดการใช้งานของ -input_กระตือรือร้น โหมด.
ssltimeout:n ตั้งค่า -ssltimeout ถึง น.
ความเร็ว: ชุด str - ความเร็ว ไปสาย
wmdt:str ชุด -wmdt ไปสาย
debug_pointer เปิดใช้งาน -debug_pointer, เช่นเดียวกับ "dp"
nodebug_pointer ปิดการใช้งาน -debug_pointer, เช่นเดียวกับ "พยักหน้า"
debug_keyboard เปิดใช้งาน -debug_keyboard, เช่นเดียวกับ "dk"
nodebug_keyboard ปิดการใช้งาน -debug_keyboard, เช่นเดียวกับ "น็อด"
คีย์โค้ด: n ฉีดการกดแป้น 'keycode' (xmodmap -pk)
รหัส: n ลง 'รหัส' (ลง = 0,1)
keysym:str ฉีดการกดแป้น 'keysym' (หมายเลข/ชื่อ)
keysym:str ฉีดลง 'keysym' (ลง = 0,1)
ptr:x,y,mask inject ตัวชี้เหตุการณ์ x, y, ปุ่ม-mask
fakebuttonevent: ปุ่ม ลงตรง XTestFakeButtonEvent
sleep:t นอนเวลาจุดลอยตัว t.
get_xprop:p รับคุณสมบัติ X ชื่อ 'p'
set_xprop:p:val คุณสมบัติ set X ชื่อ 'p' เป็น 'val' p -> id=NNN:p สำหรับเลขฐานสิบหก/dec
รหัสหน้าต่าง
wininfo:id รับข้อมูลเกี่ยวกับ X window id ใช้ 'root' สำหรับหน้าต่างรูท ใช้ +id
สำหรับเด็ก
grab_state รับสถานะของตัวชี้และการคว้าคีย์บอร์ด
pointer_pos พิมพ์ XQueryPointer x ตำแหน่งเคอร์เซอร์ y
pointer_x พิมพ์ XQueryPointer x ตำแหน่งเคอร์เซอร์
pointer_y พิมพ์ XQueryPointer y ตำแหน่งเคอร์เซอร์
pointer_same พิมพ์ XQueryPointer ptr บนหน้าจอเดียวกัน
pointer_root พิมพ์ XQueryPointer curr ptr rootwin
pointer_mask พิมพ์ปุ่ม XQueryPointer และ mods mask
mouse_x พิมพ์แนวคิดของตำแหน่งเคอร์เซอร์ของ x11vnc
mouse_y พิมพ์แนวคิดของตำแหน่งเคอร์เซอร์ของ x11vnc
หนูไม่ทำอะไร
เลื่อน:n set -เลื่อน เป็น n ms เหมือนกับ deferupdate:n
รอ:n ชุด -รอ ถึง n มิลลิวินาที
extra_fbur:n ชุด -พิเศษ_fbur ถึง น.
wait_ui:f ตั้งค่า -รอ_ui ปัจจัยที่จะฉ
setdefer:n ชุด -setdefer ไปยัง -2,-1,0,1, หรือ 2
wait_bog ปิดการใช้งาน -nowait_bog โหมด.
nowait_bog เปิดใช้งาน -nowait_bog โหมด.
slow_fb:f ตั้งค่า -slow_fb ถึง f วินาที
xrefresh:f ตั้ง -xrefresh ถึง f วินาที
readtimeout:n ตั้งค่าระยะหมดเวลาอ่านเป็น n วินาที
งีบเปิดใช้งาน - งีบหลับ โหมด.
nonap ปิดการใช้งาน - งีบหลับ โหมด.
sb:n ตั้ง -ส ถึง ns เช่นเดียวกับ screen_blank:n
fbpm ปิดการใช้งาน -nofbpm โหมด.
เปิดใช้งาน nofbpm -nofbpm โหมด.
dpms ปิดการใช้งาน -พยักหน้า โหมด.
เปิดใช้งาน nodpms -พยักหน้า โหมด.
เปิดใช้งานบังคับpms -บังคับน โหมด.
noforcedpms ปิดการใช้งาน -บังคับน โหมด.
เปิดใช้งานไคลเอนต์dpms -clientdpms โหมด.
noclientdpms ปิดการใช้งาน -clientdpms โหมด.
noservrdpms เปิดใช้งาน -noservrdpms โหมด.
serverdpms ปิดการใช้งาน -noservrdpms โหมด.
noultraext เปิดใช้งาน -noultraext โหมด.
ปิดการใช้งาน ultraext -noultraext โหมด.
หน้าต่างแชทเปิดใช้งานโหมดหน้าต่างแชทในเครื่อง
nochatwindow ปิดใช้งานโหมดหน้าต่างแชทในเครื่อง
chaton เริ่มแชทโดยใช้หน้าต่างในเครื่อง
chatoff สิ้นสุดการแชทโดยใช้หน้าต่างในเครื่อง
xdamage เปิดใช้งานคำแนะนำการสำรวจ xdamage
noxdamage ปิดใช้งานคำแนะนำการสำรวจ xdamage
xd_area:ชุด -xd_area พื้นที่พิกเซลสูงสุดเป็น "A"
xd_mem:f ชุด -xd_mem ความทรงจำถึง "f"
fs: ชุด frac -fs เศษส่วนเป็น "frac" เช่น 0.5
ช่องว่าง:n ชุด -ช่องว่าง ถึง น.
เติบโต:n ชุด -เติบโต ถึง น.
fuzz:n ชุด -ฝอย ถึง น.
เปิดใช้งาน snapfb -snapfb โหมด.
nosnapfb ปิดการใช้งาน -snapfb โหมด.
rawfb:ชุด str -rawfb โหมดเป็น "str"
uinput_accel:f ตั้งค่า uinput_accel เป็น f
uinput_thresh:n ตั้งค่า uinput_thresh เป็น n
uinput_reset:n ตั้งค่า uinput_reset เป็น n ms
uinput_always:n ตั้งค่า uinput_always เป็น 1/0
โปรเกรสซีฟ:n ตั้งค่า LibVNCServer -ความก้าวหน้า พารามิเตอร์ความสูงสไลซ์เป็น n
เดสก์ท็อป:str set -เดสก์ทอป ตั้งชื่อเป็น str สำหรับลูกค้าใหม่
rfbport:n ชุด -rfbพอร์ต ถึง น.
เปิดใช้งาน macnosaver -แมคโนเซฟเวอร์ โหมด.
macsaver ปิดการใช้งาน -แมคโนเซฟเวอร์ โหมด.
เปิดใช้งาน macnowait -แมคโนเวท โหมด.
macwait ปิดการใช้งาน -แมคโนเวท โหมด.
macwheel:n ชุด -แม็ควีล ถึง น.
เปิดใช้งาน macnoswap - macnoswap โหมดปุ่มเมาส์
macswap ปิดการใช้งาน - macnoswap โหมดปุ่มเมาส์
เปิดใช้งานการปรับขนาด -แมคโนเรไซส์ โหมด.
macresize ปิดการใช้งาน -แมคโนเรไซส์ โหมด.
maciconanim:n ชุด -แมคซิโคนานิม ถึง น.
เปิดใช้งานเมนู Mac -แมคเมนู โหมด.
macnomenu ปิดการใช้งาน -แมคเมนู โหมด.
macuskbd เปิดใช้งาน -macuskbd โหมด.
macnouskbd ปิดการใช้งาน -macuskbd โหมด.
httpport:n ตั้งค่า -httpพอร์ต ถึง น.
httpdir:ชุดคำสั่ง -httpdir เพื่อ dir (และเปิดใช้งาน http)
enablehttpproxy เปิดใช้งาน -เปิดใช้งานhttpproxy โหมด.
noenablehttpproxy ปิดการใช้งาน -เปิดใช้งานhttpproxy โหมด.
เปิดใช้งานร่วมกันเสมอ -แชร์เสมอ โหมด.
noalwaysshared ปิดการใช้งาน -แชร์เสมอ โหมด. (อาจรบกวนตัวเลือกอื่นๆ)
เปิดใช้งานไม่เคยแชร์ -ไม่เคยแชร์ โหมด.
ปิดใช้งานไม่แชร์ -ไม่เคยแชร์ โหมด. (อาจรบกวนตัวเลือกอื่นๆ)
ไม่ได้เปิดใช้งานการเชื่อมต่อ -อย่าตัดการเชื่อมต่อ โหมด.
nodontdisconnect ปิดการใช้งาน -อย่าตัดการเชื่อมต่อ โหมด. (อาจรบกวนตัวเลือกอื่นๆ)
debug_xevents เปิดใช้งานการดีบัก X เหตุการณ์
nodebug_xevents ปิดใช้งานการดีบักเหตุการณ์ X
debug_xdamage เปิดใช้งานกลไกการดีบัก X DAMAGE
nodebug_xdamage ปิดใช้งานกลไกการดีบัก X DAMAGE
debug_wireframe เปิดใช้งานกลไกการดีบัก wireframe
nodebug_wireframe ปิดใช้งานกลไกการดีบัก wireframe
debug_scroll เปิดใช้งานกลไกการดีบัก scrollcopy
nodebug_scroll ปิดใช้งานกลไกการดีบัก scrollcopy
เปิดใช้งาน debug_tiles -debug_tiles
nodebug_tiles ปิดการใช้งาน -debug_tiles
debug_grabs เปิดใช้งาน -debug_grabs
nodebug_grabs ปิดการใช้งาน -debug_grabs
debug_sel เปิดใช้งาน -debug_sel
nodebug_sel ปิดการใช้งาน -debug_sel
debug_ncache เปิดใช้งาน -debug_cache
nodebug_ncache ปิดการใช้งาน -debug_cache
dbg เปิดใช้งาน -dbg เปลือกพัง
nodbg ปิดการใช้งาน -dbg เปลือกพัง
noremote ปิดการใช้งาน รีโมท การประมวลผลคำสั่งไม่สามารถย้อนกลับได้
บน
bcx_xattach:str คำสั่งการควบคุมระยะไกลนี้ใช้สำหรับ BARCO xattach
โปรแกรมหรือโปรแกรม x2x โปรแกรมทั้งสองนี้มีไว้สำหรับ 'ตัวชี้และแป้นพิมพ์'
การแชร์ระหว่างจอแสดงผล X แยกกัน โดยทั่วไปแล้ว จอภาพทั้งสองมักจะเป็น
ที่อยู่ใกล้เคียง เช่น บนโต๊ะเดียวกัน ซึ่งช่วยให้ผู้ใช้สามารถแชร์ตัวชี้เดียว
และคีย์บอร์ดระหว่างกัน ผู้ใช้เลื่อนเมาส์ไปที่ขอบแล้วเลื่อนเมาส์
ตัวชี้ปรากฏขึ้นเพื่อ 'กระโดด' ไปยังหน้าจอแสดงผลอื่น ดังนั้นจึงเลียนแบบสิ่งที่
เซิร์ฟเวอร์ X เดียวจะทำสองหน้าจอ (เช่น :0.0 และ :0.1) ภาพลวงตาของ
Xserver เดียวที่มีหลายหน้าจอทำได้โดยการส่งต่อเหตุการณ์ไปที่2nd
หนึ่งผ่านส่วนขยาย XTEST
สิ่งที่คำสั่ง x11vnc bcx_xattach ทำคือทำการเคลื่อนย้ายตัวชี้ไปที่
พยายามชักนำ xattach/x2x ให้ 'กระโดด' ไปยังจอแสดงผลอื่น ในสิ่งที่ตามมา
'ต้นแบบ' หมายถึงการแสดงผลที่เมื่อมี 'โฟกัส' โดยทั่วไปแล้วจะทำ
ไม่มีอะไรนอกจากการเฝ้าดูเมาส์ให้ข้ามขอบ การแสดง 'ทาส'
หมายถึงตัวที่เมาส์และคีย์บอร์ดถูกเปลี่ยนเส้นทางไปครั้งหนึ่งขอบใน
เจ้านายได้รับการข้าม โปรดทราบว่า x11vnc ดำเนินการ bcx_xattach
คำสั่งจะต้องเป็นคำสั่งที่เชื่อมต่อกับจอแสดงผล *master*
โปรดทราบด้วยว่าเมื่อมีการเปลี่ยนเส้นทางอินพุต (ผ่าน XTEST) จากจอแสดงผลหลัก
ไปยังจอแสดงผลรอง ตัวชี้และแป้นพิมพ์ของจอแสดงผลหลักจะถูก *จับ* โดย
xattach/x2x. x11vnc สามารถใช้ข้อมูลนี้เพื่อตรวจสอบว่าโหมด master/slave เปลี่ยนไปหรือไม่
ได้เกิดขึ้นอย่างถูกต้อง หากคุณระบุตัวเลือก "ifneeded" (ดูด้านล่าง) และ
สถานะการคว้าเริ่มต้นคือสถานะสุดท้ายที่ต้องการ จากนั้นไม่มีตัวชี้
มีการฉีดการเคลื่อนไหวและส่งคืน "DONE,GRAB_OK"
"str" ต้องมี "up", "down", "left" หรือ "right" อย่างใดอย่างหนึ่งเพื่อระบุ
ทิศทางของ 'กระโดด' "str" ต้องมีหนึ่งใน "master_to_slave" หรือ
"slave_to_master" เพื่อระบุประเภทของการเปลี่ยนโหมดที่เกิดจากการกระโดด ใช้
"M2S" และ "S2M" เป็นนามแฝงที่สั้นกว่า
"str" อาจเป็น "+" แยกรายการตัวเลือกการปรับแต่งเพิ่มเติม "กะ=n"
ตัวเลือกระบุตำแหน่งการเปลี่ยนออฟเซ็ตห่างจาก (0,0) (ค่าเริ่มต้น 20)
"final=x+y" ระบุตำแหน่งสุดท้ายของเคอร์เซอร์ที่ส่วนท้ายของค่าปกติ
ลำดับการย้าย; ค่าเริ่มต้น 30+30 "extra_move=x+y" หมายถึงทำการย้ายตัวชี้อีกครั้ง
หลังจาก "สุดท้าย" ถึง x+y "dt=n" ตั้งเวลาสลีปเป็นมิลลิวินาทีระหว่างตัวชี้
ย้าย (ค่าเริ่มต้น: 40ms) "retry=n" ระบุจำนวนครั้งสูงสุดของการลองใหม่หาก grab
การเปลี่ยนแปลงสถานะล้มเหลว "ifneeded" หมายความว่า ไม่ใช้การเคลื่อนไหวของตัวชี้หาก
สถานะการคว้าเริ่มต้นคือสถานะสุดท้ายที่ต้องการ "nograbcheck" หมายความว่า ไม่
ตรวจสอบว่าสถานะการคว้าเปลี่ยนไปตามที่คาดไว้หรือไม่และใช้การเคลื่อนไหวของตัวชี้เท่านั้น
(ค่าเริ่มต้นคือการตรวจสอบสถานะการคว้า)
หากคุณไม่ระบุ "ขึ้น" เป็นต้น ไปที่ bcx_xattach จะไม่ดำเนินการใดๆ และ
คำสั่งส่งคืนสตริง FAIL,NO_DIRECTION_SPECIFIED ถ้าไม่ระบุ
"master_to_slave" หรือ "M2S" เป็นต้น เพื่อ bcx_xattach จะไม่มีความพยายามใดๆ และ
คำสั่งส่งคืนสตริง FAIL,NO_MODE_CHANGE_SPECIFIED
มิฉะนั้น สตริงที่ส่งคืนจะมี "DONE" มันจะเป็น "DONE,GRAB_OK" ถ้า
สถานะการคว้าเปลี่ยนไปตามที่คาดไว้ (หรือหากมีการจัดหา "ifneeded" และค่าเริ่มต้น
สถานะการคว้าเป็นที่ต้องการอยู่แล้ว) หากสถานะการคว้าเริ่มต้นไม่ถูกต้อง
แต่สถานะการคว้าสุดท้ายถูกต้อง จากนั้นจะเป็น "DONE,GRAB_FAIL_INIT" ถ้า
สถานะการคว้าเริ่มต้นถูกต้อง แต่สถานะการคว้าครั้งสุดท้ายไม่ถูกต้อง ดังนั้นจึงเป็น
"เสร็จสิ้น GRAB_FAIL_FINAL" หากทั้งสองไม่ถูกต้อง จะเป็น "DONE,GRAB_FAIL" ภายใต้
คว้าความล้มเหลวสตริงจะตามด้วย ":p1,k1-p2,k2" โดยที่ p1,k1 ระบุ
สถานะตัวชี้เริ่มต้นและคีย์บอร์ดและ p2,k2 อันสุดท้าย ถ้า GRAB_FAIL
หรือ GRAB_FAIL_FINAL เกิดขึ้น การดำเนินการจะถูกลองใหม่สูงสุด 3 ครั้ง พยายามที่จะ
รีเซ็ตสถานะและนอนหลับเล็กน้อยระหว่างการลองแต่ละครั้ง ตั้งค่า retry=n เพื่อปรับ
จำนวนครั้งในการลองใหม่ ศูนย์เพื่อปิดใช้งานการลองใหม่
ตัวอย่าง: -R bcx_xattach:ลง+M2S -R bcx_xattach:ขึ้น+S2M -R
bcx_xattach:up+S2M+nograbcheck+dt=30 -R bcx_xattach:ลง+M2S+extra_move=100+100
หรือใช้ -Q แทน -R เพื่อดึงข้อความผลลัพธ์
สิ้นสุดคำอธิบาย bcx_xattach:str
การขอ vncconnect(1) คำสั่งจากการแจกแจง VNC มาตรฐานอาจใช้ถ้า
string นำหน้าด้วย "cmd=" เช่น 'vncconnect cmd=stop' ภายใต้บางอย่าง
สถานการณ์ เอ็กซ์พร็อพ(1) ใช้ได้ถ้ารองรับ -SET (ดูคำถามที่พบบ่อย)
ถ้า "-เชื่อมต่อ /พาธ/ถึง/ไฟล์" ได้ถูกส่งไปยังเซิร์ฟเวอร์ x11vnc ที่ทำงานอยู่แล้ว
ไฟล์นั้นสามารถใช้เป็นช่องทางการสื่อสารได้ (นี่เป็นวิธีเดียวในการรีโมท
ควบคุมหนึ่งในหลาย ๆ x11vnc ที่ทำการสำรวจจอแสดงผล X เดียวกัน) เพียงเรียกใช้: 'x11vnc
-เชื่อมต่อ /พาธ/ถึง/ไฟล์ รีโมท ...' หรือคุณสามารถเขียนไปยังไฟล์โดยตรงผ่าน
บางอย่างเช่น: "echo cmd=stop > /path/to/file" เป็นต้น
แบบสอบถาม ตัวแปร
Like -ระยะไกล, ยกเว้นเพียงแค่สอบถามค่าของ ตัวแปร. "-Q" เป็นนามแฝงสำหรับ
"แบบสอบถาม" สามารถสืบค้นได้หลายรายการโดยคั่นตัวแปรด้วยเครื่องหมายจุลภาค เช่น
แบบสอบถาม วาร์1,วาร์2 ผลลัพธ์กลับมาในรูปแบบ
ans=var1:value1,ans=var2:value2,... ไปยังเอาต์พุตมาตรฐาน ถ้าตัวแปร is
อ่านอย่างเดียว มันกลับมาพร้อมกับคำนำหน้า "aro=" แทน "ans="
เรื่อง รีโมท คำสั่งเป็นการกระทำล้วนๆ ที่ไม่สมเหตุสมผลเป็นตัวแปร เช่น
"หยุด" หรือ "ตัดการเชื่อมต่อ" ในกรณีเหล่านี้ ค่าที่ส่งคืนคือ "N/A" กำกับ a
แบบสอบถามตรงไปยังคุณสมบัติ X11VNC_REMOTE หรือเชื่อมต่อไฟล์ใช้ "qry=..." แทน
ของ "cmd=..."
ans= หยุด ออกจาก ออก ปิดเครื่อง ping resend_cutbuffer resend_clipboard resend_primary
ทำให้เป็นศูนย์ รีเฟรช รีเซ็ต ปิด ยกเลิกการเชื่อมต่อ id_cmd id sid waitmapped nowaitmapped
คลิป flashcmap noflashcmap shiftcmap ทรูคัลเลอร์ ไม่ใช่ทรูคัลเลอร์ โอเวอร์เลย์ nooverlay
overlay_cursor overlay_yescursor nooverlay_nocursor nooverlay_cursor
nooverlay_yes เคอร์เซอร์ overlay_nocursor 8to24 no8to24 8to24_opts 24to32 no24to32
ขนาดภาพ scale_cursor ดูอย่างเดียว noviewonly แชร์ noshared ตลอดไปไม่ตลอดไป
เมื่อหมดเวลา tightfilexfer notightfilexfer ultrafilexfer noultrafilexfer rfbversion
ปฏิเสธการล็อค nodeny ปลดล็อค avahi mdns zeroconf noavahi nomdns nozeroconf เชื่อมต่อพร็อกซี่
อนุญาตครั้งเดียว อนุญาต noipv6 ipv6 noipv4 ipv4 no6 6 localhost nolocalhost ฟังการค้นหา
nolookup ยอมรับ afteraccept ไปแล้ว shm noshm flipbyteorder noflipbyteorder onetile
noonetile solid_color ทึบ nosolid blackout xinerama noxinerama xtrap noxtrap
xrandr noxrandr xrandr_mode หมุน padgeom เงียบ q noquiet modtweak nomodtweak xkb
noxkb capslock nocapslockskip_lockkeys noskip_lockkeysskip_keycodes sloppy_keys
nosloppy_keysskip_dups noskip_dups add_keysyms noadd_keysyms clear_mods
noclear_mods clear_keys noclear_keys clear_all clear_locks keystate ทำการแมปซ้ำ
norepeat fb nofb เบลล์ nobell sendbell sel nosel primary noprimary setprimary
nosetprimary clipboard noclipboard setclipboard nosetclipboard seldir เคอร์เซอร์รูปร่าง
เคอร์เซอร์รูปร่าง nocursorpos nocursorpos cursor_drag nocursor_drag เคอร์เซอร์ show_cursor
noshow_cursor nocursor ลูกศร xfixes noxfixes xdamage noxdamage xd_area xd_mem
alphacut alphafrac alpharemove noalpharemove อัลฟาเบลนด์ noalphablend xwarppointer
xwarp noxwarppointer noxwarp always_inject noalways_inject การลากแมปปุ่ม
พยักหน้า ncache_cr noncache_cr ncache_no_moveraise noncache_no_moveraise
ncache_no_dtchange noncache_no_dtchange ncache_no_rootpixmap ไม่ใช่แคช_no_rootpixmap
ncache_reset_rootpixmap ncrp ncache_keep_anims ไม่ใช่แคช_keep_anims ncache_old_wm
noncache_old_wm ncache_pad ncache ไม่ใช่แคช ncache_size debug_ncache nodebug_ncache
wireframe_mode wireframe wf ตอนนี้ireframe ตอนนี้f wireframelocal wfl ตอนนี้ireframelocal
nowfl wirecopyrect wcr nowirecopyrect ตอนนี้cr scr_area scr_skip scr_inc scr_keys
scr_term scr_keyrepeat scr_parms scrollcopyrect scr noscrollcopyrect noscr
หน้าจอแก้ไข noxrecord xrecord reset_record pointer_mode pm input_skip allinput
noallinput input_eagerly noinput_eagerly อินพุต grabkbd nograbkbd grabptr nograbptr
grabalways nograbalways grablocal client_input ssltimeout ความเร็ว wmdt debug_pointer
dp nodebug_pointer nodp debug_keyboard dk nodebug_keyboard รหัสคีย์ nodk keysym ptr
fakebuttonevent นอนหลับ get_xprop set_xprop wininfo bcx_xattach เลื่อนการอัปเดตเลื่อนออกไป
setdefer extra_fbur wait_ui wait_bog nowait_bog slow_fb xrefresh รออ่านหมดเวลา
งีบหลับ sb screen_blank fbpm nofbpm dpms nodpms ลูกค้าdpms noclientdpms บังคับ
noforcedpms noservrdpms serverdpms noultraext ultraext หน้าต่างแชท nochatwindow
chaton chatoff fs gaps เติบโต fuzz snapfb nosnapfb rawfb uinput_accel uinput_thresh
uinput_reset uinput_always โปรเกรสซี rfbport http nohttp httpport httpdir
enablehttpproxy noenablehttpproxy alwaysshared noalwaysshared nevershared . เปิดใช้งานhttpproxy noenablehttpproxy alwaysshared noalwaysshared nevershared
noalwaysshared อย่าตัดการเชื่อมต่อ nodontdisconnect เดสก์ท็อป debug_xevents
nodebug_xevents debug_xevents debug_xdamage nodebug_xdamage ดีบัก_xdamage
debug_wireframe nodebug_wireframe debug_wireframe debug_scroll nodebug_scroll
debug_scroll debug_tiles dbt nodebug_tiles nodbt debug_tiles debug_grabs
nodebug_grabs debug_sel nodebug_sel dbg nodbg macnosaver macsaver โนแมคโนซาเวอร์
macnowait macwait nomacnowait macwheel macnoswap macswap nomacnoswap macnoresize
macresize nomacnoresize maciconanim เมนู mac macnomenu nomacmenu macuskbd nomacuskbd
ไม่ห่างไกล
aro= noop แสดง vncdisplay icon_mode ออโต้พอร์ต loopbg ชื่อเดสก์ท็อป
Guess_desktop Guess_dbus http_url รับรองความถูกต้อง xauth ผู้ใช้ rootshift clipshift scale_str
scaled_x scaled_y scale_numer scale_denom scale_fac_x scale_fac_y สเกล_เบลนด์
scaling_nomult4 scaling_pad scaling_interpolate inetd privremote ไม่ปลอดภัยปลอดภัยกว่า
nocmds passwdfile unixpw unixpw_nis unixpw_list ssl ssl_pem sslverify ตะลึง
stunnel_pem https httpsredir usepw using_shm logfile o ตั้งค่าสถานะ rmflag rc norc h ช่วย V
เวอร์ชัน Lastmod bg sigpipe threads readrate netrate netlatency pipeinput client
ลูกค้า_นับ pid ext_xtest ext_xtrap ext_xrecord ext_xkb ext_xshm ext_xinerama
ext_overlay ext_xfixes ext_xdamage ext_xrandr รูทวิน num_buttons button_mask
mouse_x mouse_y Grab_state pointer_pos pointer_x pointer_y pointer_same
pointer_root pointer_mask ความลึก bpp indexed_color dpy_x dpy_y wdpy_x wdpy_y off_x
off_y cdpy_x cdpy_y coff_x coff_y rfbauth รหัสผ่าน viewpasswd
-คิวดี ตัวแปร
เช่นเดียวกับ แบบสอบถาม ตัวแปร แต่คืนค่าดีฟอลต์สำหรับพารามิเตอร์นั้น (no
ใช้งานเซิร์ฟเวอร์ x11vnc ปรึกษา)
-ซิงค์
ตามค่าเริ่มต้น รีโมท คำสั่งทำงานแบบอะซิงโครนัส นั่นคือ คำขอถูกโพสต์
และโปรแกรมจะออกทันที ใช้ -ซิงค์ เพื่อให้โปรแกรมรอ an
การตอบรับจากเซิร์ฟเวอร์ x11vnc ที่คำสั่งถูกประมวลผล (อย่างใด) บน
อีกข้างหนึ่ง แบบสอบถาม คำขอจะได้รับการประมวลผลแบบซิงโครนัสเสมอเพราะมี
เพื่อรอคำตอบ
พึงทราบด้วยว่าถ้าทั้งสองอย่าง รีโมท และ แบบสอบถาม คำขอมีให้ในคำสั่ง
เส้น รีโมท ถูกประมวลผลก่อน (พร้อมกัน: ไม่จำเป็นสำหรับ -ซิงค์), แล้วก็
แบบสอบถาม คำขอจะดำเนินการตามปกติ วิธีนี้ช่วยให้เชื่อถือได้
เพื่อดูว่า รีโมท คำสั่งถูกประมวลผลโดยการสอบถามการตั้งค่าใหม่ใดๆ บันทึก
อย่างไรก็ตามมีการหมดเวลาไม่กี่วินาที (ดูย่อหน้าถัดไป) ดังนั้นหาก
x11vnc ใช้เวลานานกว่านั้นในการประมวลผลคำขอที่ผู้ร้องขอจะคิดว่า
ความล้มเหลวได้เกิดขึ้น
ค่าเริ่มต้นคือรอ 3.5 วินาที หรือถ้า cmd=stop เพียง 1.0 วินาที ถ้า cmd
ตรงกับ 'script:' จากนั้นจะรอนานถึง 10.0 วินาที ตั้งค่า X11VNC_SYNC_TIMEOUT เป็น
จำนวนวินาทีที่คุณต้องการให้รอ
-query_retry Str
หากการสืบค้นล้มเหลวในการรับการตอบสนองจากเซิร์ฟเวอร์ x11vnc ให้ลองใหม่มากถึง n ครั้ง Str
ถูกระบุเป็น n[:t][/match] อาจระบุการหน่วงเวลาระหว่างการพยายามได้
โดย "t" เวลาทศนิยม (ค่าเริ่มต้น 0.5 วินาที) หมายเหตุ: การตอบสนองไม่ใช่
ตรวจสอบความถูกต้องหรือว่าสอดคล้องกับแบบสอบถามที่ส่งไปหรือไม่ แบบสอบถาม
"ping:mystring" อาจใช้เพื่อช่วยระบุการสืบค้นที่ไม่ซ้ำ ทางเลือก a
สตริงที่ตรงกันหลังจาก "/" จะถูกใช้เพื่อตรวจสอบข้อความผลลัพธ์ มากถึง n ลองใหม่
จะเกิดขึ้นจนกว่าจะพบสตริงที่ตรงกันในข้อความที่ส่งออก ถ้า
ไม่พบสตริงที่ตรงกัน รหัสออกของโปรแกรมคือ 1; หากพบว่าตรงกัน
ออกด้วย 0 โปรดทราบว่าอาจมีการพิมพ์ stdout สำหรับการลองใหม่แต่ละครั้ง (เช่น multiple
บรรทัดที่พิมพ์ไปยัง stdout) ตัวอย่าง: -query_retry 4:1.5/grab_state
-remote_prefix Str
เปิดใช้งานช่องทางการสื่อสารการควบคุมระยะไกลสำหรับไคลเอ็นต์ VNC ที่เชื่อมต่อ str คือ a
สตริงที่ไม่ว่างเปล่า หากไคลเอนต์ VNC ส่ง rfbCutText ที่มีคำนำหน้า Str แล้ว
ส่วนหนึ่งหลังจากประมวลผลราวกับว่าถูกส่งผ่าน 'x11vnc รีโมท ...'. ถ้ามัน
เริ่มต้นด้วยทั้ง 'cmd=' หรือ 'qry=' จากนั้นจะถือว่า 'qry=' ใด ๆ ที่สอดคล้องกัน
ข้อความเอาต์พุตสำหรับคำสั่งการควบคุมระยะไกลนั้นจะถูกส่งกลับไปยังไคลเอนต์ทั้งหมดเป็น
rfbCutText ผลลัพธ์ที่ส่งคืนยังนำหน้าด้วย Str. ตัวอย่าง:
-remote_prefix ทำเช่นนี้:
โปรดทราบว่าการเปิดใช้งาน -remote_prefix อนุญาตให้ผู้ดู VNC ระยะไกลเรียกใช้ x11vnc
รีโมท คำสั่ง อย่าใช้ตัวเลือกนี้หากไม่น่าเชื่อถือ
-โนรีโมต, - ใช่ระยะไกล
ห้ามประมวลผลคำสั่งหรือคำค้นหาของรีโมตคอนโทรล ทำการประมวลผลการควบคุมระยะไกล
คำสั่งหรือแบบสอบถาม ค่าเริ่มต้น: - ใช่ระยะไกล
หมายเหตุเกี่ยวกับคำสั่งควบคุมระยะไกล wrt ความปลอดภัย หากใครสามารถเชื่อมต่อกับ X . ได้
แสดงและเปลี่ยนคุณสมบัติ X11VNC_REMOTE จากนั้นควบคุมจากระยะไกล
x11vnc. โดยปกติการเข้าถึงจอแสดงผล X จะได้รับการคุ้มครอง โปรดทราบว่าหากพวกเขาสามารถ
แก้ไข X11VNC_REMOTE บนเซิร์ฟเวอร์ X พวกเขามีสิทธิ์เพียงพอที่จะเรียกใช้
x11vnc ของตัวเองและสามารถควบคุมเดสก์ท็อปได้อย่างสมบูรณ์ ถ้า "-เชื่อมต่อ
/พาธ/ถึง/ไฟล์" กำลังใช้ช่อง ใครเขียนได้
/path/to/file สามารถควบคุม x11vnc จากระยะไกลได้ ดังนั้นโปรดปกป้องจอแสดงผล X และ
สิทธิ์การเขียนของไฟล์นั้น ดู -ส่วนตัว ด้านล่าง
หากคุณเป็นคนหวาดระแวงและอย่าคิด -โนรีโมต ก็เพียงพอแล้วที่จะปิดการใช้งาน
ช่องคุณสมบัติ X11VNC_REMOTE ใช้อย่างสมบูรณ์ -novncconnect, หรือใช้ -ปลอดภัยกว่า
ตัวเลือกที่ปิดหลายสิ่งหลายอย่าง
-ไม่ปลอดภัย
คำสั่งระยะไกลบางคำสั่งถูกปิดใช้งานโดยค่าเริ่มต้น (ปัจจุบันคือ: id:pick, ยอมรับ: ,
ไปแล้ว: และ rawfb:setup: ) เพราะเกี่ยวข้องกับการวิ่ง
โปรแกรมภายนอก หากคุณระบุ -ไม่ปลอดภัย คำสั่งควบคุมระยะไกลเหล่านี้คือ
อนุญาต. โปรดทราบว่าคุณยังคงระบุพารามิเตอร์เหล่านี้ได้ในบรรทัดคำสั่ง
พวกเขาไม่สามารถเรียกใช้ผ่านรีโมทคอนโทรลได้
-ปลอดภัยกว่า
เทียบเท่ากับ: -novncconnect -โนรีโมต และห้าม -กุย และ -เชื่อมต่อ ไฟล์
ปิดช่องทางการสื่อสาร
-ส่วนตัว
ทำการตรวจสอบสติและปิดการใช้งานคำสั่งการควบคุมระยะไกลหากปรากฏว่า
X DISPLAY และ/หรือ connectfile สามารถเข้าถึงได้โดยผู้ใช้รายอื่น เมื่อระยะไกล-
การควบคุมถูกปิดใช้งาน ไม่สามารถเปิดได้อีก
-nocmds
ไม่มีคำสั่งภายนอก (เช่น ระบบ(3), เปิด(3), exec(3) ) จะถูกเรียกใช้เลย
-allowedcmds รายการ
รายการ มีรายการที่คั่นด้วยเครื่องหมายจุลภาคของคำสั่งภายนอกเท่านั้นที่สามารถรันได้
รายการทั้งหมดของตัวเลือกที่เกี่ยวข้องคือ:
stunnel, ssl, unixpw, WAIT, zeroconf, id, ยอมรับ, หลังจากยอมรับ, หายไป, อินพุตไปป์,
v4l-ข้อมูล, การตั้งค่า rawfb, dt, gui, ssh, storepasswd, passwdfile, custom_passwd,
findauth ความผิดพลาด
ดูวิธีใช้ของแต่ละตัวเลือกเพื่อเรียนรู้คำสั่งภายนอกที่เกี่ยวข้อง โปรดทราบว่า
-nocmds ตัวเลือกมีความสำคัญกว่าและปิดใช้งานคำสั่งภายนอกทั้งหมด
-ปฏิเสธ_ทั้งหมด
สำหรับใช้กับ รีโมท nodeny: เริ่มการปฏิเสธลูกค้าที่เข้ามาทั้งหมดจนถึง "รีโมท
โหนด" ใช้เพื่อปล่อยให้เข้ามา
ตัวเลือกเหล่านี้ถูกส่งไปยัง LibVNCServer:
-rfbพอร์ต พอร์ต
พอร์ต TCP สำหรับโปรโตคอล RFB
-rfbรอ เวลา
เวลาสูงสุดในหน่วย ms เพื่อรอไคลเอ็นต์ RFB
-rfbauth รหัสผ่าน-ไฟล์
ใช้การพิสูจน์ตัวตนบนโปรโตคอล RFB (ใช้ 'x11vnc -storepasswd ส่งไฟล์' เพื่อสร้าง a
ไฟล์รหัสผ่าน)
-rfbversion 3.x
กำหนดเวอร์ชันของ RFB ที่เราเลือกโฆษณา
- อนุญาตให้ถ่ายโอนไฟล์
อนุญาตการสนับสนุนการถ่ายโอนไฟล์
-รหัสผ่าน รหัสผ่านธรรมดา
ใช้การรับรองความถูกต้อง (ใช้รหัสผ่านธรรมดาเป็นรหัสผ่าน ใช้ความเสี่ยงของคุณ)
- เลื่อนการอัปเดต เวลา
เวลาเป็นมิลลิวินาทีเพื่อเลื่อนการอัปเดต (ค่าเริ่มต้น 40)
-เลื่อนออกไป เวลา
เวลาเป็น ms เพื่อเลื่อนการอัปเดตตัวชี้ (ค่าเริ่มต้นไม่มี)
-เดสก์ทอป พร้อมชื่อ
ชื่อเดสก์ท็อป VNC (ค่าเริ่มต้น "LibVNCServer")
-แชร์เสมอ
ปฏิบัติต่อลูกค้าใหม่เสมอเหมือนการแบ่งปัน
-ไม่เคยแชร์
ไม่เคยปฏิบัติต่อลูกค้าใหม่เหมือนเป็นการแบ่งปัน
-อย่าตัดการเชื่อมต่อ
อย่าตัดการเชื่อมต่อไคลเอ็นต์ที่มีอยู่เมื่อมีการเชื่อมต่อที่ไม่ได้แชร์ใหม่เข้ามา (refuse
การเชื่อมต่อใหม่แทน)
-httpdir dir-เส้นทาง
เปิดใช้งานเซิร์ฟเวอร์ http โดยใช้ dir-path home
-httpพอร์ต พอร์ตนัม
ใช้ portnum สำหรับการเชื่อมต่อ http
-เปิดใช้งานhttpproxy
เปิดใช้งานการสนับสนุนพร็อกซี http
-ความก้าวหน้า ความสูง
เปิดใช้งานการอัปเดตแบบก้าวหน้าสำหรับลิงก์ที่ช้า
-ฟัง ไอแพด
ฟังการเชื่อมต่อเฉพาะบนอินเทอร์เฟซเครือข่ายด้วย addr ipaddr '-ฟัง
localhost' และชื่อโฮสต์ก็ใช้งานได้เช่นกัน
libvncserver-tight-extension ตัวเลือก:
- ปิดใช้งานการถ่ายโอนไฟล์
ปิดการใช้งานการถ่ายโอนไฟล์
-ftroot เชือก
ตั้งค่ารูท ftp
ใช้ x11vnc ออนไลน์โดยใช้บริการ onworks.net
