Сведения о документе

Введение

Что такое WINE@Etersoft

Продукт WINE@Etersoft разработан специально для того, чтобы предоставить возможность организациям и отдельным пользователям полностью перейти на платформу Unix/Linux, сохранив унаследованные Win-приложения.

Особое внимание уделяется поддержке российских коммерческих приложений, которым затруднительно найти аналоги среди свободного ПО для Linux: в первую очередь это приложения, необходимые для ведения дел на предприятии (бухгалтерия, учёт, налоговая отчётность, правовые базы данных и др.).


Продукты серии WINE@Etersoft Network ориентированы на корпоративных клиентов, которым требуется возможность совместной работы Win-приложений в сети.

Предлагаемые возможности

Сотрудничество с производителями ПО

Etersoft сотрудничает с рядом производителей ПО, что позволяет эффективно диагностировать и устранять проблемы в работе поддерживаемых приложений в среде WINE@Etersoft.

Сотрудничество с пользователями

В случае возникновения проблем мы готовы оказывать техническую поддержку и вносить необходимые изменения в наши продукты. По отзывам и запросам наших клиентов мы готовы дополнять список поддерживаемых приложений и платформ. Пишите нам!

Обновления

Списки поддерживаемых приложений и систем постоянно расширяются, самую актуальную информацию можно найти на сайте Etersoft. Там же можно найти более подробную информацию о вариантах поставки WINE@Etersoft, новых версиях и обновлениях, а также о дополнительных услугах, предоставляемых компанией Etersoft.

Поддерживаемые приложения

Каждая версия продукта WINE@Etersoft сопровождается списком поддерживаемых приложений. Вошедшие в этот список Win-приложения тестируются на совместимость с WINE@Etersoft и гарантированно устанавливаются, запускаются и стабильно работают. Приложения, не вошедшие в этот список, также могут успешно работать в WINE@Etersoft, однако компания Этерсофт не может этого гарантировать и не обязуется отвечать на вопросы по их эксплуатации.

Полная информация о совместимости WINE@Etersoft с программами доступна на сайте AppDB

Бухгалтерские и торговые программы

Правовые системы и базы данных

Прочие программы

Поддерживаемые ключи защиты

Подробнее см. в документации.

Готовятся

Могут работать, но не поддерживаются

Не работают

Для программ, отмеченных символом *, поддерживается только базовая функциональность.

Для программ, отмеченных символом **, в некоторых конфигурациях возможны проблемы с ключами защиты.

Программы, отмеченные символом ***, стали поддерживаться только недавно.

Список поддерживаемых программ актуален для версии WINE@Etersoft 1.0.8 на дату 30.12.2007.

Что такое WINE@Etersoft Local

Версия WINE@Etersoft Local ориентирована на индивидуальных пользователей, которым требуется работать с win-приложениями на платформе Linux/Unix. Поддерживается большое количество платформ: разнообразные дистрибутивы Linux, FreeBSD. Полный список — на сайте Etersoft.

Особое внимание уделяется поддержке коммерческих приложений, которым затруднительно найти аналоги среди свободного ПО для Linux: в первую очередь это приложения, необходимые для ведения дел на предприятии (бухгалтерия, учёт, налоговая отчётность, правовые базы данных и др.). Полный список официально поддерживаемых приложений доступен на сайте Etersoft.

Для чего не подходит WINE@Etersoft Local

В версии WINE@Etersoft Local не поддерживается одновременная работа нескольких пользователей с одними и теми же файлами (например, общей базой данных). Соответственно, программы, которые предусматривают режим совместной работы (например, 1С: Предприятие) можно использовать только в монопольном режиме.

Если требуется обеспечить совместную работу — обратитесь к другим версиям WINE@Etersoft.

Особенности использования, лицензирования и условия поддержки.

WINE@Etersoft — это коммерческий продукт, права на использование которого передаются покупателю авторским договором, приложенным к экземпляру продукта. Покупатель версии Local в стандартном случае получает право использовать WINE@Etersoft на одном компьютере.

В стоимость продукта WINE@Etersoft 1.0 Local включён пакет сервисной поддержки в течение 30 дней.

При необходимости просим писать по адресу wine@etersoft.ru.

Смотреть документацию

Купить электронный вариант

Купить компакт-диск

Регистрация продукта WINE@Etersoft

Зарегистрировать приобретённый Вами экземпляр продукта можно на сайте Etersoft, для этого потребуется ввести регистрационный номер, который указан в Свидетельстве подлинности (либо в авторском договоре).

При регистрации, кроме регистрационного номера самого продукта, требуется ввести Ваше имя и адрес электронной почты (для юридических лиц — также название организации), чтобы мы могли связаться с Вами при необходимости.

После регистрации будет создана Ваша персональная страница http://sales.etersoft.ru/product/NNNN-NNNN, подтверждающая, что вы правомерно владеете экземпляром программы WINE@Etersoft.

Введённый Вами адрес электронной почты не будет нигде опубликован, и будет использоваться только для доступа к ресурсам Etersoft и для связи с Вами со стороны Etersoft (рассылки информационных сообщений, если Вы дали на это согласие).

