題 完全無頭地運行葡萄酒


我想運行wine headless並避免錯誤消息:

確保您的X服務器正在運行並且正確設置了$ DISPLAY。

有沒有辦法或者我必須將其路由/轉發到某個輸出?它可以從命令行運行嗎?


7
2018-04-15 17:04


起源


你到底想要在葡萄酒中做什麼?大多數Windows程序都需要GUI。 - Michael Hampton
這是一個很長的故事,但基本上我有一個非常老的exe,我必須使用遺留原因,不會產生任何GUI輸出。發出相同錯誤的命令的一個示例是winetricks vb6run - FabioCosta
好吧,是的,它啟動了一個基於GUI的安裝程序,因此它需要一個顯示器。 - Michael Hampton
我沒有意識到它真的需要這個例子上的gui,這是一個不同的問題,但你向我展示了我的錯誤。無論如何我想我最終將使用Xvfb並修復字體錯誤 - FabioCosta


答案:


我不知道怎麼辦酒 完全 無頭,但我可以指出你 xvfb。它可以創建一個虛擬顯示,X服務器可以將其輸出重定向到該虛擬顯示。無需連接物理顯示器。我們使用它在無頭Jenkins集群的瀏覽器中運行selenium測試。

這是否符合要求,或者你是否一心想要無酒駕?


9
2018-04-15 17:09



我正在嘗試使用Xvfb,但使用“Xvfb:1&”然後“導出DISPLAY =:1”然後運行我的葡萄酒會發出一個字體錯誤並鎖定執行,這有點奇怪。我試圖通過以下方式修復字體錯誤 blog.martin-lyness.com/archives/... 尋求其他選擇 - FabioCosta


您可以通過安裝將葡萄酒配置為無頭運行 X虛擬幀緩衝。例如:

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

如果需要安裝字體:

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 在無頭服務器上 和 ForwardX11 yes 在 /etc/sshd/ssh_config 在你的機器上 從...連接。

然後,您可以在無頭服務器上運行GUI應用程序,同時wine可以連接到本地X11服務器,因此您可以運行基於控制台的DOS可執行文件。


7
2017-07-31 09:47