Działaj całkowicie bez wina

17

Chcę uruchomić wino bez głowy i uniknąć komunikatu o błędzie:

Upewnij się, że twój serwer X działa i że $ DISPLAY jest ustawiony poprawnie.

Czy jest jakiś sposób, czy muszę kierować / przekazywać do jakiegoś wyjścia? Czy może po prostu działać z linii poleceń?

FabioCosta
źródło
Co dokładnie próbujesz uruchomić w winie? Większość programów Windows wymaga obecności GUI.
Michael Hampton
To długa historia, ale w zasadzie nie mam bardzo starego exe, którego muszę używać ze względów starszych i nie będzie generować żadnego wyjścia GUI. Przykładem polecenia, które powoduje ten sam błąd, są winetricks vb6run
FabioCosta
1
Cóż, tak, to uruchamia instalator oparty na GUI, więc będzie chciał wyświetlić.
Michael Hampton
Nie zdawałem sobie sprawy, że tak naprawdę będzie wymagało GUI na tym przykładzie, to jest inny problem, ale pokazałeś mi mój błąd. W każdym razie chyba skończę przy użyciu Xvfb i naprawieniu błędów czcionek
FabioCosta

Odpowiedzi:

13

Nie znam żadnego sposobu, aby uruchomić wino całkowicie bezgłowo, ale mogę cię wskazać xvfb. Może stworzyć wirtualny wyświetlacz, do którego X serwer może przekierować swoje wyjście. Nie trzeba podłączać fizycznego wyświetlacza. Używamy go do przeprowadzania testów selenu w przeglądarkach w bezgłowym klastrze Jenkins.

Czy to spełnia wymagania, czy masz ochotę na wino bez głowy?

Erathiel
źródło
Próbuję z Xvfb, ale to trochę dziwne, używając „Xvfb: 1 &” ”, a następnie„ eksport DISPLAY =: 1 ”, a następnie uruchomienie mojego wina powoduje błąd czcionki i blokowanie wykonania. Próbuję naprawić błąd czcionki, postępując zgodnie z tym blog.martin-lyness.com/archives/… , szukając innych alternatyw
FabioCosta
15

Możesz skonfigurować swoje wino do pracy bez głowy, instalując X wirtualnego bufora ramki . Na przykład:

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

Zainstaluj wino:

# 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

Uwaga: Aby uzyskać szczegółowy przykład instalacji, sprawdź provision.shskrypt.

W razie potrzeby zainstaluj czcionki:

winetricks allfonts

Następnie uruchom aplikacje jako:

DISPLAY=:0.0 wine my_app.exe

lub możesz go wyeksportować (więc nie potrzebujesz powyższego prefiksu podczas uruchamiania):

export DISPLAY=:0.0 # Select screen 0.

Gdzie DISPLAYjest Twoje zapytanie do lokalnej usługi wyświetlania / wprowadzania danych (lub export DISPLAY=[user's machine]:0:).


Alternatywnie skonfiguruj Przekazywanie X11. Więc nie musisz używać DISPLAY.

Zasadniczo ustawiona X11Forwarding yesw /etc/ssh/sshd_configna serwerze bez głowy i ForwardX11 yesna /etc/sshd/ssh_configna maszynie łączysz z.

Następnie możesz uruchomić aplikacje GUI na swoim bezgłowym serwerze, a jednocześnie wine będzie mogło połączyć się z lokalnym serwerem X11, dzięki czemu będziesz mógł uruchamiać pliki wykonywalne DOS oparte na konsoli.

kenorb
źródło