Как я могу разместить DayZ Standalone на удаленном сервере Linux? Я получаю сообщение "Wine Mono не установлен"

Я пытаюсь разместить автономный сервер DayZ в Linux, и мне нужно Wine для запуска EXE-файла. Я загрузил вино двумя разными способами: Winehq и wine64, ни один из которых не работал.

Когда я пытаюсь запустить сервер, я получаю сообщение об ошибке "Wine Mono" не установлен. Я использую удаленный сервер, поэтому не могу использовать графический интерфейс. Когда я пытаюсь использовать Wine для удаления или уловки с вином, я получаю сообщение об ошибке Display. У меня нет дисплея.

Как я могу это исправить?

1 ответ

Переадресация Х

Этот ответ предполагает, что вы используете - или можете использовать - ssh получить доступ к серверу. Чтобы избежать двусмысленности, я назвал сервер, на котором вы хотите установить DayZ Standalone Server, "сервером SSH". Напротив, "X-сервер" - это программа, которая работает на SSH-клиенте. Клиент SSH - это машина, которую вы используете для подключения к серверу. Я предполагаю, что сам клиент SSH имеет графический интерфейс.

До тех пор, пока на машине клиента SSH установлен дисплей и установлен X-сервер (например, X.org), не должно быть проблемой, что на сервере SSH его нет. Если на SSH-клиенте установлен X-сервер, вы можете запустить

ssh -X ssh-server

с ssh-server заменяется фактическим именем хоста или IP-адресом SSH-сервера. Затем вы можете запускать графические программы на SSH-сервере, и их графические интерфейсы будут создаваться на SSH-клиенте. То есть вы запускаете команду в сеансе SSH, которая запускает графическую программу, и на вашем рабочем столе появляется окно программы, даже если сама программа работает на сервере SSH.

Если клиентом SSH является Ubuntu или другая система GNU/Linux и на нем установлен графический пользовательский интерфейс, то вам, вероятно, не нужно устанавливать на нем ничего другого. В противном случае X-сервер может быть или не быть доступным. В частности, Windows не поставляется с одним. Доступны различные X-серверы для Windows, такие как VcXsrv.

Как вы правильно сказали, трудности, с которыми вы столкнулись до сих пор, полностью связаны с невозможностью запуска графических программ. ssh -X от клиента SSH, на котором запущен X-сервер, обычно достаточно, чтобы решить эту проблему.

С этого момента все инструкции по установке предназначены для запуска на сервере SSH.

Тестирование X Forwarding

Я предлагаю сначала проверить это с чем-то простым:

  • xclock запускает простое графическое приложение часов. Это хороший выбор для тестирования перенаправления X. xclock предоставляется в x11-apps пакет.
  • Чтобы проверить, работает ли Wine в этой ситуации, вы можете использовать wine notepad или wine explorer,

Хотя некоторые библиотеки требуются на сервере SSH для этого, wine пакет имеет x11-common Пакет как зависимость, которой достаточно для их предоставления.

64-битное и 32-битное Wine

Я полагаю, вы установили wine пакет уже, но для читателей, которые не имеют:

sudo apt update
sudo apt install wine

Если сервер SSH работает под управлением 64-разрядной системы Ubuntu (весьма вероятно), и вам необходимо запустить 32-разрядные программы Windows, вы можете включить установку 32-разрядных пакетов и установить wine32 пакет:

sudo dpkg --add-architecture i386
sudo apt update
sudo apt install wine32

Winetricks

winetricks и установщики, которые он автоматически загружает и запускает, скорее всего, будут работать. Но если вы хотите использовать winetricks собственный графический интерфейс - который я рекомендую - тогда вам понадобится zenity пакет. Но я не рекомендую устанавливать zenity обычным способом, потому что это потребует огромного количества программного обеспечения в качестве зависимостей - в основном, весь графический интерфейс на сервере, который вам не поможет. Вместо этого установите zenity с:

sudo apt install --no-install-recommends zenity

Это может по-прежнему устанавливать множество библиотек в качестве зависимостей, но гораздо меньше, и никакой бесполезный X-сервер. (X-сервер не работает на SSH-сервере, который, как вы говорите, не отображается.)

Wineprefixes

Возможно, вы захотите создать использование wineprefix, особенно если вам нужно запускать 32-битные программы Windows с Wine. См. Как мне создать 32-битный префикс WINE?

Winetricks может помочь с этим. Когда вы запускаете его и не передаете никаких аргументов, появляется его графический интерфейс, и один из вариантов:

Создать новый wineprefix

Если вы выберете это и нажмете OK, вам будет предложено выбрать вашу архитектуру (опции называются "32" и "64" и указать имя для префикса).

Дополнительную информацию, в том числе о том, как выбрать wineprefix для запуска программ, смотрите в разделе Как установить 32-битную Wine на 64-битную Ubuntu? в том числе ответ Смак.

Wine Mono или.NET Framework

Если Wine Mono не установлен, вы можете скачать .msi файл для этого с сайта Wine. На момент написания статьи последняя версия 4.9.4.

Поскольку ответ PSN на Mono Package for Wine не установлен, говорит необычная команда wine uninstaller может быть использован для его установки. Без указания префикса Wine, установите его для 64-битного Wine, предполагая, что сервер 64-битный. (Хотя есть wine32 пакет, больше нет отдельного wine32 команда; вместо этого используйте 32-битный wineprefix.)

Еще один способ бега uninstaller что может быть проще, если вы сделали префикс wineprefix, который вы хотите использовать, это запустить winetricks и, выбрав свой префикс, выберите:

Запустите деинсталлятор

В качестве альтернативы Wine Mono вы можете установить Microsoft .NET Framework в Wine. Какая версия вам нужна, зависит от приложения, для которого она вам нужна. Вы можете установить их с помощью Winetricks, в:

Установите Windows DLL или компонент

Ваш пробег может варьироваться...

Я не знаю, насколько хорошо это будет работать для запуска автономного сервера DayZ. Но если автономному серверу DayZ нужен только базовый графический интерфейс (в отличие, например, от самой игры) и если он работает в Wine (о котором сообщалось, хотя я не уверен, насколько актуальна эта процедура), то я бы ожидать, что это сработает.

Я обнаружил, что приложения Windows, которые работают локально на Wine, также будут работать на Wine на удаленном SSH-сервере через ssh -X, Однако следует ожидать, что их интерфейсы будут менее адаптивными, чем интерфейсы локальной программы. В зависимости от задержки, надежности и (возможно, в меньшей степени) скорости сетевого подключения к серверу, скорость отклика может быть значительно хуже.

Кроме того, поскольку я не знаю, какую процедуру вы используете для его установки, я дал только общие советы о том, как запускать графические приложения Windows с Wine на сервере SSH (и пересылать X с помощью ssh -X, чтобы сделать это).

Другие вопросы по тегам