Если у Вас возникают какие-либо проблемы с проверяющими органами, незамедлительно обратитесь к нам по адресу sales@etersoft.ru, чтобы мы могли оперативно оказать вам содействие.

Подписка на обновления

Компания Etersoft предоставляет покупателям своих продуктов регулярные обновления, в которых делаются существенные исправления и добавляется поддержка новых возможностей.

Получить обновления можно на сайте компании Etersoft, на Вашей персональной странице. Информацию о выходящих обновлениях мы рассылаем нашим клиентам по электронной почте.

Получив пакеты обновлений, нужно установить их стандартным способом, удалять при этом предыдущую версию WINE@Etersoft не требуется.

После того как будут установлены новые версии пакетов, каждому пользователю необходимо выполнить команду wine --update для обновления стандартных данных реестра локального win-окружения и некоторых других изменений, подготовленных для новой версии.

Установка WINE@Etersoft

Системные требования

Дополнительно:

Подробнее:

Установка Wine

Пакеты, составляющие WINE@Etersoft, устанавливаются обычным образом. Вы можете воспользоваться системой управления пакетами Apt и установить нужные пакеты командой apt-get install имя_пакета (не забудьте, что для выполнения команды необходимы полномочия суперпользователя root).

Пакеты, которые необходимо установить:

Использование WINE@Etersoft

Настройка локального win-окружения

Прежде чем начинать работать с WINE, каждому пользователю, от имени которого будут запускаться win-приложения, необходимо настроить локальное win-окружение (по умолчанию оно расположено в каталоге ~/.wine/). Настройка окружения выполняется автоматически при первом запуске WINE (достаточно в командной строке ввести команду wine и дождаться завершения её работы).

При первом запуске WINE создаёт необходимую инфраструктуру в домашнем каталоге данного пользователя, для чего выполняет следующие действия:

Процедуру начальной настройки win-окружения можно запустить в любой момент и впоследствии командой wine --update. Эта команда выполнит все те же операции, что и при первом запуске WINE. Выполнение wine --update не затрагивает данных реестра, изменённых пользователем.

Логические диски в WINE

WINE создаёт в локальном win-окружении каждого пользователя логические диски, к которым запущенные в WINE win-приложения могут обращаться стандартным для Windows способом: C:\путь, D:\путь и т. д. Все логические диски WINE, кроме диска C:, представляют собой символьные ссылки в каталоге ~/.wine/dosdevices, которые могут указывать на любые каталоги host-системы.

По умолчанию логические диски WINE будут расположены следующим образом:


C:		$HOME/.wine/dosdevices/c:
D:		$HOME/Documents
E:		/media/cdrom или /mnt/cdrom

Пример 1. Размещение логических дисков WINE по умолчанию

Если какого-то из нужных каталогов не окажется, то соответствующие ссылки просто не будут созданы. Как минимум один диск — C: будет создан в любом случае. Остальные диски необязательны, даже одного C: будет достаточно для работы в WINE. Правила создания ссылок по умолчанию описаны в файле /etc/wine/map_devices.sh, при необходимости их можно изменить. Этот файл используется при первом запуске WINE и при выполнении команды wine --update.

Каждый пользователь может вручную изменить соответствия логических дисков WINE каталогам host-системы или создать любое количество дополнительных дисков. Все логические диски для WINE представлены обыкновенными символьными ссылками на каталоги в каталоге $HOME/.wine/dosdevices. Чтобы создать новый логический диск или изменить имеющийся, достаточно создать новую символьную ссылку с нужным именем.


[tester@test tester]$ ln -s /var/data/1c ~/.wine/dosdevices/f:
[tester@test tester]$ ls -l ~/.wine/dosdevices 
total 0
lrwxrwxrwx 1 tester tester   13 Nov 25 14:50 a: -> /mnt/floppy
lrwxrwxrwx 1 tester tester    8 Nov 25 14:50 a:: -> /dev/fd0
drwxrwsr-x 4 tester tester 4096 Июн 14 13:00 c:
lrwxrwxrwx 1 tester tester   10 Июн 14 12:59 com1 -> /dev/ttyS0
lrwxrwxrwx 1 tester tester   10 Июн 14 12:59 com2 -> /dev/ttyS1
lrwxrwxrwx 1 tester tester   10 Июн 14 12:59 com3 -> /dev/ttyS2
lrwxrwxrwx 1 tester tester   10 Июн 14 12:59 com4 -> /dev/ttyS3
lrwxrwxrwx 1 tester tester   19 Июн 14 12:59 d: -> /home/tester/Documents
lrwxrwxrwx 1 tester tester   10 Июн 14 12:59 e: -> /mnt/cdrom
lrwxrwxrwx 1 tester tester   10 Июн 14 12:59 e:: -> /dev/cdrom
lrwxrwxrwx 1 tester tester    8 Июн 14 12:59 lpt1 -> /dev/lp0
lrwxrwxrwx 1 tester tester    8 Июн 14 12:59 lpt2 -> /dev/lp1
lrwxrwxrwx 1 tester tester    8 Июн 14 12:59 lpt3 -> /dev/lp2
lrwxrwxrwx 1 tester tester    8 Июн 14 12:59 lpt4 -> /dev/lp3

