กลับไปหน้าบทความ

อ่าน 2 นาที

Xvfb

Xvfb หรือ X virtual framebuffer เป็น เซิร์ฟเวอร์แสดงผล ที่ใช้ โปรโตคอลเซิร์ฟเวอร์แสดงผล X11 แตกต่างจากเซิร์ฟเวอร์แสดงผลอื่นๆ Xvfb ดำเนินการกราฟิกทั้งหมดใน หน่วยความจำเสมือน...

Xvfb

( เรียนรู้วิธีและเวลาในการลบข้อความนี้ )
Xvfb
พิมพ์เซิร์ฟเวอร์แสดงผล
เว็บไซต์x .org /releases /X11R7 .7 /doc /man /man1 /Xvfb .1 .xhtml

XvfbหรือX virtual framebufferเป็นเซิร์ฟเวอร์แสดงผลที่ใช้โปรโตคอลเซิร์ฟเวอร์แสดงผลX11 แตกต่างจากเซิร์ฟเวอร์แสดงผลอื่นๆ Xvfb ดำเนินการกราฟิกทั้งหมดในหน่วยความจำเสมือนโดยไม่แสดงผลออกทางหน้าจอใดๆ จากมุมมองของ แอป ไคลเอ็นต์ X มันทำงานเหมือนกับเซิร์ฟเวอร์แสดงผล X อื่นๆ ทุก ประการ โดยให้บริการคำขอและส่งเหตุการณ์และข้อผิดพลาดตามความเหมาะสม อย่างไรก็ตาม เฟรมต่างๆ ไม่จำเป็นต้องแสดงบนหน้าจอ เซิร์ฟเวอร์ เสมือน นี้ ไม่ต้องการให้คอมพิวเตอร์ที่กำลังทำงานอยู่มีอะแดปเตอร์กราฟิกหน้าจอหรืออุปกรณ์อินพุต ใดๆ มี เพียง เลเยอร์ เครือข่าย เท่านั้น ที่จำเป็น Xvfb รองรับส่วนขยายโปรโตคอล X หลาย อย่างเช่น การจัดองค์ประกอบภาพและการสนับสนุน OpenGL GLXผ่านMesa [ 1 ]

สถานการณ์การใช้งาน

Xvfb ใช้สำหรับการทดสอบเป็นหลัก เนื่องจากใช้โค้ดร่วมกับเซิร์ฟเวอร์ X จริง จึงสามารถใช้ทดสอบส่วนของโค้ดที่ไม่เกี่ยวข้องกับฮาร์ดแวร์เฉพาะได้ สามารถใช้ทดสอบไคลเอ็นต์ในสภาวะต่างๆ ที่ปกติแล้วจะต้องใช้ฮาร์ดแวร์ที่แตกต่างกันหลายอย่าง ตัวอย่างเช่น สามารถใช้ทดสอบว่าไคลเอ็นต์ทำงานได้อย่างถูกต้องหรือไม่ที่ระดับความลึกหรือขนาดหน้าจอที่ฮาร์ดแวร์ไม่ค่อยรองรับ นอกจากนี้ยังสามารถใช้สำหรับการรันไคลเอ็นต์ในพื้นหลังได้ โปรแกรม xwdหรือโปรแกรมที่คล้ายกันสำหรับการจับภาพหน้าจอสามารถใช้เพื่อดูผลลัพธ์ได้จริง ยิ่งไปกว่านั้น ยังสามารถอำนวยความสะดวกในการรันโปรแกรมที่ต้องการให้เซิร์ฟเวอร์ X ทำงานอยู่แม้ว่าจะไม่ได้แสดงผลอะไรเลยก็ตาม (เช่น การทดสอบเบราว์เซอร์อัตโนมัติ เช่นSelenium [ 2 ]หรือJenkins [ 3 ] รายงาน HTML ของ Cloverใน Jira เป็นต้น )

ตัวอย่างการใช้งาน

ตัวอย่างภาพหน้าจอ

ตัวอย่างเช่น ลำดับคำสั่งต่อไปนี้จะเรียกใช้งาน X server แบบเฟรมบัฟเฟอร์เสมือนเป็นจอแสดงผล:1เรียกใช้โปรแกรม (xclock) บน X server นั้น และบันทึกภาพหน้าจอเสมือนลงในไฟล์image.xwdโดยใช้คำสั่ง xwd:

