Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Разница в запуске wine между ГУИ и консолью?  (Прочитано 3181 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн klop-1

  • Автор темы
  • Новичок
  • *
  • Сообщений: 35
    • Просмотр профиля
Добрый день!
Ubuntu 18.04 с МАТЕ.
Запуск ФотоШопа проходит нормально (то есть, wine установлен корректно).
Запуск "h3wog3.exe" из ГУИ (кликом по файлу) выдаёт ошибку "File is missing, please, reinstall  HeroesIII"!
Команда wine h3wog.exe запускает игру, в которую (почти) корректно можно играть.
В чём разница?
Переустановка wine, стирание ~/.wine, изменение настроек ничего не меняют.
Пробовал установить PlayOnLinux и ставить в нём несколько версий wine (включая 1.6, под которым (Ubuntu 16.04) всё работает безукоризненно) - во всех случаях прогрмма вылетает. В логах POL содержится "exe некорректный, ошибки ... там-то и там-то".
Поиск по ошибкам ведёт на ресурсы с другими играми, где совет один "Переустанови".
Не смотря на это всё запуск игры из консоли всегда успешный, хотя один-единственный глюк сильно мешает (игра вылетает с указанием, что на карте отсутствует рессур номер #10...96).
Тот же самый exe под Винду, под Ubuntu 16.04 (и более ранние) - работает безукоризненно (без глюков).
Куда таки смотреть?

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
pwd
wine cmd /c echo %cd%
Wars ~.o

Оффлайн zg_nico

  • Заслуженный пользователь
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3513
  • Nil mortalibus arduum est
    • Просмотр профиля
klop-1, доброго времени суток! Не уверен что мы с victor00000 советуем одно и то же, ибо слабо понимаю что он написал (не столько ему, сколько мне минус в данном случае).
У себя заметил точно такую же ошибку на 18.04 с Heroes of Might and Magic III (установлен HDmod версии 3.42 поверх "Герои Меча и Магии III: Полное собрание"). Заметил, что корректный запуск происходит только из текущей папки. Обойти просто. Допустим, игра лежит по пути $HOME/.wine/drive_c/Program Files/Buka/3DO/Герои Меча и Магии III Полное собрание/Heroes3.exe. Выполняем следующее: открываем терминал, вводим командуgedit "$HOME/.wine/drive_c/Program Files/Buka/3DO/Герои Меча и Магии III Полное собрание/RunHeroes2"Путь подставить свой, кавычки нужны для того, чтобы не экранировать пробелы. Нажать Enter. Откроется окно текстового редактора. В него вводим код:#!/bin/sh
cd "$HOME/.wine/drive_c/Program Files/Buka/3DO/Герои Меча и Магии III Полное собрание/"
wine ./Heroes3.exe &
cd
exit
Сохраняем, закрываем. Скрипт есть. Теперь дадим ему права на исполнение. В том же терминале вводим: sudo chmod + "$HOME/.wine/drive_c/Program Files/Buka/3DO/Герои Меча и Магии III Полное собрание/RunHeroes2"Вводим пароль суперпользователя, - готово. Права дали. Но не со скрипта же запускать! Создадим "ярлык". В этом же терминале вводим: gedit $HOME/.local/share/applications/HOMM.desktopЖамкаем Enter. В открывшемся окне вводим (ИЗМЕНИВ ПУТИ ПОД СЕБЯ, - прописав реальные пути к иконке у себя в системе и к созданному ранее скрипту):#!/usr/bin/env xdg-open
[Desktop Entry]
#   Запускалка игры Герои 3 через WINE
Version=1.0
Type=Application
Terminal=false
#   Иконка в формате PNG, указываем абсолютный путь, - переменные недопустимы (но пробелы, как это ни странно, экранировать не нужно):
Icon=/home/ИМЯ_ПОЛЬЗОВАТЕЛЯ/.icons/Heroes III HD
Name[ru]=Герои Меча и Магии III
#   команду для запуска ИЗМЕНИТЕ ПОД СВОЮ, подставив путь до скрипта У СЕБЯ В СИСТЕМЕ
#   кто не в теме: Program\ Files = Program Files, просто пробелы экранированы
Exec=/home/ИМЯ_ПОЛЬЗОВАТЕЛЯ/.wine/drive_c/Program\ Files/Buka/3DO/Герои\ Меча\ и\ Магии\ III\ Полное\ собрание/RunHeroes2
#   отображаемое примечание во всплывающей подсказке
Comment[ru]=Запустить игру
#   выводимое имя данного ярлыка:
Name=HOMM III
Categories=WINE;wine;Heroes;heroes;HOMM;homm;герои;меч;магия;игра;Game;LogicGame;
Сохраняем. Закрываем.
(Нажмите, чтобы показать/скрыть)
В том же терминале даем нашей новоявленной иконке права на исполнение:sudo chmod + $HOME/.local/share/applications/HOMM.desktopВсё! Закрываем окно терминала. Ищем "Герои Меча и Магии III" у себя в меню приложений (попробуйте по Alt+F2, например).
« Последнее редактирование: 15 Июля 2018, 17:20:55 от zg_nico »
Thunderobot G150-D2: Intel SkyLake Core i7-6700HQ 2.60GHz, 8Gb DDR4 2133 MHz, Intel HD530, NVidia GeForce GTX 960M 2Gb.  Ubuntu 16.04 64x [Unity], KUbuntu 18.04 64x.

Оффлайн klop-1

  • Автор темы
  • Новичок
  • *
  • Сообщений: 35
    • Просмотр профиля
ибо слабо понимаю что он написал (не столько ему, сколько мне минус в данном случае).
В данном случае минус не вам. Я не понимаю его уже много лет, и, насколько я заметил, вообще мало кто понимает.

Обойти просто
Если я правильно понял последовательность, то Вы всего лишь создаёте ярлык, который делает то же самое. То есть, пересылает в домашний каталог "Героев", и запускает из терминала.
Это всё я умею и сам.
Вопрос был в другом: почему это вообще нужно?
В предыдущих версиях Вайн всё запускалось кликом, здесь нужно вот такие пляски с бубном.
В чём разница между запуском из папки (прописанной в путях префикса вайна!) и запуском из неё же, но командой?

Оффлайн zg_nico

  • Заслуженный пользователь
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3513
  • Nil mortalibus arduum est
    • Просмотр профиля
В чём разница между запуском из папки (прописанной в путях префикса вайна!) и запуском из неё же, но командой?
Судя по всему, в новой версии wine поломали автоопределение рабочего каталога. Не удивлюсь, если рабочий каталог берется теперь из какой-нибудь переменной окружения. $HOME, например. Программам, которые работают с файлами (настроек, ресурсов и т.п.), берущие из системы информацию о том, где находятся, натыкаются на это несоответствие и падают. Надо бы зарепортить баг (вот только никогда я этого не делал, и пока слабо себе представляю как).
Thunderobot G150-D2: Intel SkyLake Core i7-6700HQ 2.60GHz, 8Gb DDR4 2133 MHz, Intel HD530, NVidia GeForce GTX 960M 2Gb.  Ubuntu 16.04 64x [Unity], KUbuntu 18.04 64x.

Morisson

  • Гость
Re: Разница в запуске wine между ГУИ и консолью?
« Ответ #5 : 27 Августа 2018, 08:52:35 »
В предыдущих версиях Вайн всё запускалось кликом, здесь нужно вот такие пляски с бубном.
А по умолчанию при двойном клике на экзешнике у вас что срабатывает? Может установщик wine-программы?
У меня crossover, и выглядит это так


Оффлайн zg_nico

  • Заслуженный пользователь
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3513
  • Nil mortalibus arduum est
    • Просмотр профиля
Re: Разница в запуске wine между ГУИ и консолью?
« Ответ #6 : 28 Августа 2018, 03:27:05 »
А по умолчанию при двойном клике на экзешнике у вас что срабатывает?
Проверил. По-умолчанию вообще ничего не подвязано. Рассуждая в этом направлении, закостылил поведение таким образом: создал файл cat ~/.local/share/applications/W.I.N.E..desktop
Цитировать
[Desktop Entry]
Categories=wine;Emulation;
Exec=WINEPREFIX=~/.wine wine-stable %f
Icon=wine-stable
MimeType=application/x-ms-dos-executable;
Name[ru_RU]=W.I.N.E.
Name=W.I.N.E.
StartupNotify=true
Terminal=false
И дал ему права на исполнение. Dolphin в Kubuntu сразу отреагировал адекватно, и теперь при двойном клике по любому exe'шнику запускается программа без всяких заскоков. Спасибо за наводку, Morisson! :)
Thunderobot G150-D2: Intel SkyLake Core i7-6700HQ 2.60GHz, 8Gb DDR4 2133 MHz, Intel HD530, NVidia GeForce GTX 960M 2Gb.  Ubuntu 16.04 64x [Unity], KUbuntu 18.04 64x.

Оффлайн klop-1

  • Автор темы
  • Новичок
  • *
  • Сообщений: 35
    • Просмотр профиля
Re: Разница в запуске wine между ГУИ и консолью?
« Ответ #7 : 14 Сентября 2018, 09:11:12 »
А по умолчанию при двойном клике на экзешнике у вас что срабатывает? Может установщик wine-программы?
По умолчанию у меня стоит wine.
И открывается вайн! И он даже экзешник открывает! То есть, к самому вайну претензий нет.
И часть программ запускаются корректно (видимо, те, которые не требовательны к абсолютному пути). Но часть при клике из ГУИ не запускаются, а вот командой из строки - запускаются.
И где разница - непонятно.

 

Страница сгенерирована за 0.051 секунд. Запросов: 25.