lrwxrwxrwx 1 tester tester 12 Nov 25 14:54 f: -> /var/data/1c

Пример 2. Создание логического диска wine

С помощью логических дисков WINE можно организовать совместный доступ к данным для win-приложений нескольких пользователей, для этого достаточно в win-окружении каждого пользователя создать логический диск (ссылку), указывающий на общий каталог, доступный пользователям, например, /var/data/1c.


Создавая логические диски WINE, нужно принимать в расчёт, что права доступа win-приложений к файлам на этих дисках будут определяться правами доступа данного пользователя к реальным файлам host-системы.

Последовательные и параллельные порты (COM и LPT)

Для отображения портов в ~/.wine/dosdevices создаются ссылки на соответствующие устройства в хост-системе (см. предыдущий пример про создание логического диска). Обычно это выполняется автоматически при первой настройке Wine. Например, в Linux для COM1 будет создана ссылка на /dev/ttyS0, для LPT1- ссылка на /dev/lp0.


Если при использовании COM- или LPT-портов в Wine (например в команде copy файл LPT1) выдаётся сообщение Access Denied, скорее всего у пользователя недостаточно прав для прямого обращения к порту. Проверьте права командой ls -l /dev/lp0 и при необходимости внесите пользователя в соответствующую группу.

Сетевые пути

WINE позволяет работать win-приложениям, которые обращаются к ресурсам при помощи сетевого пути (UNC). Сетевые пути в WINE обеспечиваются так же, как и логические диски — при помощи символьных ссылок на каталоги host-системы.

Допустим, программа обращается к файлу \\someserver\share\file.txt. Чтобы обращение по такому пути работало в WINE, вам потребуется создать в каталоге ~/.wine/dosdevices/unc/ каталог someserver, содержащий символьную ссылку share, указывающую на расположение данного ресурса в host-системе.


[tester@test unc]$ pwd
/home/tester/.wine/dosdevices/unc
[tester@test unc]$ mkdir someserver
[tester@test unc]$ ln -s /var/local/share someserver/share
[tester@test unc]$ ls -l someserver/
total 0
lrwxrwxrwx 1 tester tester 16 May 18 06:24 share -> /var/local/share
[tester@test unc]$ 

Пример 3. Создание UNC-пути в WINE

В этом примере искомый файл file.txt располагается в каталоге /var/local/share.

Запуск win-приложений

Общее правило для запуска всех win-приложений в WINE — запускаемые файлы должны находиться в области видимости WINE, то есть на одном из логических дисков WINE или в его подкаталогах. Если программа поставляется на компакт-диске, то не забудьте должным образом смонтировать диск1, прежде чем обращаться к нему из WINE. Обратите внимание, что в этом случае у вас должен быть разрешён запуск приложений с компакт-диска. Если приложение распространяется не на диске — не забудьте сначала скопировать его в область видимости WINE.

Запуск win-приложений производится двойным щелчком мыши на значке в любом файловом менеджере. Для того, чтобы можно было запускать win-приложения как обыкновенные исполняемые файлы host-системы (например, из Midnight Commander), должна быть запущена системная служба (service) wine.

Также приложение может быть запущено с помощью команды в командной строке. Для запуска exe-файлов нужно выполнить команду:

$ wine программа.exe

Программы, поставляемые в виде msi-пакетов, а также файлы. bat и. cmd запускаются с помощью команды:

$ wine start пакет.msi

Для запуска консольных приложений, например Far, используется команда:

$ wineconsole Far.exe

Для получения командной строки Windows запустите:

$ wineconsole cmd.

Запуск программ DOS (16-разрядных программ реального режима процессора), особенно сложных, в штатной виртуальной DOS-машине, имеющейся в Wine, обычно не даёт положительного результата. Рекомендуется использовать dosemu или dosbox.

Установка и удаление win-приложений

Как и в Windows, перед использованием большую часть win-приложений сначала потребуется установить. Установка производится обычным для Windows способом — с помощью поставляемой вместе с win-приложением программы установки. Разница в том, что в случае WINE программа будет установлена в локальном win-окружении пользователя.

Для установки win-приложения следует любым удобным способом запустить программу установки (чаще всего setup.exe). Дальше можно действовать по инструкции, предлагаемой поставщиком win-приложения.

Многие win-приложения запрашивают перезагрузку для завершения установки. Естественно, перезагружать host-систему при этом не следует. В локальном win-окружении процедуре загрузки Windows соответствует команда wineboot — её можно вызвать из любой командной строки. Если в этот момент в WINE выполняются другие приложения, то рекомендуется их завершать до перезагрузки.

Для удаления win-приложения, установленного в win-окружении, следует воспользоваться утилитой uninstaller. Эта утилита выводит список установленных в win-окружении приложений (если они зарегистрированы в реестре). Чтобы удалить приложение, выберите его из списка и нажмите кнопку «Uninstall». Если в списке нет приложения, которое вы хотите удалить, то достаточно просто удалить каталог с приложением (можно воспользоваться для этого программой winefile, а можно — стандартными средствами host-системы).

Безопасность

Советы по соблюдению должного уровня безопасности в WINE могут быть сведены к двум простым соображениям:

