Много статей не имеет срока устаревания. Есть смысл смотреть и 2011, и даже 2008 год. Политика сайта: написать статью, а потом обновлять ее много лет.
Открыта карта ВТБ для материальной поддержки сайта: 4893470220568296.

Рекламодателям! Перестаньте спамить мне на почту с предложениями о размещении рекламы на этом сайте. Я никогда спамером/рекламщиком не был и не буду!
" title="Написать письмо">Написать письмо

Статистика

Пользователи : 1
Статьи : 1247
Просмотры материалов : 4586399
 
Запуск ПО в старых версиях Wine (04.02.2019). Печать E-mail
2019 - Февраль
04.02.2019 22:33
Save & Share
Запуск ПО на старых ОС Linux может требоваться по разным причинам: начиная от тестирования ПО на совместимость и заканчивая невозможностью сменить ОС. На примере OpenSuse v.12.1 показывается настройка Wine, позволяющая работать с SQL и русским языком.

Если просто попытаться запустить ПО в старой версии 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 20:31 )
 
 

Последние новости


©2008-2019. All Rights Reserved. Разработчик - " title="Сергей Белов">Сергей Белов. Материалы сайта предоставляются по принципу "как есть". Автор не несет никакой ответственности и не гарантирует отсутствие неправильных сведений и ошибок. Вся ответственность за использование материалов лежит полностью на читателях. Размещение материалов данного сайта на иных сайтах запрещено без указания активной ссылки на данный сайт-первоисточник (ГК РФ: ст.1259 п.1 + ст.1274 п.1-3).