วิ่งไวน์โดยไม่ต้องหัวขาด


17

ฉันต้องการเรียกใช้ไวน์ไม่มีส่วนหัวและหลีกเลี่ยงข้อความแสดงข้อผิดพลาด:

ตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์ X ของคุณทำงานอยู่และตั้งค่า $ DISPLAY ไว้อย่างถูกต้อง

มีวิธีหรือฉันต้องกำหนดเส้นทาง / ส่งต่อไปยังเอาต์พุตบางส่วนหรือไม่? มันสามารถเรียกใช้จากทางบรรทัดคำสั่งได้หรือไม่


คุณพยายามทำอะไรในไวน์ โปรแกรม Windows ส่วนใหญ่ต้องการ GUI
Michael Hampton

มันเป็นเรื่องยาว แต่โดยทั่วไปฉันมี exe เก่ามากที่ฉันต้องใช้ด้วยเหตุผลดั้งเดิมและจะไม่สร้างผลลัพธ์ GUI ใด ๆ ตัวอย่างของคำสั่งที่ใช้งานข้อผิดพลาดเดียวกันคือ winetricks vb6run
FabioCosta

1
ใช่แล้วนั่นคือการเริ่มต้นตัวติดตั้งแบบอิง GUI ดังนั้นมันจะต้องการจอแสดงผล
Michael Hampton

ฉันไม่ได้ตระหนักว่ามันจะต้อง gui ในตัวอย่างนี้นี่เป็นปัญหาที่แตกต่างกัน แต่คุณแสดงให้ฉันเห็นข้อผิดพลาดของฉันอย่างไรก็ตามฉันคิดว่าฉันจะจบลงด้วยการใช้ Xvfb และแก้ไขข้อผิดพลาดแบบอักษร
FabioCosta

คำตอบ:


13

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

สิ่งนั้นตรงตามข้อกำหนดหรือคุณงอกับการดื่มไวน์อย่างไม่มีความคิดหรือไม่?


ฉันกำลังลองกับ Xvfb แต่มันแปลกที่ใช้ "Xvfb: 1 & '" แล้ว "ส่งออก DISPLAY =: 1" แล้วเรียกใช้ไวน์ของฉันทำให้ฉันมีข้อผิดพลาดแบบอักษรและล็อคการดำเนินการ ฉันกำลังพยายามแก้ไขข้อผิดพลาดแบบอักษรโดยทำตามblog.martin-lyness.com/archives/นี้ขณะที่ค้นหาทางเลือกอื่น ๆ
FabioCosta

15

คุณสามารถกำหนดค่าไวน์ของคุณจะวิ่งหัวขาดโดยการติดตั้งX framebuffer ตัวอย่างเช่น

sudo apt-get install Xvfb
Xvfb :0 -screen 0 1024x768x16 &

ติดตั้งไวน์:

# On 64-bit also run: sudo dpkg --add-architecture i386
sudo add-apt-repository -y ppa:ubuntu-wine
sudo apt-get update
sudo apt-get install wine

หมายเหตุ: สำหรับตัวอย่างการติดตั้งโดยละเอียดให้ตรวจสอบprovision.shสคริปต์

ติดตั้งแบบอักษรหากต้องการ:

winetricks allfonts

จากนั้นเรียกใช้แอปของคุณเป็น:

DISPLAY=:0.0 wine my_app.exe

หรือคุณสามารถส่งออกได้ (ดังนั้นไม่จำเป็นต้องใช้คำนำหน้าด้านบนเมื่อใช้งาน):

export DISPLAY=:0.0 # Select screen 0.

ในกรณีที่DISPLAYเป็นคำขอของคุณเพื่อแสดงผลในท้องถิ่น / บริการการป้อนข้อมูล (หรือ: export DISPLAY=[user's machine]:0)


อีกวิธีหนึ่งคือตั้งค่า X11 Forwarding DISPLAYแล้วคุณไม่จำเป็นต้องใช้

โดยทั่วไปตั้งX11Forwarding yesอยู่/etc/ssh/sshd_configบนเซิร์ฟเวอร์ headless และForwardX11 yesใน/etc/sshd/ssh_configเครื่องที่คุณเชื่อมต่อ

จากนั้นคุณสามารถเรียกใช้แอปพลิเคชั่น GUI บนเซิร์ฟเวอร์ที่ไม่มีหัวของคุณและในเวลาเดียวกันไวน์จะสามารถเชื่อมต่อกับเซิร์ฟเวอร์ X11 ในพื้นที่ของคุณได้ดังนั้นคุณจึงสามารถเรียกใช้โปรแกรมปฏิบัติการบนคอนโซล DOS ได้

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