Поэтому следует максимально ограничить область видимости WINE, включив туда только те данные, доступ к которым необходим win-приложениям для работы. Можно сформулировать и несколько более конкретных рекомендаций:

Шрифты

Системе WINE доступны те же шрифты, что и другим приложениям в host-системе2. Соответственно, к этим шрифтам получают доступ и win-приложения.

Сделать определённые шрифты доступными win-приложению можно несколькими способами:

Рекомендуется помещать шрифты в системные каталоги только в составе соответствующих пакетов, а не копировать их из других систем.

Существует базовый набор шрифтов (MS Core Fonts) — многие приложения рассчитывают на наличие в системе шрифтов со стандартными именами из данного набора. Для корректной работы таких приложений, а также для обеспечения точного соответствия документов при печати потребуется установить этот набор шрифтов из пакета fonts-ttf-ms, доступного в репозитории дистрибутива.

Также набор данных шрифтов можно свободно скачать с сайта http://corefonts.sourceforge.net.

Настройка операционной системы

Использование аппаратных ключей защиты в Linux

HASP (от англ. Hardware Against Software Piracy)- это мультиплатформенная аппаратно-программная система защиты программ и данных от нелегального использования и несанкционированного распространения.

Драйверы для поддержки ключей защиты в Linux поставляются в пакетах haspd и haspd-modules.

Ключи защиты HASP 4/HL (Aladdin)

Ключи HASP бывают как локальные (однопользовательские), так и сетевые (многопользовательские). По способу подключения ключи также бывают двух типов: подключаемые к порту LPT (параллельный порт) и к шине USB. Для ОС GNU/Linux имеются драйверы USB- и LPT-ключей защиты для ядра версии 2.4 и 2.6. Рекомендуется использовать USB-ключ защиты, так как это более современный способ подключения и его подключение и настройка вызывает меньше проблем. Возможно, потребуется обратиться к поставщику программы и попросить о замене ключа.


Начиная с Win32 HASP HL API версии 1.12 поддерживаются локальные ключи HASP при работе из WINE@Etersoft. Примером такой программы является 1С: Предприятие 8.0 и выше.

Установка драйвера ключа HASP 4/HL

При эксплуатации программ, защищённых ключом защиты HASP (например, 1С: Предприятие 7.7), необходим драйвер ключа, установленный на компьютере с подключённым ключом. Для сетевого ключа в дополнение к драйверу потребуется также работающий сетевой менеджер лицензий. Сетевой ключ может располагаться на любом узле сети, работающем под управлением Linux или Windows.

Различение ключей:

Все компоненты драйвера HASP, включая сетевой менеджер лицензий, находятся в пакете haspd. Достаточно обычным способом установить этот пакет (из каталога для вашей версии дистрибутива GNU/Linux) на тот компьютер, к которому подсоединён ключ (вне зависимости от типа ключа).

Проверить, что все компоненты драйвера запущены и работают правильно, можно командой:


[root@test root]# service haspd status
Aladdin HASP 4/HL driver status:
       kernel module aksparlnx is loaded
       aksusbd is running
       winehasp is running
       hasplm is running

Пример 4. Проверка статуса haspd

Если в выводе service haspd status появляется предупреждение о том, что не загружен модуль ядра (kernel module aksparlnx is not loaded), это свидетельствует о том, что у вас установлено ядро, для которого не удалось автоматически подобрать драйвер.

Проверить, какие порты прослушивает менеджер лицензий HASP, можно командой:


[root@test root]# netstat -ap | grep hasp
udp 0 0 *:475 *:* 1535/hasplm
udp 0 0 localhost.localdom:2790 *:* 1169/winehasp

Пример 5. Проверка прослушиваемых портов

Мы видим, что на порту 475 по протоколу UDP ожидает подключения с любых адресов менеджер лицензий, а на локальном порту 2790 по протоколу UDP слушает winehasp соединения с этой же машины.

Настройка приложения, использующего сетевой ключ

Если приложение использует сетевой ключ, то ему требуется знать информацию о расположении ключа защиты (сетевого менеджера лицензий) и способа обращения к нему. Эти данные указываются в файле NETHASP.INI в каталоге с исполняемыми файлами защищённого приложения. Этот файл может выглядеть, например, так:


[NH_COMMON]
NH_TCPIP = Enabled ; Используем только IP-протокол

[NH_TCPIP]
NH_SERVER_ADDR = 192.168.0.1 ; IP-адрес (или имя) машины с менеджером лицензий
NH_TCPIP_METHOD = UDP ; UDP для Linux-сервера и TCP для Windows-сервера
NH_USE_BROADCAST = Disabled ; Отключить поиск ключа по всей сети

Пример 6. Конфигурационный файл NETHASP.INI


Обратите внимание, что концы строк в файле должны соответствовать принятым в DOS/Windows (CR LF), поэтому редактировать файл лучше в notepad.

Для упрощения настройки можно воспользоваться командой setnethasp IP-адрес, которая создаст NETHASP.INI, настроенный на указанный сервер.

Обращение к сетевому менеджеру лицензий, запущенному под Linux, возможно только по протоколу UDP/IP. Если вы используете менеджер лицензий, запущенный под Windows, то удостоверьтесь что в нём включен протокол TCP/IP.


