Запуск ПО в старых версиях Wine (04.02.2019). |
2019 - Февраль | |||
04.02.2019 21:33 | |||
Если просто попытаться запустить ПО в старой версии Wine то возникнут закономерные ошибки отсутствия необходимых компонентов (в т.ч. SQL), и проблемы с русским языком. Причем русский язык не только показывается вопросительными знаками вместо символов в ПО, но и блокируется открытие русскоязычных директорий; которые Linux обрабатывает корректно, а Wine - уже нет. Решением является: - установка пакетов MDAC двух версий сразу (2.7 и 2.8: одна поверх другой) для работы с SQL; - установка пакета Jet v.4.0 для работы с базами данных; - (опционально) установка пакета wsh57 (MS Windows Scripting Host v.5.7) для взаимодействия БД с элементами среды программирования. А дальше начинается самое интересное. Казалось бы, нужно просто скопировать Windows-шрифты TrueType из Windows в Linux (которые задействованы в ПО), произвести их регистрацию командой "fc-cache -fv" - и дело в шляпе. А вот нет. На OpenSuse v.12.1, пока была голая установка, шрифты работали нормально. Но при изменении конфигурации и настроек (каких - так и не удалось выяснить) - любой внедряемый Windows-шрифт убивал отображение текста в системных окнах (например, при запросе логина-пароля не русскоязычное окно выходило, а квадратами набитое). Решением стало: - отказ от регистрации шрифтов. ТЗ сводилось вообще к невнесению изменений в ОС Linux (за исключением пакетов выше); - унификация ПО к одному шрифту, присутствующему и в Linux, и в Windows. Был выбран MS Sans Serif. Замена шрифтов в исходном коде проводилась с помощью Notepad++ и полуавтоматической замены (требовалось и размеры шрифта тоже подправлять); - запуск ПО в Wine с параметрами, которые принудительно скармливают ему и русскую локаль, и кодировку UTF-8. Для разных ОС Linux параметры могут отличаться (может заработать .ANSI или потребуется к LC_ALL еще и LANG). В моем случае - "LC_ALL=ru_RU.UTF-8 wine 'имя файла'". (добавлено 05.02.2019) Версия Wine - 1.3.30. Его, согласно ТЗ, тоже обновлять было нельзя. Собственно, эта статья - пример способа запуска стороннего ПО Windows без изменения конфигурации ОС Linux, т.к. вышеперечисленные пакеты устанавливаются в сам Wine. |
|||
Обновлено ( 05.02.2019 19:31 ) |