Xvfb :1 & xclock -display :1 & xwd -display :1 -silent -root -out image.xwd 

ผลลัพธ์สามารถแสดงได้โดยการเรียกใช้โปรแกรม xwud ( xwud -in image.xwd)

โปรแกรมxvfb-runมักใช้เพื่อทำให้กระบวนการค้นหาจอแสดงผลที่ว่างและจัดการการตรวจสอบสิทธิ์เป็นไปโดยอัตโนมัติ:

คำสั่ง xvfb-run

การควบคุมระยะไกลผ่าน SSH

Xvfb ยังใช้สำหรับการควบคุมระยะไกลด้วยVNCผ่านSSHอาจเร็วกว่าX11ผ่าน SSH [ 4 ]โดยเฉพาะอย่างยิ่งการลดความหน่วงแฝงบนอินเทอร์เน็ต[ 5 ]ในกรณีนี้ Xvfb มักจะถูกรวมเข้ากับตัวจัดการหน้าต่างที่มีน้ำหนักเบา (เช่นFluxboxหรือOpenbox ) และเซิร์ฟเวอร์ VNC เช่นX11vncลำดับคำสั่งที่เป็นไปได้ในการเริ่มต้นสิ่งนี้บนเซิร์ฟเวอร์คือ:

export DISPLAY = :1 Xvfb " $DISPLAY " -screen 0 1024x768x24 & fluxbox & x11vnc -display " $DISPLAY " -bg -nopw -listen localhost -xkb 

ขั้นตอนต่อไปคือการเริ่มต้นใช้งานโปรแกรมไคลเอ็นต์ SSH เช่นPuTTYโดยเปิดใช้งานการส่งข้อมูลผ่านอุโมงค์ไปยัง localhost พอร์ต 5900 จากนั้นโปรแกรม vncviewer สามารถเชื่อมต่อกับ localhost เพื่อควบคุมเซิร์ฟเวอร์จากระยะไกลได้

ssh -N -T -L 5900 :localhost:5900 user@remotehost & vncviewer -encodings 'copyrect tight zrle hextile' localhost:5900 

หน้าคู่มือการใช้งานของ x11vnc ยังมีคำแนะนำเพิ่มเติมอีกด้วย

XVNC (อย่าสับสนกับ x11VNC) มีความคล้ายคลึงกับ XVFB มาก

ดูเพิ่มเติม

  • หน้าคู่มือ Xvfb
  • Xvfb + Firefox – การสร้างภาพหน้าจออัตโนมัติของเว็บเพจ โดยใช้ Xvfb และMozilla Firefox
  • Xpraเป็นทางเลือกแทน Xvfb โดยใช้เซิร์ฟเวอร์ X11 ธรรมดาที่มีไดรเวอร์จำลอง
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Xvfb&oldid=1346280212 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ Xvfb

Xvfb หรือ X virtual framebuffer เป็น เซิร์ฟเวอร์แสดงผล ที่ใช้ โปรโตคอลเซิร์ฟเวอร์แสดงผล X11 แตกต่างจากเซิร์ฟเวอร์แสดงผลอื่นๆ Xvfb ดำเนินการกราฟิกทั้งหมดใน หน่วยความจำเสมือน...

สถานการณ์การใช้งาน

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

ตัวอย่างภาพหน้าจอ

ตัวอย่างเช่น ลำดับคำสั่งต่อไปนี้จะเรียกใช้งาน X server แบบเฟรมบัฟเฟอร์เสมือนเป็นจอแสดงผล :1 เรียกใช้โปรแกรม (xclock) บน X server นั้น และบันทึกภาพหน้าจอเสมือนลงในไฟล์ image.xwd โดยใช้คำสั่ง xwd:

การควบคุมระยะไกลผ่าน SSH

Xvfb ยังใช้สำหรับการควบคุมระยะไกลด้วย VNC ผ่าน SSH อาจเร็วกว่า X11 ผ่าน SSH [ 4 ] โดยเฉพาะอย่างยิ่งการลดความหน่วงแฝงบนอินเทอร์เน็ต [ 5 ] ในกรณีนี้ Xvfb มักจะถูกรวมเข้ากับตัวจัดการหน้าต่างที่มีน้ำหนักเบา (เช่น Fluxbox หรือ Openbox ) และเซิร์ฟเวอร์ VNC เช่น...