Обратите внимание, что при использовании Linux-драйвера HASP (haspd) вам не требуется как-либо запускать и настраивать hinstall.exe из поставки Win-приложения.


Обратите внимание, что при использовании сетевого ключа устанавливать пакет haspd нужно только на машине с ключом.

Проверка доступности ключа

Если всё правильно настроено, но приложение не видит ключ, следует для проверки отключить межсетевой экран (firewall) командой service iptables stop или iptables -F

Далее можно попробовать обратиться к менеджеру лицензий с помощью тестовой программы.


# eterkeytest --hasp
USB:

HASP:
HASP API VERSION: 8.0

HASP Local:
        LPT HASP4 M4 (HASP3 is connected, key is HASP4 Net 5)
        1C:Accountancy v7.7 (simple and network)

HASP Net (press Ctrl-C to break):
.....   -- active logins:  1
        -- max logins:     5
        -- key type:       HASP4 Net 5
        -- activations:    65535
        1C:Accountancy v7.7 (simple and network)

Пример 7. Проверка ключа

Для Windows существует программа АКС Монитор, позволяющая увидеть тип ключа и количество лицензий в нём: ftp://ftp.aladdin.com/pub/hasp/new_releases/utility/monitor/Monitor_Setup.zip


Обратите внимание на количество лицензий в ключе. Например, при использовании двух ключей одного типа (например, USB) по 5 лицензий менеджер лицений всё равно будет выдавать не более 5 лицензий, потому что он увидит только один ключ, то же и с локальными ключами.

Компоненты драйвера HASP в GNU/Linux

Драйвер ключей защиты HASP для GNU/Linux состоит из нескольких взаимодействующих компонент:

Сборка модулей ядра для HASP

При отсутствии в пакете модулей для вашего ядра потребуется запустить сборку командой service haspd build

Для сборки потребуется установить заголовочные файлы ядра или исходники ядра (зависит от системы) именно той версии, под которую вы планируете сборку. Для систем ALT Linux это пакет kernel-headers-*.


В настоящий момент поддержка HASP на платформе FreeBSD не реализована.

Ключи Smartkey 3 (EUTRON)

Сетевыми ключами Smartkey 3 USB/LPT защищаются, например, конфигурации 1С: Рарус 7.7. Драйвер для ключей входит в пакет haspd (/usr/sbin/keyd) и запускается в сервисе haspd. Конфигурационный файл драйвера находится в /etc/skeyd.conf, там можно настроить адрес и порт, на котором находится ключ. По умолчанию драйвер слушает на адресе 127.0.0.1 порт 13527/tcp.

В защищаемой программе параметры доступа указываются в файле Server.ini (должен находиться в каталоге с конфигурацией).


MODE=NET
SERVER=localhost
IP=127.0.0.1
PORT=13527
PING=0

Пример 8. Конфигурационный файл Server.ini

Дополнительно можно посмотреть здесь: http://www.forum.mista.ru/topic.php?id=242981&forum=it&order=answers

Ключи Smartkey 2 требуют использования модуля ядра и не поддерживаются.

Сайт производителя

Ключи SuperPro, UltraPro, SHK (Sentinel)

Данные ключи используются для защиты таких программ, как Инфо-Бухгалтер, БЭСТ. При использовании сетевых ключей возможен запуск защищённых программ через Wine. Драйвер для ключей входит в пакет haspd и запускается в сервисе haspd. По умолчанию используется протокол TCP/IP и порты 7001 и 7002. На порту 7002 должен работать веб-интерфейс по проверке лицензий.

Пример конфигурационного файла поставляется /usr/share/doc/haspd-2.0/sntlconfig.xml

Сайт Rainbow Technologies Сайт производителя

Ключи Катран

Данные ключи применяются, например, в составе решения по защите конфигураций 1С. Драйверы ключа существуют только для Windows. Если применяемая схема защиты требует, чтобы ключ был как на сервере, так и на клиенте, приложение запустить в WINE не удастся. Конфигурация АльфаАвто 4.0 от компании Рарус для 1С 8.0, защищённая ключом Катран, проверена и работает под WINE, как в обычном, так и в терминальном режиме.

Дополнительно можно посмотреть здесь:

Ключи GUARDANT (Актив)

Сервер Guardant Net может быть запущен на платформах X86 под операционными системами Windows 95/98/Me/NT/2000/XP. Драйверов под Linux для ключей Guardant не существует, поэтому локальные ключи не работают вообще, а программы, защищённые сетевым ключом, могут быть запущены при использовании сервера ключей, запущенного на Windows.

Сайт производителя

Использование прочих ключей защиты

В случае использования других ключей защиты следует руководствоваться следующими общими правилами:

В случае затруднений обращайтесь с описанием проблемы по адресу mailto:hasp@etersoft.ru.

Трудности при использовании ресурсоёмких win-приложений

Лимит на количество открытых файлов

Ещё одна сторона совместной работы: одновременное использование большего количества ресурсов, что может приводить к превышению стандартных лимитов, используемых по умолчанию в различных Unix-системах. Лимиты могут определяться как в момент компиляции ядра, так и настраиваться в любой момент в процессе работы.

В контексте использования WINE наиболее актуален лимит на открытые файлы. Если в приложении не открываются большие файловые базы или невозможно работать более чем 3-м пользователям одновременно, это может означать, что превышен лимит на открытые файлы.

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

Узнать текущее значение лимита ядра можно через команду winediag. Обычно это значение достаточно велико.

Чтобы разово изменить это значение в Linux можно посредством той же proc, для этого нужно просто записать новое значение в файл file-max (потребуются права суперпользователя):


# echo "104854" > /proc/sys/fs/file-max
# cat /proc/sys/fs/file-max 
104854

Пример 9. Изменение лимита на открытые файлы

Чтобы настройка лимитов сохранялась между перезагрузками, необходимо внести нужные значения в файл /etc/sysctl.conf:


# Maximum number of open files permitted
fs.file-max = 104854

Пример 10. Настройка sysctl.conf

Лимит по количеству открытых файлов для командной оболочки пользователя можно контролировать при помощи подсистемы авторизации PAM. Для этого в конфигурационном файле /etc/security/limits.conf выставляются необходимые значения:


*    soft    nofile    5000
*    hard    nofile    5000

Пример 11. Указание лимитов в /etc/security/limits.conf

В данном случае указан лимит в 5000 файлов. Чтобы лимит применялся при регистрации пользователей в системе, в файле /etc/pam.d/system-auth должна быть строка:


session   required  /lib/security/pam_limits.so

Пример 12.

После повторного входа в систему выставленное вами значение лимита должно быть отображено в выводе команды ulimit -n.

Ограничения, накладываемые WINE@Etersoft

Для версий WINE@Etersoft 1.0 Network и SQL имеются ограничения на максимальный размер файлов, с которыми работает программа, блокирующая отдельные участки файла: размер файла не должен превышать 1Гб. Это относится, например, к dbf-файлам, и не относится к видеофайлам. В случае работы с файлом по протоколу CIFS данное ограничение отсутствует.

Эксплуатация win-приложений

1C: Предприятие 7.7 в WINE

Обратите внимание на то, что при использовании файла NETHASP.INI, который записан по умолчанию, возможна нестабильная связь с менеджером лицензий и сбои при запуске программы 1С.

У 1С: Предприятия в WINE имеется ряд отличий в работе функций администрирования, которые следует учесть.

При использовании режима административной установки у простых пользователей не будет возможности сохранять базу (через Конфигуратор), если у них отсутствуют права записи на файл 1CV7FILE.LST. При этом будет выводиться сообщение “Ошибка при открытии списка сохраняемых файлов”. Обычно данный файл имеется в каталоге BIN, но при необходимости отдельных настроек для каждой базы он может быть скопирован в каталог базы с соответствующими правами.

При восстановлении конфигурации из архива возможна ошибка о нехватке свободного места. Она связана с несовпадением владельца файлов, и пользователя, выполняющего восстановление.

Если программа молча закрывается сразу после ввода пароля пользователя, это говорит о проблемах с правами на файлы базы. Если программа иногда выдаёт сообщение о том, что нет ключа защиты, иногда запускается, а иногда закрывается, когда уже появилось главное окно, то необходимо правильно настроить NETHASP.INI (отключить broadcast и указать IP-адрес машины с ключом). Подробнее см. в разделе про настройку HASP.

Полезные ответы по 1С: http://forum.windowsfaq.ru/showthread.php?t=52051

Запуск БЭСТ 4+

БЭСТ 4+ представляет собой консольное приложение Win32, написанное в xHarbour. При исполнении в режиме Win98 он использует встроенный терминал, который некорректно работает в Wine (из-за использования своих шрифтов). При исполнении в режиме Win2000 такой проблемы нет, используется штатная консоль Wine. Для запуска БЭСТ 4+ выполните в каталоге с программой команду

$ winexp wineconsole start best.bat

Если у вас неадаптированная версия БЭСТ 4+, то для выгрузки отчётов в OpenOffice.org потребуется заменить util/zip.exe файлом из архива ftp://ftp.info-zip.org/pub/infozip/WIN32/zip232dn.zip

Замечания по установке сторонних компонент

Установка и использование дистрибутивов MSI

Многие программы имеют дистрибутив в виде пакета msi. Если дистрибутив представляет из себя файл с расширением msi, запустите установку командой

$ wine start программа.msi

Запуск консольных программ

В Wine возможно запускать консольные Win32-программы. Например, для запуска программы far:

$ wineconsole Far.exe

Для получения командной строки запустите $ wineconsole cmd или выберите в меню пункт “Командная строка Wine”.

Запуск программ DOS (16-разрядных программ реального режима процессора), особенно сложных, в штатной виртуальной DOS-машине, имеющейся в Wine, обычно не даёт положительного результата. Рекомендуется использовать dosemu или dosbox.

Открытие документов Office

В WINE@Etersoft предусмотрено открытие документов офисных форматов в OpenOffice.org, установленном в host-системе. При этом вызывается на выполнение команда ooffice (soffice) host-системы.

Настройка печати

Специальных настроек, как правило, не требуется. Достаточно иметь в системе установленный и настроенный CUPS, и все настроенные принтеры будут доступны в Wine.

В настоящий момент не работает установка виртуальных принтеров, которые нужны для печати на виртуальные устройства типа VentaFax или XPrint/BiPrint.

Если после обновления возникли проблемы с установленными драйверами принтеров, можно удалить записи о них из реестра командой wine --removeprinters.

Штрих-коды

1C: Предприятие 7.7

Для отображения штрих-кодов в отчётности используется специальный шрифт (EanGnivc), который входит в WINE@Etersoft (файл eang000.ttf).

В конфигурации Торговля и Склад для формирования графического представления штрихового кода используется OCX-компонента ActiveBarcode, созданная компанией Schenk&Horn, подключаемая как элемент управления OLE. Находится она в файле BARCODE.OCX. Перед использованием его нужно зарегистрировать командой $ regsvr32 BARCODE.OCX в каталоге с конфигурацией, где и находится BARCODE.OCX.

Платформа 1С: Предприятие включает лицензию на использование этой компоненты версий 3.хх, таким образом при использовании ActiveBarcode из 1С: Предприятия она будет работать как лицензионная копия.

1C: Предприятие 8.x

В типовых конфигурациях используется специальная компонента 1С: Печать штрихкодов (выполненная в виде DLL-библиотеки), которая распространяется на диске ИТС (Работаем с программами) в виде установочного файла (1CBarcode.exe). Его нужно установить отдельно перед началом работы с конфигурацией. Обратите внимание, что лицензия на эту компоненту разрешает её использование только с программой 1С: Предприятие.

Сторонние программы

Для печати штрих-кодов на платёжных поручениях банки предлагают установить программы из серии XPrint или BiPrint, которые устанавливаются как виртуальный принтер, перехватывают вывод программы, распознают в нём текстовую информацию и дополняют изображение документа штрих-кодом, содержащем информацию о платеже.

В настоящий момент виртуальные принтеры в WINE@Etersoft не поддерживаются, и работа таких программ невозможна.

Общие сведения о WINE

WINE: среда для запуска win-приложений на платформе Unix

Терминология

Поскольку речь идёт об использовании технологии, предоставляющей прослойку совместимости для запуска программ, разработанных для ОС Windows, на платформе Linux/Unix, возможна путаница в терминологию. Чтобы не путаться в том, какая именно система имеется в виду, мы будем придерживаться строго последовательного употребления терминов.

host-система
OC Linux/Unix, в которой установлен и выполняется WINE.
win-окружение
Cреда, сформированная WINE, и фактически расположенная в host-системе.
win-приложение
Программа, разработанная для ОС Windows, которая выполняется в win-окружении.
Windows
Какая-либо операционная система семейства Windows. Упоминается только для сравнения.

Надеемся, что теперь читатель никогда не засомневается, о какой среде идёт речь, а если всё-таки это произойдёт, то он ещё раз заглянет в это краткое предисловие.

Технология

Благодаря распространённости ОС Windows на сегодняшнем рынке очень многочисленны приложения, разработанные для этой платформы3. Однако зависимость коммерческого приложения от определённой платформы (ОС) может быть не всегда удобной или выгодной. На этот случай существуют средства, позволяющие программам, разработанным для ОС Windows, работать в другой операционной системе. Одним из наиболее развитых среди подобных средств является WINE.

WINE (Wine Is Not Emulator) не является эмулятором операционной системы: то есть он не создаёт изолированной среды для выполнения и не обеспечивает доступ к низкоуровневым системным ресурсам, таким как непосредственный доступ к оборудованию. Задача WINE состоит в том, чтобы, с одной стороны, предоставить win-приложению Win API — стандартный системный интерфейс операционных систем Windows, а с другой стороны, транслировать запросы win-приложения в соответствующие системные вызовы (Unix API). WINE работает на различных Unix-системах, в том числе на GNU/Linux, FreeBSD, Sun Solaris, MacOS. Таким образом, WINE — это своеобразная «прослойка» совместимости между win-приложениями и host-системой.

Хотелось бы отметить, что любые программы WINE выполняются в непривилегированном режиме и не требует никакой модификации ядра операционной системы (в том числе динамически загружаемых модулей). Отсюда следует простой вывод относительно безопасности: любые проблемы, которые могут быть вызваны запуском win-приложений, будут ограничены правами доступа того пользователя, который запустил WINE. В результате win-приложения будут подчиняться политике доступа UNIX-системы и не смогут её нарушать.

У данного ограничения есть и другая практическая сторона: в WINE нет поддержки низкоуровневого обращения к оборудованию (драйверов оборудования, прямой работы с USB-устройствами). Всё периферийное оборудование следует подключать и настраивать в host-системе: для win-приложений эти устройства могут быть доступны стандартным способом через файловую систему или другие стандартные интерфейсы (например, TWAIN для сканеров, который реализован в WINE как обёртка над библиотекой SANE).

Наиболее распространённый способ применения WINE — запуск двоичных win-приложений в Unix-среде. Удобство для пользователей и разработчиков заключается в том, что при этом не требуется никак изменять приложение — один и тот же вариант годится и для Windows, и для WINE.

Другое, на сегодняшний день пользующееся незаслуженно меньшей популярностью применение — с помощью WINE разработчики ПО могут компилировать свои win-приложения из исходных текстов непосредственно в двоичные исполняемые файлы для Unix. Опять-таки, это те же самые исходные тексты, из которых компилируются двоичные файлы для Windows.

WINE состоит из нескольких компонент:

libwine
Библиотека, предоставляющая все функции WinAPI для win-приложений. По количеству предоставляемых функций её можно сравнить с Qt — столь широк спектр предлагаемых вызовов: от операций с файлами до построения графического интерфейса и обращения к базам данных.
wine
Среда для исполнения двоичных win-приложений, предоставляет программам окружение, неотличимое от Windows. Это окружение помимо Win API включает реестр, стандартные каталоги и файлы. Реестр является единственной изменяемой информацией, необходимой для работы WINE и win-приложений в нём.
стандартные программы
Некоторые типичные win-приложения: текстовый редактор (блокнот), файловый браузер и т. п.
средства разработки
Средства компиляции и отладки: имеются заголовочные файлы, которые описывают доступное API, компилятор winegcc, представляющий собой обёртку над gcc, отладчик winedbg и прочие вспомогательные утилиты.

Разработка

WINE — это свободный проект, который был начат в 1993 году. На тот момент распространённой платформой была Win16 (Windows 3.1), на неё и был ориентирован WINE, на сегодняшний день основным русло разработки — Win32. Исходные тексты WINE выпускаются под лицензией LGPL (Lesser GPL), никаких ограничений по доступу к исходным текстам и их модификации не имеется. WINE снабжён достаточно вразумительной документацией, имеется ряд списков рассылки (англоязычных), как для пользователей, так и для разработчиков, где оперативно решаются любые вопросы.

Процесс разработки WINE во многом похож на метод, применяемый при разработке ядра Linux. Все присылаемые (в специальную рассылку) патчи подвергаются рассмотрению разработчиков, которые могут высказывать свои соображения и добавления. Имеется один человек, Александр Джулиард, который принимает решение о том, включать ли патч в CVS, и при необходимости совершает в нём какие-то улучшающие изменения (например, исправляет ошибки в оформлении кода). Ведётся контроль и учёт всех отправляемых патчей и их авторства. Прежде чем патч будет принят, он проходит автоматическое тестирование — WINE компилируется с новым патчем, и выполняется регресс-тестирование: запускается тестовый код, написанный практически для каждого API, с помощью которого можно удостовериться, что добавление патча не нарушает совместимость.

Реализация

Успешность и корректность работы win-приложений в WINE естественно определяется тем, насколько среда WINE неотличима от Windows с точки зрения win-приложения. Иначе говоря, вопрос в том, насколько полно Win API и другие стандартные компоненты и процедуры Windows реализованы в WINE. Текущая оценка полноты реализации конкретных функций публикуется на сайте разработчиков WINE. В WINE реализованы функции практически всех динамических библиотек (DLL), входящих в Windows: начиная от 16-разрядных и заканчивая появляющейся поддержкой 64-битного режима. На хорошем уровне находится поддержка OLE, MSI и DirectX.

Если говорить об общей оценке полноты реализации, то на сегодняшний день разработчики называют цифру 90%. Однако относиться к этой цифре нужно не совсем так, как к обычному процентному соотношению. Дело в том, что с точки зрения успешной разработки WINE Win API должно быть таким, каким его хотят видеть программы. Полных и безошибочных спецификаций Win API в публичном доступе нет (и никогда не было), и это во многом определило характер разработки на платформе Win. Большинство разработчиков win-приложений используют только незначительную часть стандартных функций API, а остальные необходимые функции реализуют самостоятельно и поставляют вместе с программой. В последние годы подмножество широко используемых функций API в широкой массе win-приложений уже стабилизировалось и практически не меняется. Для WINE это означает, что цифра 90% означает стабильную работу большинства win-приложений в WINE даже больше, чем в 90% случаев.

По этой же причине не так существенна опасность отставания от изменений, вносимых в Win API в рамках операционной системы Windows. Единственная особенность — развивающаяся поддержка 64bit, при разработке архитектуры WINE принималась в расчёт возможность расширения в этом направлении. Поэтому как только функции Win64 API получат более широкое распространение, добавление их поддержки в WINE не заставит себя долго ждать.

Лицензия на документацию

Данный документ распространяется на условиях свободной лицензии FDL (Free Documentation License) версии 1.1 или любой более поздней версии. Данный документ не содержит текста, помещаемого на первой или последней странице обложки. Данный документ не содержит неизменяемого текста.

Заключение

Мы надеемся, что продукт WINE@Etersoft будет соответствовать вашим ожиданиям и будет пригоден для повседневной эксплуатации нужных вам программ.

В любом случае мы ждём ваших отзывов и предложений, направляйте их по адресу wine@etersoft.ru.

Команда разработчиков WINE@Etersoft

«06 августа 2007»


1Нужно делать это вручную, или монтирование выполняется автоматически — зависит от вашего дистрибутива и стиля работы.

2Для получения списка доступных шрифтов WINE использует пакет fontconfig, а для отрисовки символов — библиотеку freetype2.

3Здесь и далее мы будем называть такие приложения win-приложениями.

Сведения о документе