WINE@Etersoft/Enterprise
Содержание
- 1 Что такое WINE@Etersoft SQL
- 2 Регистрация продукта WINE@Etersoft
- 3 Обращение в службу поддержки
- 4 Подписка на обновления
- 5 Установка WINE@Etersoft
- 6 Установка WINE@Etersoft на 64-битные ОС
- 7 Удаление WINE@Etersoft
- 8 Использование сервисов
- 8.1 Пошаговая инструкция по установке rpm-пакетов WINE@Etersoft
- 8.1.1 1. Пакеты, которые необходимо установить
- 8.1.2 2. Если установлен стандартный WINE, его следует удалить
- 8.1.3 3. Удалить каталог .wine из домашнего каталога пользователя
- 8.1.4 4. Установить пакеты WINE@Etersoft
- 8.1.5 5. Первый запуск WINE
- 8.1.6 6. Лицензия WINE-ETERSOFT
- 8.1.7 7. Установка приложений в WINE
- 8.2 Пошаговая инструкция по установке deb-пакетов WINE@Etersoft
- 8.2.1 1. Пакеты, которые необходимо установить
- 8.2.2 2. Если установлен стандартный WINE, его следует удалить
- 8.2.3 3. Удалить каталог .wine из домашнего каталога пользователя
- 8.2.4 4. Установить пакеты WINE@Etersoft
- 8.2.5 5. Первый запуск WINE
- 8.2.6 6. Лицензия WINE-ETERSOFT
- 8.2.7 7. Установка приложений в WINE
- 8.1 Пошаговая инструкция по установке rpm-пакетов WINE@Etersoft
- 9 Использование WINE@Etersoft
- 9.1 Запуск win-приложений
- 9.2 Запуск сервисов
- 9.3 Установка и удаление win-приложений
- 9.4 Создание ярлыков
- 9.5 Создание резервной копии
- 9.6 Восстановление WINE
- 9.7 Диагностика проблем
- 9.8 Настройка WINE@Etersoft
- 9.9 Использование Winecfg
- 9.10 Использование Regedit
- 9.11 Организация совместной работы
- 9.12 Настройка совместной работы по протоколу CIFS
- 9.12.1 Настройка Linux/Samba-сервера для совместной работы по протоколу CIFS
- 9.12.2 Советы по настройке SAMBA-сервера
- 9.12.3 Настройка сетевого ресурса (шары) на SAMBA-сервере
- 9.12.4 Настройка Linux-клиентов для совместной работы по протоколу CIFS
- 9.12.5 Поддерживаемые ядра
- 9.12.6 Подготовка модуля ядра CIFS@Etersoft
- 9.12.7 Монтирование сетевого ресурса
- 9.12.8 Утилита монтирования etermount
- 9.12.9 Монтирование сетевого ресурса при загрузке системы
- 9.12.10 Использование модуля ядра CIFS@Etersoft в системах Slackware и MOPSLinux
- 9.12.11 Использование устаревшего модуля smbfs ядра Linux
- 9.12.12 Использование других реализаций CIFS-клиентов
- 9.12.13 Использование других реализаций CIFS-серверов
- 9.12.14 Настройка Windows-сервера для совместной работы по протоколу CIFS
- 9.12.15 Использование томов NetWare для совместной работы
- 9.13 Настройка совместной работы по NFS в Linux
- 9.13.1 Настройка сервера NFS на примере Ubuntu Linux
- 9.13.2 Настройка клиентов NFS на примере Ubuntu Linux
- 9.13.3 Монтирование вручную
- 9.13.4 Монтирование при загрузке системы
- 9.13.5 Автомонтирование при обращении к каталогу (autofs)
- 9.13.6 Настройка сервера NFS на примере ALT Linux
- 9.13.7 Настройка клиентов NFS на примере ALT Linux
- 9.13.8 Настройка экспортируемых с сервера каталогов
- 9.13.9 Варианты авторизации клиентов
- 9.13.10 Информация о сервере NFS
- 9.13.11 Особенности работы с NFS
- 9.14 Режим административной установки
- 9.14.1 Администратор WINE
- 9.14.2 Общее win-окружение
- 9.14.3 Подключение к общему win-окружению
- 9.14.4 Права доступа к общему win-окружению
- 9.14.5 Общие замечания
- 9.14.6 Краткая инструкция
- 9.14.7 Рассмотрим на конкретном примере
- 9.14.8 Файл конфигурации
- 9.14.9 Копирование ярлыков пользователю
- 9.14.10 Создание резервной копии
- 10 Использование аппаратных ключей защиты в Linux
- 10.1 Ключи защиты HASP 4/HL (Aladdin — Sentinel)
- 10.2 Подключение ключей HASP 4/HL
- 10.3 Установка драйвера ключа HASP 4/HL
- 10.4 Настройка приложения, использующего сетевой ключ
- 10.5 Проверка доступности ключа
- 10.6 Компоненты драйвера HASP в GNU/Linux
- 10.7 Сборка модулей ядра для HASP
- 10.8 Ключи HASP SRM
- 10.9 Ключи Smartkey 3 (EUTRON)
- 10.10 Сетевые ключи
- 10.11 Локальные ключи
- 10.12 Ключи SuperPro, UltraPro, SHK (Sentinel)
- 10.13 Сетевые ключи
- 10.14 Локальные ключи
- 10.15 Ключи Катран
- 10.16 Ключи GUARDANT (Актив)
- 10.17 eToken (Aladdin)
- 10.18 Ключи SenseLock (SecuLab)
- 10.19 Использование прочих ключей защиты
- 11 Изменение установленных в системе ограничений
- 12 1C: Предприятие в WINE
- 12.1 1C: Предприятие 7.7
- 12.2 Настройка 1С 7.7 для работы с SQL-сервером
- 12.3 Установка 1С: Предприятия 8.1
- 12.4 Установка 1С: Предприятия 8.1 в трёхзвенном режиме
- 12.5 Запуск Консультант+ (сетевой версии)
- 12.6 ГарантF1
- 12.7 Инфо-Бухгалтер 8.x
- 12.8 Запуск БЭСТ 4+
- 12.9 Дополнительные компоненты
- 12.10 Штрих-коды
- 12.11 Описание встроенных программ диагностики
- 12.12 Запуск Налогоплательщик ЮЛ
- 12.13 Запуск MS Access 2003
- 12.14 Установка и запуск Internet Explorer 6
- 13 Терминальные решения
- 14 КОМПАС-3D в WINE
- 15 ГРАНД-Смета в WINE
- 16 Renga в WINE
- 17 SmetaWIZARD в WINE
- 18 nanoCAD в WINE
- 19 APM в WINE
- 20 Налогоплательщик ЮЛ
- 21 ППДГР (Программа подготовки документов для государственной регистрации)
- 22 СправкиБК в WINE
- 23 Среда для запуска приложений Windows
- 24 Наиболее часто встречающиеся вопросы при использовании WINE@Etersoft
- 25 Дополнительная информация
- 26 Глоссарий
- 27 Лицензия на документацию
- 28 Заключение
Что такое WINE@Etersoft SQL
WINE@Etersoft SQL ориентирована на организации, которым требуется возможность совместной работы с win-приложениями на платформах GNU/Linux или FreeBSD. В этом продукте наравне с возможностью одновременной работы с файлами реализована работа приложений с SQL-серверами (например, СУБД MS SQL Server 2000 или PostgreSQL). Рекомендуется организациям, работающих в сиcтеме "1С: Предприятие 7.7 SQL" или "1С: Предприятие 8.1 PostgreSQL".
Особое внимание уделяется поддержке российских коммерческих приложений, которым затруднительно найти аналоги среди свободного ПО для Linux: в первую очередь это приложения, необходимые для ведения дел на предприятии (бухгалтерия, учёт, налоговая отчётность, правовые базы данных и др.).
Регистрация продукта WINE@Etersoft
Зарегистрировать приобретённый экземпляр продукта можно на сайте Etersoft, для этого потребуется ввести регистрационный номер, который указан в Свидетельстве подлинности (либо в лицензионном договоре).
При регистрации, кроме регистрационного номера самого продукта, требуется ввести Ваше имя и адрес электронной почты (для юридических лиц -- также название организации), чтобы мы могли связаться с Вами при необходимости.
После регистрации будет создана страница продукта, http://sales.etersoft.ru/product/NNNN-NNNN
, подтверждающая правомерность владения экземпляром программы WINE@Etersoft.
Введённый Вами адрес электронной почты не будет нигде опубликован, и будет использоваться только для доступа к ресурсам Etersoft и для связи с Вами со стороны Etersoft, а также для рассылки информационных сообщений, если Вы дали на это согласие при регистрации.
Если у Вас возникают какие-либо проблемы с проверяющими органами, незамедлительно обратитесь к нам по адресу sales@etersoft.ru, чтобы мы могли оперативно проконсультировать Вас и оказать содействие.
Обращение в службу поддержки
Если у вас возникнут затруднения по установке или настройке WINE@Etersoft, или проблемы в установке или работе win-приложений в среде WINE@Etersoft -- обращайтесь в службу технической поддержки Etersoft mailto:support@etersoft.ru. Через несколько минут Вам придёт уведомление с номером заявки.
Перед обращением в службу поддержки нужно проверить, все ли компоненты WINE@Etersoft корректно установлены, для этого выполните команду wine --version
. Она должна вывести WINE@Etersoft 1.0 [Local|Network|SQL] 1.0.10-eterXX/XX
и регистрационный номер продукта.
При обращении в службу поддержки, пожалуйста, оформите письмо следующим образом:
- в теме сообщения укажите регистрационный номер продукта и краткое описание ошибки
- опишите возникшую проблему, и точный способ её воспроизведения
- не забудьте представиться в письме (указать название компании)
Subject: 1234-4567 - ошибка при формировании отчёта в 1С Бухгалтерия 7.7 Здравствуйте! При попытке сформировать отчёт "Ведомость плательщиков" получаю ошибку "Недопустимая сумма". В консоли ничего не пишет. Релиз 1С - 27, конфигурация - Бухгалтерия 499. -- Иван Ложкин, Компания "Спокойный бухгалтер"
Если первичная инициализация wine проходит неуспешно (команда wine --update
выдаёт ошибку), свяжитесь со службой поддержки, передав файл .wine/install.log
.
Если произошёл сбой в работе win-приложения, действуйте следующим образом:
- Запустите приложение из командной строки командой
winelog win-приложение
, где `win-приложение` -- путь к исполняемому (exe) файлу. - Добейтесь сбоя в работе приложения.
- Журнал (лог-файл) будет записан в файл
.wine/wine.log
. В этом файле могут содержаться излишние подробности о Вашей системе, которые вы не хотели бы раскрывать. Пожалуйста, перед отправкой просмотрите файл и удалите лишние данные. - Приложите
wine.log
к письму в службу поддержки Etersoft.
Подписка на обновления
Компания Etersoft предоставляет покупателям своих продуктов регулярные обновления, в которых делаются существенные исправления и добавляется поддержка новых возможностей.
Получить обновления можно на сайте компании Etersoft, на Вашей персональной странице. Информацию о выходящих обновлениях мы рассылаем нашим клиентам по электронной почте.
Получив пакеты обновлений, нужно установить их стандартным для Вашей системы способом, удалять при этом предыдущую версию WINE@Etersoft не требуется.
После того как будут установлены новые версии пакетов, каждому пользователю необходимо выполнить команду wine --update
для обновления стандартных данных реестра локального win-окружения и некоторых других изменений, подготовленных для новой версии.
Обратите внимание, что при обновлении WINE@Etersoft версии 1.0 до WINE@Etersoft версии 2.0 необходимо также удалить файл лицензии wine-etersoft.lic в одном из каталогов: ~/.wine
, C:WINDOWSINF
или в /etc/wine
и скопировать туда новый файл лицензии, полученный в письме со ссылками на скачивание продукта.
Установка WINE@Etersoft
Системные требования
- x86-совместимый процессор 800 МГц
- 256 Мб ОЗУ (128Мб минимум)
- 32-битная ОС GNU/Linux или FreeBSD
Дополнительно:
- аппаратное ускорение GL (для работы с 3D)
- система печати CUPS (при необходимости печати)
Подробнее:
- 32-битное или 64-битное ядро Linux 2.6.x или FreeBSD не ниже 7.0
- freetype >= 2.1.9 или новее
- система вывода звука ALSA
Рекомендуемые дистрибутивы (в порядке приоритета):
- Ubuntu 10.04
- ALT Linux 5.0
- Mandriva 2010.0
- Fedora 13
- LINUX@Etersoft 4.1
- ASP Linux 14
- SUSE 11
Описание конкретных проверенных конфигураций можно найти здесь: http://kb.etersoft.ru/Проверенные_конфигурации
Операционная система
Продукт WINE@Etersoft протестирован на ряде Linux/Unix-систем, самая актуальная версия списка публикуется на сайте Etersoft). Двоичные пакеты для каждого из перечисленных в этом списке дистрибутивов можно найти на компакт-диске WINE@Etersoft в подкаталоге WINE/название_дистрибутива/версия
. Исходные тексты WINE (свободная часть WINE@Etersoft) находятся на диске в подкаталоге sources/
.
.wine
в домашнем каталоге каждого пользователя.
Если Вы используете дистрибутив, которого нет в списке совместимых с WINE@Etersoft, или другую версию одного из перечисленных дистрибутивов, то мы не можем гарантировать, что WINE@Etersoft можно установить и корректно использовать на данной платформе. В этом случае у Вас есть две возможности: выбрать дистрибутив из списка поддерживаемых или обратиться в Etersoft для обсуждения возможности поддержки WINE@Etersoft на Вашей платформе.
Установка WINE
Пакеты, составляющие WINE@Etersoft, устанавливаются обычным образом, Вы можете воспользоваться привычной программой управления пакетами. Потребуется установить все пакеты, имеющиеся в каталоге WINE/название_дистрибутива/версия
. Пакеты из подкаталога extra
, как правило, устанавливать не требуется.
В большинстве ситуаций установку пакетов можно выполнить одной командой (в каталоге со сборкой WINE@Etersoft для Вашего дистрибутива).
Универсальный способ для большинства дистрибутивов:
epmi wine-etersoft*.rpm
Для дистрибутивов на основе rpm:
название_дистрибутива/версия# rpm -Uvh wine-etersoft*.rpm
Для дистрибутивов на основе dpkg:
название_дистрибутива/версия# dpkg -i wine-etersoft*.debДля FreeBSD:
название_дистрибутива/версия# pkg_add wine-etersoft-*Для Slackware:
название_дистрибутива/версия# installpkg wine-etersoft*
Для Gentoo: Предоставляются архивы с бинарными файлами. После их скачивания обратитесь за инструкцией.
Если программа установки пакетов (rpm или dpkg) сообщит о неудовлетворённых зависимостях, то нужно установить недостающие пакеты из комплекта Вашего дистрибутива обычным образом.
Установка WINE@Etersoft на 64-битные ОС
Начиная с WINE@Etersoft 7, установка производится штатным образом: с помощью предлагаемого вместе с пакетами установочного скрипта или вручную установкой пакетов, которые включают в себя 32-битные и 64-битные версии.
ALT Linux
Поставка WINE@Etersoft осуществляется в виде набора .rpm пакетов для вашей операционной системы. Вы можете загрузить их для установки вручную или использовать единую команду установки, которая скачает все необходимые пакеты и установит их за вас.
1. Найдите в письме с пакетами файл wine-etersoft-install.sh и загрузите его к себе на компьютер;
2. Войдите в режим суперпользователя:
$ su -
3. Перейдите в каталог с загруженной командой и выполните:
# bash wine-etersoft-install.sh
Единая команда установки автоматически скачает все необходимые *.rpm пакеты и установит WINE@Etersoft.
Следующим шагом скрипт загрузит файл вашей лицензии и положит его в /etc/wine. После завершения работы скрипт удалит временный каталог для *.rpm пакетов.
Успешная установка завешается строками:
WINE@Etersoft установлен. Пример использования (запускать под пользователем): $ wine setup.exe
После установки WINE@Etersoft, выйдите из режима суперпользователя.
OpenSUSE
Установка на OpenSUSE 12.01 x64
производится при помощи команды zypper in <название_пакета> или zypper install <название_пакета>
1. сначала устанавливаются libieee1284-32bit.rpm и libusb-32bit.rpm пакеты
#zypper install libieee1284-32bit
#zypper install libusb-0_1-4-32bit
2. ставим 32-битные пакеты etersoft
#zypper install wine-etersoft-*.i586.rpm
#zypper install wine-etersoft-<local,network,sql ...>-*.i586.rpm
Готово!
OpenSUSE 10.2 x86_64
Установка производится при помощи команды zypper in название_пакета
Сначала установите libieee1284-32bit-0.2.10-107.x86_64.rpm и libusb-32bit-0.1.12.72.x86_64.rpm пакеты,
потом можно устанавливать libwine-etersoft-''''*.rpm, за ним wine-etersoft-''''*.rpm, а потом
wine-etersoft-(local,network...)-'***.rpm
Где "'**.rpm" означает, что необходимо выбирать пакеты соответствующие вашей ОС.
Arch Linux 2011.08.19 x86_64
На данный момент в наших пакетах wine нет необходимых зависимостей, так что надо просто установить поддержку 32-битных программ:
pacman -S lib32-fontconfig lib32-libxcursor lib32-libxdamage lib32-libxrandr lib32-libxslt lib32-mesa lib32-openssl lib32-libcups
Затем установить пакеты wine:
pacman -U --arch i686 wine-etersoft-*
Mandriva 2010.0 x86_64
Скачивает пакеты для 32-битной системы и ставим их командой
urpmi
Debian
Debian 6.0 х86_64 / AstraLinux x86_64
(Аналогична установка и на Ubuntu 8.04 x86_64 и AstraLinux x86_64 )
Для того, что бы приложения и сам wine запускался, необходимо установить пакет ia32-libs
потом можно ставить пакеты с Wine следующей командой:
dpkg --force-depends -i *.deb
Этой командой устанавливаются 32-битные пакеты:
wine-etersoft_*.deb wine-etersoft-(local,network,sql)_*.deb
Debian начиная с 7.0 64bit
Нужно разрешить использование 32-битной архитектуры, установить 32-битные пакеты wine-etersoft и выровнять зависимости:
# dpkg --add-architecture i386 # dpkg -i wine-etersoft*.deb # apt-get update # apt-get install -f
Дополнительно стоит установить пакет
# apt-get install libgnome-keyring0:i386
чтобы не выдавалось лишних сообщений (подробности в 8956).
Ubuntu
Ubuntu 11.10 64bit
# apt-get install ia32-libs # dpkg -i libwine-etersoft-devel_2.0.3-eter10ubuntu_amd64.deb # dpkg -i wine-etersoft_2.0.3-eter10ubuntu_amd64.deb # dpkg -i wine-etersoft-gl_2.0.3-eter10ubuntu_amd64.deb # dpkg -i wine-etersoft-network_2.0.3-eter5ubuntu_amd64.de # apt-get -f install
Ubuntu начиная с 12.04 64bit
В связи с полным переходом на multiarch, в систему достаточно просто установить 32-битные пакеты wine-etersoft и выровнять зависимости:
# dpkg -i *.deb # apt-get -f install
Начиная с определённых ядер (> 3.8.*) в ядрах ubuntu отсутствует поддержка 16-битных сегментов. Поддержка появляется в ядрах > 3.14.6
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1328965
Установка в старые Ubuntu 64bit
Под Ubuntu собраны все необходимые пакеты для архитектуры amd64.
Предварительно потребуется установить пакет ia32-libs.
Хорошим вариантом является следующий:
# apt-get install wine # apt-get remove wine # dpkg -i *.deb
Возможно, что wine не будет запускаться, жалуясь на wine-glibc.
Должен помочь запуск с указанием LD_LIBRARY_PATH=/usr/lib64
Эту строку можно вставить в /etc/wine/config следующим образом:
export LD_LIBRARY_PATH=/usr/lib64
Fedora
Устанавливайте скачанные 32-битные пакеты командой yum install --nogpgcheck *название пакетов WINE*
CentOS
Перед установкой WINE@Etersoft необходимо установить 32-битные версии пакетов libXaw и libieee1284, они доступны в стандартных репозиториях.
Устанавливайте скачанные 32-битные пакеты командой yum install --nogpgcheck *название пакетов WINE*
Ссылки
- http://wiki.winehq.org/WineOn64bit
- Обновление различных дистрибутивов
- EPM — универсальное средство управления пакетами
Удаление WINE@Etersoft
Пакеты, составляющие WINE@Etersoft, удаляются обычным образом. Вы можете воспользоваться привычной программой управления пакетами.
В большинстве ситуаций удаление пакетов можно выполнить одной командой. Приведём пример для WINE@Etersoft SQL.
Для дистрибутивов на основе rpm:
- rpm -e wine-etersoft wine-etersoft-sql
Для дистрибутивов на основе dpkg:
- dpkg -P wine-etersoft wine-etersoft-sql
Окружение WINE — настройки и установленные программы — хранятся в каталоге ~/.wine
. Если WINE перестал работать, и вы решили начать всё заново
, просто удалите (переименуйте) этот каталог и запустите команду wine
, чтобы создать окружение заново.
Использование сервисов
В документации часто встречается управление сервисами (etercifs, haspd, wine) через команду service
. Если в вашей системе такой команды нет, или она не работает, используйте вызов скрипта напрямую. Например, вместо service haspd build
запускайте /etc/init.d/haspd build
.
Пошаговая инструкция по установке rpm-пакетов WINE@Etersoft
Далее приведена пошаговая инструкция по установке WINE@Etersoft Network на примере системы с rpm-пакетами. Переходите к выполнению следующего шага только после проверки, что предыдущий шаг выполнен успешно.
#
в приглашении означает, что команду нужно выполнить от имени пользователя root. Знак $
в приглашении означает, что команду следует выполнять от имени обычного пользователя. Запускайте команды из-под root только тогда, когда это действительно необходимо.
1. Пакеты, которые необходимо установить
- wine-etersoft
- wine-etersoft-network
wine-etersoft-gl
. Официально функционирование GL поддерживается только в продукте WINE@Etersoft CAD.
2. Если установлен стандартный WINE, его следует удалить
Перед установкой пакетов необходимо убедиться в отсутствии уже установленных пакетов WINE:
# rpm -qa | grep wine
если команда вывела на экран хоть один пакет, скорее всего, он относится к WINE и его необходимо удалить. Как правило, это будут пакеты wine и libwine. Такие пакеты, как libkwineffects и docs-wine-intro, удалять не нужно. Введите следующую команду (требуются привилегии root) для удаления пакетов:
# rpm -e пакеты_wine,_установленные_в_системе
ПРОВЕРКА: если команда выполнилась корректно, то пакетов, относящихся к wine, не должно быть в выводе команде:
# rpm -qa | grep wine
3. Удалить каталог .wine
из домашнего каталога пользователя
При использовании WINE@Etersoft с настройками от обычного WINE могут возникнуть проблемы, поэтому мы рекомендуем переименовать, либо удалить каталог. wine:
$ rm -rf ~/.wine
ПРОВЕРКА: если каталог удалён, вывод команды ls ~/.wine
должен быть примерно таким:
ls: .wine: No such file or directory
.wine
следует удалить из домашних каталогов всех пользователей, которые будут запускать WINE.
4. Установить пакеты WINE@Etersoft
Устанавливаем пакеты WINE@Etersoft. Для этого, находясь в каталоге с пакетами, вводим команду (требуются привилегии root):
test:~ # ls -1 | grep wine
wine-etersoft-1.0.12-eter2mdv.i586.rpm
wine-etersoft-network-1.0.12-eter2mdv.i586.rpm
test:~ # rpm -Uvh wine-etersoft*.rpm Подготовка... ########################################### [100%]
1:wine-etersoft ########################################## [ 33%] 2:wine-etersoft-network ################################## [ 67%]
WINE: Registering binary handler for Windows program [ DONE ] Running etersafed... [ DONE ]
ПРОВЕРКА:
test:~ # rpm -qa | grep wine
wine-etersoft-1.0.12-eter2mdv
wine-etersoft-network-1.0.12-eter2mdv
5. Первый запуск WINE
При первом запуске WINE необходимо создать win-окружение для каждого пользователя. Для этого нужно выполнить команду
$ wine
и дождаться её завершения. Процесс создания окружения отображается на графической заставке.
ВЫВОД (может различаться при разных системах и конфигурациях!):
First running... Using WINEPREFIX=/net/wine/.wine Creating default file tree... Copying prepared tree from '/usr/share/wine/skel' ... Initialize registry and environments... Building local environment... Flash Player 9 NPAPI installing... Device 'e:' created as link for '/media' target. Device 'e::' created as link for '/dev/cdrom' target. Device 'd:' created as link for '/net/wine/Documents' target. Communication dlls installing... MSI installing... Windows Scripting installing... Successfully registered DLL msxml3.dll Successfully registered DLL msxml4.dll Successfully registered DLL mfc40.dll Successfully registered DLL mfc42.dll Successfully registered DLL msscript.ocx Successfully registered DLL mfc42u.dll WINE@Etersoft 1.0 SQL 1.0.10-eter16/11 Licensed for ООО "Этерсофт" with registration number ****-**** Contact person: Системный администратор Use /net/wine/wine_c as WINE C:\ disk. Copy your program into and install it.ПРОВЕРКА:
$ ls -la ~/.wine drwxrwxr-x 3 test test 4096 Окт 30 11:31 . drwx------ 28 test test 4096 Окт 30 11:45 .. drwxrwxr-x 4 test test 4096 Окт 30 11:31 dosdevices -rw-rw-r-- 1 test test 177 Окт 30 11:31 .etersoft-release -rw-rw-r-- 1 test test 72 Окт 30 11:31 install.log -rw-rw-r-- 1 test test 573550 Окт 30 11:31 system.reg -rw-rw-r-- 1 test test 3801 Окт 30 11:31 userdef.reg -rw-rw-r-- 1 test test 26467 Окт 30 11:31 user.reg
6. Лицензия WINE-ETERSOFT
Не забудьте скопировать файл лицензии WINE-ETERSOFT.LIC
(ссылка на него присылается в письме при заказе продукта) в один из каталогов: ~/.wine
, C:\WINDOWS\INF
или в /etc/wine
. Если файл лицензии не будет найден, это будет сообщено при выводе сведений и версии wine.
$ wine --version WINE@Etersoft 1.0 SQL 1.0.12-eter2/3 Licensed for ООО "Этерсофт" with registration number ****-**** Contact person: Системный администратор License expired at 28/04/2010
Вы установили WINE@Etersoft!
7. Установка приложений в WINE
Можете приступать к установке win-приложений. В роли диска С:
выступает каталог ~/wine_c
(находится в домашнем каталоге).
Скопируйте туда дистрибутив программы и выполните команду
$ wine имя_программы.exe
Пошаговая инструкция по установке deb-пакетов WINE@Etersoft
Далее приведена пошаговая инструкция по установке WINE@Etersoft SQL на примере системы с deb-пакетами. Переходите к выполнению следующего шага только после проверки, что предыдущий шаг выполнен успешно.
#
в приглашении означает, что команду нужно выполнить от имени пользователя root. Знак $
в приглашении означает, что команду следует выполнять от имени обычного пользователя. Запускайте команды из-под root только тогда, когда это действительно необходимо.
1. Пакеты, которые необходимо установить
- wine-etersoft
- wine-etersoft-sql
wine-etersoft-gl
. Официально функционирование GL поддерживается только в продукте WINE@Etersoft CAD.
2. Если установлен стандартный WINE, его следует удалить
Перед установкой пакетов необходимо убедиться в отсутствии уже установленных пакетов WINE:
$ dpkg -l | grep wine_
если команда вывела на экран хоть один пакет, скорее всего, он относится к WINE и его необходимо удалить. Как правило, это будут пакеты wine и libwine. Такие пакеты, как libkwineffects и docs-wine-intro, удалять не нужно.
# dpkg -P пакеты_wine,_установленные_в_системе
C параметром-P пакет будет удалён вместе с конфигурационными файлами.
ПРОВЕРКА: если команда выполнилась корректно, то вывод следующей команды на экран должен быть пустым:
$ dpkg -l | grep wine_
3. Удалить каталог .wine
из домашнего каталога пользователя
При использовании WINE@Etersoft с настройками от обычного WINE могут возникнуть проблемы, поэтому мы рекомендуем переименовать, либо удалить каталог. wine:
$ rm -rf ~/.wine
ПРОВЕРКА: если каталог удалён, вывод команды ls ~/.wine
должен быть примерно таким:
ls: .wine: No such file or directory
.wine
следует удалить из домашних каталогов всех пользователей, которые будут запускать WINE.
4. Установить пакеты WINE@Etersoft
Устанавливаем пакеты WINE@Etersoft. Для этого, находясь в каталоге с пакетами, вводим команду (требуются привилегии root):# ls -1 | grep wine wine-etersoft_1.0.11-eter8ubuntu_i386.deb wine-etersoft-sql_1.0.11-eter3ubuntu_i386.deb # dpkg -i wine-etersoft*.deb Подготовка... ########################################### [100%] 1:wine-etersoft ########################################## [ 33%] 2:wine-etersoft-sql ###################################### [ 67%] WINE: Registering binary handler for Windows program [ DONE ] Running etersafed... [ DONE ]ПРОВЕРКА:
test:~ # dpkg -l | grep wine ii wine-etersoft 1.0.11-eter8ubuntu ii wine-etersoft-sql 1.0.11-eter3ubuntu
5. Первый запуск WINE
При первом запуске WINE необходимо создать win-окружение для каждого пользователя. Для этого нужно выполнить команду
$ wine
и дождаться её завершения. Процесс создания окружения отображается на графической заставке.
ВЫВОД (может различаться при разных системах и конфигурациях!):
First running... Using WINEPREFIX=/home/baraka/.wine with WINE@Etersoft 1.0 SQL 1.0.11-eter8/3 Creating default file tree... Copying prepared tree from '/usr/share/wine/skel' ... Initialize registry and environments... Building local environment... Flash Player 9 NPAPI installing... Device 'd:' created as link for '/home/baraka/' target. Device 'u:' created as link for 'unc/server/share' target. MDAC 2.7 installing... MSJET 4.0 installing... Communication dlls installing... MSI installing... Windows Scripting installing... Successfully registered DLL msxml3.dll Successfully registered DLL msxml4.dll Successfully registered DLL mfc40.dll Successfully registered DLL mfc42.dll Successfully registered DLL msscript.ocx Successfully registered DLL mfc42u.dll WINE@Etersoft 1.0 SQL 1.0.11-eter8/3 Product: WINE@Etersoft 1.0 SQL Licensed for ООО "Этерсофт" with registration number ****-**** Contact person: Системный администратор WINE@Etersoft has been configured for the first time. Use /home/baraka/wine_c as WINE C:\ disk. Copy your program into and install it.ПРОВЕРКА:
$ ls -la ~/.wine drwxrwxr-x 3 baraka users 115 2009-09-10 18:05 . drwx------ 102 baraka users 8192 2009-09-10 18:00 .. drwxrwxr-x 4 baraka users 53 2009-09-10 18:02 dosdevices -rw-rw-r-- 1 baraka users 284 2009-09-10 18:05 .etersoft-release -rw-rw-r-- 1 baraka users 0 2009-09-10 18:05 install.log -rw-rw-r-- 1 baraka users 825294 2009-09-10 18:05 system.reg -rw-rw-r-- 1 baraka users 3554 2009-09-10 18:01 userdef.reg -rw-rw-r-- 1 baraka users 31191 2009-09-10 18:05 user.reg
6. Лицензия WINE-ETERSOFT
Не забудьте скопировать файл лицензии WINE-ETERSOFT.LIC
(ссылка на него присылается в письме при заказе продукта) в один из каталогов: ~/.wine
, C:\WINDOWS\INF
или в/etc/wine. Если файл лицензии не будет найден, это будет сообщено при выводе сведений и версии wine.
$ wine --version WINE@Etersoft 1.0 SQL 1.0.11-eter8/3 Product: WINE@Etersoft 1.0 SQL Licensed for ООО "Этерсофт" with registration number ****-**** Contact person: Системный администратор License expired at 13/11/2009
Вы установили WINE@Etersoft!
7. Установка приложений в WINE
Можете приступать к установке win-приложений. В роли диска С:
выступает каталог ~/wine_c
(находится в домашнем каталоге).
Скопируйте туда дистрибутив программы и выполните команду
$ wine имя_программы.exe
Использование WINE@Etersoft
Запуск win-приложений
Общее правило для запуска всех win-приложений в WINE -- запускаемые файлы должны находиться в <ref>wineenv</ref> области видимости WINE, то есть на одном из логических дисков WINE или в его подкаталогах. Если программа поставляется на компакт-диске, то не забудьте должным образом смонтировать диск <ref>Нужно делать это вручную, или монтирование выполняется автоматически -- зависит от вашего дистрибутива и стиля работы.</ref>, прежде чем обращаться к нему из WINE. Обратите внимание, что в этом случае у вас должен быть разрешён запуск приложений с компакт-диска. Если приложение распространяется не на диске -- не забудьте сначала скопировать его в область видимости WINE.
Запуск win-приложений производится двойным щелчком мыши на значке в любом файловом менеджере.[[File:../common/images/install-desktop.png|Запуск программы]]
Также приложение может быть запущено с помощью команды в командной строке. Не забудьте сначала перейти в каталог с программой.
Для запуска exe-файлов нужно выполнить команду:
$ wine программа.exe
[[File:../common/images/install-console.png|Запуск программы в консоли]]
Если программа предназначена исключительно для работы в среде Windows 95/98, запускайте её командой:
$ wine98 программа.exe
Программы, поставляемые в виде msi-пакетов, а также файлы .bat
и .cmd
запускаются с помощью команды:
$ wine start пакет.msi
Для запуска консольных приложений, например файлового менеджера Far
, используется команда:
$ wineconsole Far.exe
Для получения командной строки запустите
$ wineconsole cmd
или выберите в меню программ пункт Командная строка WINE
.
Запуск программ DOS (16-разрядных программ реального режима процессора), особенно сложных, в штатной виртуальной DOS-машине, имеющейся в WINE, обычно не даёт положительного результата. Рекомендуется использовать dosemu
или dosbox
.
При запуске программы в WINE на самом деле запускается не только сама программа, но и несколько вспомогательных, в частности, программа wineserver
, реализующая функции ядра Windows, и предназначенная для синхронизации различных win-программ, запущенных пользователем.
Запуск сервисов
Некоторые win-приложения должны быть запущены как сервисы. От обычных программ сервисы отличаются тем, что не ведут диалога с пользователем, и могут выполняться незаметно.
При запуске сервисов следует иметь в виду, что они завершаются вместе с завершением wineserver
, поэтому следует предварительно запустить wineserver
с ключом -p
, отменяющим автоматическое завершение.
$ wineserver -p
$ wine pssvc.exe &
В указанном примере программа pssvc
будет запущена как сервис, причём в фоновом режиме.
mc
запускать программы в фоновом режиме нельзя.
Установка и удаление win-приложений
Как и в Windows, перед использованием большую часть win-приложений сначала потребуется установить. Установка производится обычным для Windows способом -- с помощью поставляемой вместе с win-приложением программы установки. Разница в том, что в случае WINE программа будет установлена в локальном win-окружении пользователя.
Для установки win-приложения следует любым удобным способом запустить программу установки (чаще всего setup.exe
). Дальше можно действовать по инструкции, предлагаемой поставщиком win-приложения.
Многие win-приложения запрашивают перезагрузку для завершения установки. Перезагружать host-систему при этом не следует. В локальном win-окружении процедуре загрузки Windows соответствует команда wineboot
-- её можно вызвать из любой командной строки. Если в этот момент в WINE выполняются другие приложения, то рекомендуется их завершать до перезагрузки.
Для удаления win-приложения, установленного в win-окружении, следует воспользоваться программой uninstaller
. Запустить её можно через меню или командой wine uninstaller
. Эта утилита выводит список установленных в win-окружении приложений (если они зарегистрированы в реестре). Чтобы удалить приложение, выберите его из списка и нажмите кнопку "Uninstall". Если в списке нет приложения, которое вы хотите удалить, то достаточно просто удалить каталог с приложением (можно воспользоваться для этого программой winefile
, а можно -- стандартными средствами host-системы).
Иногда приложение требует дополнительные компоненты, отсутствующие в стандартной поставке WINE. В этом случае можно обратиться к программе winetricks
, запустив её из командной строки. Она позволяет установить различные компоненты, при этом все необходимые вспомогательные действия берёт на себя. Используйте с осторожностью, установка некоторых компонент или их сочетание может сломать работающее win-окружение.
Создание ярлыков
Создание ярлыков для программы выполняется штатными средствами и особых отличий от создания ярлыка для Линукс-программы не имеет.
Рассмотрим создание ярлыка на примере программы Блокнот WINE (C:\windows\system32\notepad.exe
). Для запуска программы через WINE потребуется указать полный путь к ней, поэтому при создании ярлыка нужно указать команду запуска
wine "C:\windows\system32\notepad.exe"
Обратите внимание, что для многих программ важен текущий каталог, поэтому его следует отдельно указать в ярлыке, причём это должен быть путь в формате host-системы, то есть
/home/user/wine_c/windows/system32
.
Как правило, ярлык для программ создаётся ими самими при установке и размещается на Рабочем столе.
Создание резервной копии
Перед установкой новой программы, или перед существенными изменениями желательно сделать копию (бэкап) настроек WINE и установленных программ.
Для того, чтобы создать полную копию, достаточно заархивировать каталог ~/.wine
. Полученный архив можно использовать для восстановления после сбоя, либо для тиражирования установленной программы -- передать архив другому пользователю, чтобы ему не пришлось выполнять те же настройки.
Если программ установлено много, будет достаточно сохранить только копии файлов реестра. Файлы реестра хранятся в каталоге ~/.wine
и имеют расширение .reg
.
Восстановление WINE
Если были повреждены системные файлы или реестр, вполне возможно, что переустановка не требуется, достаточно выполнить восстановление. Выберите в меню программ пункт Восстановление WINE
. Того же можно достичь выполнением команды
wine --update
Диагностика проблем
Для облегчения диагностики проблем с установкой и настройкой WINE@Etersoft в него входит программа winediag
, выводящая перечень проверенных параметров и выводящая сообщение о конкретной проблеме. В конце вывода указывается код ошибки. Возможны следующие коды:
- WE13 -- не установлен пакет wine-etersoft, возможно в системе имеется Wine другой сборки
- WE14, WE15 -- не удаётся открыть библиотеку libwine, пакеты WINE@Etersoft установлены некорректно;
- WE16 -- не удаётся открыть библиотеку закрытой части WINE@Etersoft;
- WE17 -- библиотека закрытой части WINE@Etersoft повреждена;
- WE18 -- ошибки в получении информации о лицензии; возможно, повреждён файл лицензии или библиотека закрытой части;
- WE20 -- загружена устаревшая версия модуля etercifs
- WE52 -- не найдена библиотека freetype, через которую производится отрисовка символов;
- WE54 -- не работает функция dlopen или не доступна библиотека freetype;
- WE52 -- не удаётся инициализировать библиотеку freetype;
- WE53 -- библиотека freetype слишком старой версии;
- WE55 -- нет соединения с Икс-сервером; возможно, не установлена переменная DISPLAY или нет прав. Нужно зайти в графику нормальным образом;
- WE56 -- неверная модель потоков, работать ничего не будет, либо ошибка в самой программе диагностики;
- WE57 -- не удаётся узнать лимиты на количество файлов, либо они слишком малы;
- WE58 -- не удаётся узнать лимит виртуальной памяти;
- WE61 -- не удалось установить блокировку большого размера на файл (возможно, нет поддержки больших файлов);
- WE62 -- не удалось установить блокировку; возможно, проблема в файловой системе или в самом тесте;
- WE63 -- слишком ограничена маска файлов (umask); совместная работа с группой над файлами невозможна;
- WE64 -- неверно установлена маска файлов (umask); нет доступа даже к собственным файлам;
- WE65 -- локаль не установлена (возможно, в системе отсутствует поддержка локалей или
winediag
запущен под пользователемroot
); - WE66 -- установлена английская локаль, что может вызвать проблемы в работе программ, рассчитанных на русскую локаль;
- WE67 -- установлена неверная версия Windows, либо версию не удалось получить;
- WE68 -- установленная закрытая часть WINE@Etersoft не совместима с открытой (разные версии).
Настройка WINE@Etersoft
Настройка локального win-окружения
Прежде чем начинать работать с WINE, каждому пользователю, от имени которого будут запускаться win-приложения, необходимо настроить локальное win-окружение (по умолчанию оно расположено в каталоге ~/.wine/
). Настройка окружения выполняется автоматически при первом запуске WINE (достаточно в командной строке ввести команду wine
и дождаться завершения её работы) или запустить любую из программ WINE через системное меню.
При первом запуске WINE создаёт необходимую инфраструктуру в домашнем каталоге данного пользователя, для чего выполняет следующие действия:
- создаёт каталог который будет служить основным диском (
C:
) для win-приложений, для удобства этот каталог доступен какwine_c
в домашнем каталоге пользователя. - создаёт необходимую иерархию каталогов на диске
C:
(Program Files, Windows,...), привычную для win-приложений; - создаёт системный и пользовательский реестры со всеми необходимыми значениями;
- устанавливает необходимые системные компоненты и библиотеки DLL;
- выстраивает соответствия каталогов host-системы и логических дисков WINE;
Процедуру начальной настройки win-окружения можно запустить в любой момент и впоследствии командой
$ wine --update
Эта команда выполнит все те же операции, что и при первом запуске WINE.
Копирование файла лицензии
Начиная с версии WINE@Etersoft 1.0.10 требуется установить файл лицензии, подтверждающий правомочность использования данного продукта, и содержащий регистрационный номер и другую информацию об обладателе лицензии.
Файл лицензии выдаётся при заказе сборки со страницы продукта: присылается ссылка для скачивания файла WINE-ETERSOFT.LIC
(также можно его называть в нижнем регистре: wine-etersoft.lic
). Если сам продукт у вас уже есть на компакт-диске, достаточно будет скачать только файл лицензии. Файл лицензии уникален и неизменен, обновлять его может понадобится только при переходе на новую версию продукта.
Для того, чтобы файл лицензии был воспринят, его нужно скопировать в каталог ~/.wine
, C:\WINDOWS\INF
или в/etc/wine. Просматриваются каталоги в указанном порядке. Пакеты WINE@Etersoft должны быть установлены предварительно и выполнена настройка локального wine-окружения (см. выше).
Проверить, что файл лицензии принят, можно через команду winediag
, или посмотрев на вывод wine --version
в консоли. Через графический интерфейс подробную информацию о лицензии и продукте выводит wine winver
.
Логические диски
WINE создаёт в локальном win-окружении каждого пользователя логические диски, к которым запущенные в WINE win-приложения могут обращаться стандартным для Windows способом: C:\путь
, D:\путь
и т. д. Все логические диски WINE, кроме диска C:
, представляют собой символьные ссылки в каталоге ~/.wine/dosdevices
, которые могут указывать на любые каталоги host-системы.
По умолчанию логические диски WINE будут расположены следующим образом:
C: ~/.wine/dosdevices/c: D: ~/ (домашний каталог)
Как минимум один диск -- C:
будет создан в любом случае. Остальные диски необязательны, даже одного C:
будет достаточно для работы в WINE. Правила создания ссылок по умолчанию описаны в файле /etc/wine/script.d/map_devices.sh
, при необходимости можно добавить соседний файл с подобным содержимым. Файлы из этого каталога применяются при первом запуске WINE и при выполнении команды wine --update
.
Каждый пользователь может вручную изменить соответствия логических дисков WINE каталогам host-системы или создать любое количество дополнительных дисков. Все логические диски для WINE представлены обыкновенными символьными ссылками на каталоги в каталоге ~/.wine/dosdevices
. Чтобы создать новый логический диск или изменить имеющийся, достаточно создать новую символьную ссылку с нужным именем.
[tester@test tester]$ ln -s /var/data/1c ~/.wine/dosdevices/f: [tester@test tester]$ ls -l ~/.wine/dosdevices total 0 lrwx tester 13 Nov 25 a: -> /mnt/floppy lrwx tester 8 Nov 25 a:: -> /dev/fd0 drwx tester 4096 Июн 14 c: lrwx tester 10 Июн 14 com1 -> /dev/ttyS0 lrwx tester 19 Июн 14 d: -> /home/tester/ lrwx tester 8 Июн 14 lpt1 -> /dev/lp0 lrwx tester 12 Ноя 25 f: -> /var/data/1c
Сменные носители
При подключении в host-системе сменного носителя (компакт-диска, флэш-диска или дискеты) в WINE создаётся дополнительный диск, являющийся ссылкой на подключенное устройство. Это работает только при работающих сервисах HAL и DBUS в host-системе.
Безопасность
Советы по соблюдению должного уровня безопасности в WINE могут быть сведены к двум простым соображениям:
- жертвой ошибки в программе или злонамеренных действий со стороны win-приложения (вируса) может стать только та часть файловой системы, которая входит в область видимости WINE;
- права доступа к данным определяются правами пользователя, запустившего WINE.
Поэтому следует максимально ограничить область видимости WINE, включив туда только те данные, доступ к которым необходим win-приложениям для работы. Можно сформулировать и несколько более конкретных рекомендаций:
- Никогда не запускайте WINE от имени пользователя
root
! Запущенное от имени root win-приложение получит привилегии этого пользователя. Для работы они ему никогда не потребуются, а во вред могут быть употреблены запросто. - Win-приложения не должны получать доступ к важным системным каталогам, и в особенности к корневому каталогу файловой системы (
/
). Даже целиком включать домашний каталог пользователя в зону видимости WINE почти наверняка не требуется.
Настройка портов (COM и LPT)
Для отображения портов в ~/.wine/dosdevices
могут быть созданы ссылки на соответствующие устройства в host-системе (см. предыдущий пример про создание логического диска). Например, ln -s /dev/ttyUSB1 com4:
добавит порт COM4 в WINE, работающий через устройство ttyUSB1. Обычно это не требуется, и соотнесение устройств выполняется WINE автоматически. Например, в Linux COM1 будет соответствовать /dev/ttyS0
, а LPT1- /dev/lp0
.
copy файл LPT1
) выдаётся сообщение Access Denied, скорее всего у пользователя недостаточно прав для прямого обращения к порту. Проверьте права командой ls -l /dev/lp0
и при необходимости внесите пользователя в соответствующую группу (обычно uucp
(dialout
для Ubuntu) для последовательных портов и lp
для параллельных).
Сетевые пути (UNC)
WINE позволяет работать win-приложениям, которые обращаются к ресурсам при помощи сетевого пути (UNC). Это необходимо для тех приложений, которым обязательно требуется указание UNC-пути, например путь к базе данных: \\someserver\db\db1
. Сетевые пути в WINE обеспечиваются так же, как и логические диски -- при помощи символьных ссылок на каталоги host-системы.
Допустим, программа обращается к файлу \\server\share\file.txt
. Чтобы обращение по такому пути работало в WINE, вам потребуется создать в каталоге ~/.wine/dosdevices/unc/
каталог server
, содержащий символьную ссылку share
, указывающую на расположение данного ресурса в host-системе.
$ cd ~/.wine/dosdevices $ pwd /home/tester/.wine/dosdevices $ mkdir -p unc/server $ rm unc/server/share $ ln -s /var/local/share unc/server/share $ ln -s unc/server/share u:
В этом примере искомый файл file.txt
располагается в каталоге /var/local/share
.
Ресурс /var/local/share
будет доступен win-приложениям через UNC-путь \\server\share
, либо через диск U:
.
Назначение диска U:
на путь \\server\share
выполняется автоматически при инициализации WINE, начиная с версии 1.0.10-eter23.
Шрифты
Системе WINE доступны те же шрифты, что и другим приложениям в host-системе <ref>Для получения списка доступных шрифтов WINE использует пакет fontconfig, а для отрисовки символов -- библиотеку freetype2.</ref>. Соответственно, к этим шрифтам получают доступ и win-приложения. Кроме этого, вместе с WINE поставляются базовые растровые и векторные шрифты, которые должны быть метрически идентичны аналогам из Windows.
Существует базовый набор шрифтов (MS Core Fonts) -- многие приложения рассчитывают на наличие в системе шрифтов со стандартными именами из данного набора. Для корректной работы таких приложений, а также для обеспечения точного соответствия документов при печати потребуется установить этот набор шрифтов из пакета fonts-ttf-ms
, прилагающегося к дистрибутиву WINE@Etersoft (каталог fonts на диске).
Для систем на основе Debian и Ubuntu можно установить пакет msttcorefonts
из штатного репозитория системы;
Для систем на основе FreeBSD перейдите в каталог /usr/ports/x11-fonts/webfonts
и выполните make install
для установки набора шрифтов.
Также набор данных шрифтов можно свободно скачать с сайта http://corefonts.sourceforge.net.
Вместе с WINE@Etersoft в пакете fonts-ttf-liberation
поставляется набор шрифтов Liberation, лицензированный Red Hat, Inc. под лицензией GPL. В набор входят Liberation Sans, Liberation Serif и Liberation Mono, совместимые метрически со шрифтами Monotype Arial, Times New Roman и Courier New соответственно. В системах Debian/Ubuntu этот пакет уже имеется и называется ttf-liberation
. WINE@Etersoft настроен на использование этих шрифтов при отсутствии Arial/Times/Courier. Соответствие метрик неизменность документов и интерфейсов при использовании этих шрифтов вместо оригинальных.
Шрифт, метрически совместимый с Tahoma, поставляется в составе WINE@Etersoft и также называется tahoma.
Сделать определённые шрифты доступными win-приложению можно несколькими способами:
- Для всех пользователей -- поместить шрифты в host-системе штатным для системы способом (по стандарту -- каталог
/usr/share/fonts
); - Для всех пользователей WINE -- поместить шрифты в каталог
/usr/share/wine/fonts
; - Для конкретного пользователя -- поместить эти шрифты в каталог шрифтов пользователя (
~/.fonts
); - Только для win-приложений данного пользователя -- поместить шрифты непосредственно в каталог шрифтов на логическом диске WINE (обычно
~/wine_c/windows/fonts
).
Рекомендуется помещать шрифты в системные каталоги только в составе соответствующих пакетов, а не копировать их из других систем.
В ветке HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes
хранятся шрифты, используемые, когда запрашиваемый шрифт не найден, либо не поддерживается.
В пользовательской ветке реестра Control Panel\Desktop
могут быть заданы следующие значения:
- FontSmoothingType -- 1 = ClearType не используется, включено обычное сглаживание, 2 = ClearType используется;
- FontSmoothing -- 0 = не использовать сглаживание, 1 = использовать сглаживание, 2 = использовать ClearType для сглаживания;
- FontSmoothingGamma -- должно находится в диапазоне от 1000 до 2200. Малое значение даёт наиболее тёмный текст на светлом фоне;
- FontSmoothingOrientation -- указывает, какая структура пикселей используется в мониторе: RGB, BRG, или плоская. В основом мониторы используют RGB-структуру.
- плоская структура = 0- у устройства нет пиксельной структуры; это означает что световой поток каждого цвета равномерно распределён по площади пикселя. ClearType при этом не может быть применим.
- RGB = 1- монитор имеет пиксели в виде трёх полосок в следующем порядке: красный, зелёный, синий;
- BGR = 2- монитор имеет пиксели в виде трёх полосок в следующем порядке: синий, зелёный, красный.
См. также http://shlimazl.nm.ru/rus/fonts_ttf.htm
Всё о шрифтах в WINE: http://wiki.jswindle.com/index.php/Fonts
См. также http://www.wine-reviews.net/wine-reviews/tips-n-tricks/how-to-enable-font-anti-aliasing-in-wine.html
Решение проблем
Что делать, если какая-либо программа не работает? Вы все сделали согласно инструкции, но ваша программа по-прежнему не работает. Что ж, попробуем рассмотреть несколько рецептов решения проблемы.
Используйте другие настройки версии Windows. В некоторых случаях может помочь использование эмуляции других версий Windows.
Команда запуска не находит программу, которую вы хотите запустить. Убедитесь, что вы сменили текущий каталог на тот, в котором находится программа. Убедитесь, что программа расположена на диске C:
(в пути ~/.wine/dosdevices/c:
). Если вы запускаете программы через ярлык, попробуйте запустить её в консоли, возможно вы получите дополнительную информацию о причине проблемы.
Попробуйте запустить программу через команду wine98
, wineole
или winexp
.
Измените настройки DLL. Запустите программу, указав переменную окружения WINEDEBUG=+loaddll
, чтобы увидеть, какие DLL используются и какие варианты (сторонние или встроенные) применяются. Убедитесь, что необходимые файлы DLL находятся в каталоге программы или в каталоге C:\windows\system32
и попробуйте поменять различные настройки библиотек.
Установите всё заново. Win-программы полны загадок, WINE тоже не очень простая вещь. Если какая-то программа упорно не хочет работать, но известно, что работать она должна, мы рекомендуем удалить (или переименовать) каталог ~/.wine
, и начать всё заново. Для чистоты эксперимента можно ещё удалить и поставить заново пакеты WINE, возможно, получив при этом последнюю версию пакетов от поставщика.
Запустите команду winediag
и обратитесь к разделу Диагностика проблем
для уточнения предупреждений о проблемах, которые выдаст команда.
Доступ к протоколу ICMP (ping) от пользователя
Некоторым программам нужен доступ к протоколу ICMP, но отправка таких пакетов является привилегированной операцией и обычному пользователю запрещена. Чтобы разрешить пользователю ping, нужно включить соответствующий capability.
Решение для ALT Linux:
# apt-get install libcap-utils # setcap 'cap_net_raw=ep' /usr/bin/wine-preloader
Решение для Ubuntu:
$ sudo aptitude install libcap2-bin $ sudo setcap 'cap_net_raw=ep' /usr/bin/wine-preloader
Для того, чтобы разрешить setcap внутри OpenVZ-контейнера, нужно выполнить (при остановленном контейнере)
# vzctl set <VE_ID> --capability setpcap:on --save
Для проверки работы ICMP в WINE реализована команда ping
.
Использование Winecfg
Программа Winecfg поставляется вместе с WINE и предназначена для его настройки. Чтобы запустить Winecfg, выполните команду:
$ winecfg
Когда программа запустится, вы увидите окно с набором закладок:
- Приложения
- Библиотеки
- Графика
- Вид и интеграция
- Диски
- Ключи защиты
- Аудио
- О программе
Изменение настроек в закладках приложения и библиотеки наиболее сильно влияет на работу и запуск приложений. Другие настройки в большей степени отвечают за работу самого WINE.
Настройка приложений WINE имеет возможность имитировать различные версии Windows. В общем, наибольшее отличие состоит в том, ведет себя WINE как версия Win9x или как версия NT. Некоторые программы требуют специфического окружения для своей работы, либо просто по-другому ведут себя в зависимости от версии Windows. По умолчанию в WINE установлена имитация Windows XP.
Если в основном окне выбрано значение Установки по умолчанию, то изменение версии Windows изменит имитацию по умолчанию для всех приложений. Проблемные программы можно сконфигурировать отдельно от настроек по умолчанию. Для этого необходимо:
- Нажать на кнопку Добавить приложение.
- Выбрать исполняемый файл приложения (.exe).
- После этого вы можете выбрать необходимую версию Windows, которую WINE будет эмулировать для данного приложения.
Настройка библиотек
Известно, что некоторые приложения требуют специфических библиотек (DLL) для своей работы. В WINE имеются собственные реализации для всех системных библиотек Windows, но в них могут быть определённые недостатки. Использование только встроенных DLL гарантирует лицензионную чистоту вашей системы. Но WINE имеет возможность загружать и сторонние DLL, например, поставляемые с программой, или взятые из установленной системы Microsoft Windows.
Замещения DLL
К сожалению, не всегда возможно запустить приложение, используя только встроенные DLL. Некоторые сторонние DLL просто работают лучше. При необходимости скопируйте нужную DLL в соответствующий каталог (обычно windows\system32) и настройте их к использованию. Следующие четыре DLL никогда не следует переназначать: kernel32.dll, gdi32.dll, user32.dll, и ntdll.dll, поскольку они являются непосредственной связкой WINE с host-системой. После того как библиотека скопирована, надо настроить WINE на её использование. Выбор между сторонними и встроенными DLL возможен на различных уровнях. Если у вас выбраны Настройки по умолчанию в закладке Приложения, изменения будут действовать на все программы. Вы можете заменить глобальные настройки на настройки на уровне каждого приложения, добавив и выбрав приложение в закладке Приложения.
Чтобы добавить и заместить FOO.DLL, введите FOO в поле Новое замещение для библиотеки и нажмите кнопку Добавить. Для изменения поведения DLL необходимо выбрать библиотеку в окне Существующие замещения и выбрать Редактировать. По умолчанию новые загружаемые библиотеки считаются сторонними библиотеками и выбираются для использования (имеют больший приоритет перед встроенными библиотеками WINE). Вы также можете выбрать использование только сторонних библиотек, только встроенных или не использовать ни одну из них.
Отсутствующие DLL
В случае, когда WINE сообщает об отсутствии библиотеки DLL, ваша задача найти её. Сначала проверьте, является ли эта библиотека публичной DLL, или это пользовательская DLL, поставляемая вместе с программой (это можно сделать, выполнив поиск в Интернет по имени библиотеки). После обнаружения необходимой DLL вам необходимо убедиться в том, что WINE может её использовать. Библиотеки DLL загружаются в следующем порядке:
- Каталог, откуда программа выполняется.
- Текущий каталог.
- Системный каталог Windows (c:\windows\system32\)
- Каталог Windows (c:\windows\)
- Каталог, прописанный в переменной окружения PATH
Как правило, следует просто скопировать библиотеку в каталог программы.
Настройка графики
Возможна настройка четырех различных параметров графики. Для большинства случаев настройки по умолчанию достаточны. Первая настройка позволяет приложению DirectX (а чаще всего это игра) удерживать курсор в пределах окна, что одновременно делает окно активным. Другой причиной использования этого параметра может быть необходимость более точного контроля за положением мыши. Аналогично, двойная буферизация рабочего стола позволяет сгладить обновления экрана, что существенно увеличивает качество картинки в играх, по умолчанию этот параметр активен.
Также может быть полезен параметр «Эмулировать виртуальный рабочий стол». В этом случае все программы будут работать в отдельном окне. Это может, к примеру, быть полезным при тестировании игр при разном разрешении. По умолчанию размер окна 640x480, но может быть изменён и на 800x600. В завершение вы можете настроить некоторые параметры Direct3D. В большинстве случаев эти настройки выставляются автоматически, но вы можете установить их вручную необходимым образом.
Вид и интеграция
WINE может загружать и использовать схемы оформления Windows. Это не является необходимым при использовании WINE или приложения, но позволяет улучшить внешний вид программ. WINE поддерживает новый стиль тем — MSStyles. В отличие от старого стиля для тем Microsoft Plus!, движок uxtheme поддерживает специальные .msstyles-файлы, которые позволяют изменять все управляющие элементы Windows. Если вы хотите использовать это, проделайте следующее:
- Загрузите тему Windows XP. Убедитесь, что она содержит .msstyles-файл.
- Создайте новый каталог для темы на вашем диске Windows
$ mkdir -p ~/wine_c/windows/Resources/themes/mytheme
- Переместите .msstyles в новый каталог mytheme.
- Используйте закладку Вид и интеграция в winecfg для выбора новой схемы.
Обратите внимание, что использование тем может замедлить скорость прорисовки графического интерфейса.
Настройка дисков
WINE создаёт в локальном win-окружении каждого пользователя логические диски, к которым запущенные в WINE win-приложения могут обращаться стандартным для Windows способом: C:путь
, D:путь
и т. д. Winecfg имеет возможность автоматически определять диски для вашей системы. Рекомендуется использовать эту возможность, прежде чем приступать к ручной настройке. Просто нажмите кнопку Автоопределение, и WINE начнёт искать диски в системе.
Настройка ключей защиты
Для того, чтобы Ваше приложение смогло правильно работать с аппаратным ключем защиты, в некоторых случаях нужно настроить его в winecfg. Поддерживаемые типы ключей отображаются в списке. Чтобы включить ключ, нужно выбрать Ваш ключ в списке, и изменить его параметр во втором столбце на Загружать
. Затем нужно закрыть winecfg и перезагрузить wineserver:
$ wineboot
после чего на вкладке Ключи защиты в третьем столбце у Вашего ключа появится Загружен
Настройка звука
WINE может работать с несколькими audio-подсистемами, которые можно выбрать в закладке Аудио. Winecfg отображает все доступные драйвера, но вы можете выбрать, какой из них будет использоваться. Драйвера OSS и ALSA наиболее протестированы и отлажены, и рекомендуется по возможности использовать один из них. Если необходимо, вы можете использовать настройки и других устройств ввода-вывода звука.
Настройки DirectSound используются преимущественно в играх. Вы можете выбрать уровень аппаратного ускорения сами, но для большинства случаев Full будет лучшим выбором.
Использование Regedit
В Windows реестр представляет собой центральное хранилище конфигураций всех приложений и самой операционной системы. WINE хранит настройки в трёх различных файлах, каждый из которых представляет собой обычный текстовый файл, который может быть изменен с помощью любого текстового редактора.
Файлы реестра хранятся в каталоге ~/.wine
и индивидуальны для каждого пользователя, кроме случая административной установки WINE.
-
system.reg
содержитHKEY_LOCAL_MACHINE
. -
user.reg
содержитHKEY_CURRENT_USER
. -
userdef.reg
содержитHKEY_USERS.Default
(т.е. настройки для пользователя по умолчанию).
Эти файлы автоматически создаются при первом запуске WINE.
Следует учитывать, что перед непосредственным редактированием файла реестра нужно завершить все win-программы и выполнить wineserver -k
для завершения WINE, иначе ваши изменения могут быть перезаписаны WINE при остановке.
Использование Regedit
Простейший способ получить доступ и работать с реестром- это использование программы regedit. Подобно аналогичной программе Windows, regedit даёт возможность работать со всеми ключами реестра. Просто наберите regedit в командной строке или выберите программу в главном меню. Откроется окно, содержащее иерархический список ключей реестра и их значения.
Организация совместной работы
Чтобы сделать возможной одновременную работу нескольких пользователей с одним ресурсом (например, с базой данных 1C), потребуется выполнить два основных этапа:
- настроить права доступа;
- организовать одновременный доступ к общему ресурсу с нескольких рабочих мест.
Настройка прав доступа
Обычно совместная работа с базой данных и подобными ресурсами требует, чтобы у каждого пользователя были права не только на чтение, но и на запись. Такой тип доступа можно организовать стандартными средствами Linux, включив всех пользователей в одну группу и соответствующим образом настроив права. При установке WINE создаётся группа wine
, в простом случае -- когда все пользователи равноправны в доступе к данным -- можно воспользоваться ею. Администратор однако волен организовать сколь угодно сложную схему разделения прав с помощью произвольного количества групп. Ниже приводятся рекомендации по настройке прав доступа к каталогу с общими данными для простого случая:
- Каталог должен принадлежать той группе, куда внесены все пользователи общего ресурса, например, группе
wine
. - Права доступа на каталог --
770
(rwxrwx---
), чтобы все члены группы могли модифицировать содержимое каталога. - На каталог нужно установить атрибут SetGID -- режим
2770
(rwxrws---
), чтобы все создаваемые в нём файлы принадлежали той же группе, что и каталог, а не группе создавшего файл пользователя. - В процессе работы с общим ресурсом
umask
<ref>umask
определяет, какие права доступа по умолчанию будут получать файлы, создаваемые пользователям. Подробности -- в руководстве поumask
.</ref> пользователя должен быть выставлен в007
, т. е. "создавать файлы с правами на чтение, запись и исполнение для владельца и группы". В сочетании с атрибутом SetGID это даёт доступ на чтение/запись всем пользователям группы ко всем файлам в общем каталоге. Для программ, запущенных в WINE, значениеumask
задаётся переменнойUMASK
в файле/etc/wine/config
(по умолчанию -- 002, что необходимо для административного режима).
setwineshare
, который выполняет перечисленные действия для указанного в качестве параметра каталога.
Пример использования setwineshare: # setwineshare --set --group my1cusers /net/sharebase
. В этом примере выполняется установка правильных прав на каталог/net/sharebase и его подкаталоги, присваивается группа my1cusers. Выполнять setwineshare следует с правами root
. По умолчанию используется группа wine.
Настройка доступа через ACL
При использовании ACL для ограничения доступа к файлам базы данных имеются нюансы. Подробнее см. на http://kb.etersoft.ru/Пример_использования_1C_и_ACL
Доступ к общему ресурсу
Каталог с общими данными необходимо сделать доступным для win-приложений каждого пользователя. Делается это стандартным способом: в локальном win-окружении каждого пользователя создаётся символьная ссылка на каталог с общими данными в каталоге dosdevices
. Сам этот общий каталог может располагаться где угодно, единственное требование: он должен быть доступен в файловой системе на каждом рабочем месте. y Есть две принципиальные возможности сделать общий каталог доступным одновременно с нескольких рабочих мест:
Терминальный сервер
Win-приложение установлено и выполняется на сервере, там же размещены общие ресурсы. Все пользователи получают тонкие клиенты: их приложения запускаются на сервере, а рабочие станции служат только для ввода и вывода данных.
Разделяемый сетевой ресурс
Win-приложение установлено и выполняется на рабочих станциях пользователей. Общие данные предоставляются пользователям в виде разделяемого сетевого ресурса (NFS или CIFS).
Терминальный сервер
Случай терминального сервера с точки зрения запуска win-приложений в WINE ничем не отличается от совместной работы нескольких локальных пользователей на одной машине, поэтому задача настройки сводится к правильной организации прав доступа (см. следующий раздел).
Подробнее о существующих программах для организации удалённого доступа к серверу приложений см. в разделе Организация терминального сервера.
Разделяемый сетевой ресурс
Это такая конфигурация, когда win-приложения каждый пользователь запускает локально на своей рабочей станции, а общие данные располагаются на удалённом сетевом ресурсе (сервере), смонтированном в каталог локальной файловой системы на каждой рабочей станции. С точки зрения win-приложения такая ситуация также неотличима от работы с обычным локальным ресурсом.
На настоящий момент для совместной работы по сети поддерживаются сетевые файловые системы NFS и CIFS.
При использовании NFS совместная работа возможна только между Unix-машинами (Windows-клиенты нельзя подключать). При использовании CIFS возможна гетерогенная работа (смешанная работа Linux- и Windows-клиентов).
Подробнее о настройке файловых серверов и клиентов см. в разделах документации Настройка совместной работы по протоколу CIFS и Настройка совместной работы по NFS в Linux.
Настройка win-окружения
Последний -- и самый важный -- необходимый шаг: включить каталог с общими ресурсами в win-окружение каждого пользователя WINE. Делается это стандартным способом: созданием или изменением символьной ссылки в домашнем каталоге пользователя в .wine/dosdevices/
(также можно воспользоваться вкладкой Диски
программы winecfg
). К примеру, если каталог с общими данными у нас находится в /var/1c/
, то можно включить его для конкретного пользователя WINE в качестве диска f:
:
[tester@test tester] cd .wine/dosdevices [tester@test tester] ln -s /var/1c/ f: [tester@test tester] ls -l f: lrwxrwxrwx 1 tester tester 12 Ноя 1 19:21 f: -> /var/1c
Можно внести создание этого диска в сценарий в каталоге /etc/wine/script.d/
, тогда он будет создаваться автоматически в каждом win-окружении пользователя при первом запуске WINE (см. подробнее в разделе Единообразие настроек пользователя).
Настройка совместной работы по протоколу CIFS
WINE@Etersoft позволяет настроить совместное использование файловой базы данных в гетерогенной среде. В качестве файлового сервера при этом может быть использован SAMBA 3.0.14 и выше, Windows 2000 и выше, или другой файловый сервер, работающий по протоколу CIFS. При этом используется специальный модуль ядра Linux (CIFS@Etersoft), модифицированный для корректной работы WINE. Поставляется он в пакете etercifs.
Настройка Linux/Samba-сервера для совместной работы по протоколу CIFS
Никаких особенных настроек делать не требуется. Если у вас сервер уже настроен и работает с Windows-клиентами, то он будет работать и с WINE@Etersoft.
Настройке Samba посвящено множество статей в Интернете. Вот некоторые из них:
http://www.opennet.ru/docs/RUS/samba_win2000/
http://www.linuxfocus.org/Russian/March2002/article177.shtml
http://www.citforum.ru/operating_systems/linux/samba/
Замечание: При использовании одной и той же машины в качестве файлового и терминального сервера одновременно, следует устроить так, чтобы терминальные клиенты также работали с общим ресурсом посредством протокола CIFS, иначе взаимодействия не получится.
Советы по настройке SAMBA-сервера
Как правило, SAMBA-сервер поставляется с настройками по умолчанию, которые подходят для работы WINE, но следует проверить настройки, запустив на сервере команду:
testparm -v
Будут выведены все текущие значения параметров. Изменить их можно в конфигурационном файле smb.conf
, который обычно находится в каталоге /etc/samba
.
Рекомендуется, чтобы oplocks были включены (включены по умолчанию)- это улучшит производительность в монопольном режиме. kernel oplocks (включены по умолчанию) можно выключить, это снизит нагрузку на систему (по результатам тестирования в ошибке 3147 на 100Мбитной сети скорость отличается почти на порядок) Включенные логи (log level в значении больше 0) могут в несколько раз замедлить производительность. Проверьте, что указано use sendfile = yes
(ускоряет передачу больших блоков файлов).
Для SAMBA 4 потребуется указать case sensitive = yes
(без него могут не открываться корректно файлы базы, см. ошибки 2822, 10043). Возможно При этом с этим сервером не смогут работать Windows-клиенты.
Какие-либо другие параметры, особенно связанные с доступом к файлам и блокировкам, использовать не рекомендуется.
Таким образом пример оптимальных настроек может быть таким:
kernel oplocks = yes
level2 oplocks = no
use sendfile = yes
log level = 0
Остальные параметры по поводу locks/oplocks должны быть установлены по умолчанию.
Параметр strict sync включает выполнение команд по сбросу буфера на диск (flush). По умолчанию он выключен, и это ускоряет работу.
Настройка сетевого ресурса (шары) на SAMBA-сервере
В глобальных настройках следует использовать security = user
.
Частой проблемой является несоответствие прав, под которым обращается самба-сервер, с правами на файлы, к которым он обращается. Например, при использовании security = share
и обращении к серверу без указания пользователя/пароля он может обращаться к файлам от имени пользователя nobody или pcguest, которые вряд ли имеют права на изменение разделяемых файлов.
В примере ниже Самба с ресурсом sharewine всегда будет обращаться от имени wine
к файлам в каталоге /var/local/share
.
[sharewine] path = /var/local/share public = yes # valid users = user1 user2 force user = wine writable = yes guest ok = yes
Обратите внимание, что пользователи должны быть добавлены в систему (командой useradd) и в SAMBA (командой smbpasswd -a USER
). В файл /etc/samba/smbusers
нужно вписать запись wine = wine
(если используется force user = wine
) для установки соответствия между SAMBA и Linux-пользователями.
Такая настройка подходит как для Linux, так и для Windows-клиентов.
Настройка Linux-клиентов для совместной работы по протоколу CIFS
Настройка происходит в два этапа: установка специального собранного модуля ядра CIFS и монтирование общего сетевого ресурса.
Поддерживаемые ядра
Модуль ядра etercifs поддерживает ядра от 2.6.18 и выше. Исключением является ядро ОС SLES10SP2, которое также поддерживается. Ряд проблем исправлен только для ядер от 2.6.25 и выше и ещё некоторая часть -- от 2.6.27 и выше. Таким образом, рекомендуется использовать ядра Linux версии от 2.6.27 и выше.
Подготовка модуля ядра CIFS@Etersoft
Свежие версии пакета etercifs
можно скачать отсюда. Обратите внимание, что стабильная и проверенная версия поставляется только вместе с WINE@Etersoft, а по указанному адресу могут находится и другие версии, находящиеся в разработке. Начиная с версии WINE@Etersoft 1.0.9 для работы с CIFS необходимо использовать пакет etercifs
версии 4.3.6
или выше. Начиная с версии WINE@Etersoft 1.0.11 для работы с CIFS необходимо использовать пакет etercifs
версии 4.3.8
или выше. Начиная с версии WINE@Etersoft 1.0.12 для работы с CIFS необходимо использовать пакет etercifs
версии 4.5.0
или выше.
Для корректной совместной работы необходимо установить пакет etercifs и задействовать модуль CIFS ядра Linux.
# umount <точка монтирования>
Просмотреть список смонтированных ресурсов можно командой mount
. После успешного размонтирования необходимо собрать модуль под текущее ядро и загрузить его.
Для этого нужно выполнить команду service etercifs restart
. При этом скрипт при наличии загруженного модуля выгружает его, затем пытается загрузить и, если не находит, то запускает скрипт сборки. И после того, как модуль будет успешно собран, автоматически произойдет его загрузка.
# service etercifs restart
Если вы обновили пакет, но не пересобрали модуль, то старый модуль грузиться не будет и вы увидите сообщение:
Loading CIFS kernel module... [FAILED] package etercifs version 4.3.4 kernel module etercifs version 4.1.2 is built for current kernel WARNING!!! Versions of package etercifs and built module etercifs DON'T MATCH!!! Please, run 'service etercifs build' to build the etercifs module (recommended)" or run 'CHECK_VERSION=0 service etercifs restart' to disableing check."
То есть рекомендуется пересобрать модуль. А чтобы загрузить старый модуль при наличии нового пакета (например в том случае, если новый модуль не удается скомпилировать) нужно выполнить команду:
# CHECK_VERSION=0 service etercifs restart
Если вы не хотите, чтобы такая проверка осуществлялась, то измените значение переменной CHECK_VERSION
в файле /etc/etercifs.conf
на CHECK_VERSION=0
, раскомментировав строку.
Для сборки модуля ядра Вам потребуется компилятор GCC (пакеты gcc и make) и заголовочные файлы ядра. Если заголовочные файлы отсутствуют, Вам будет предложено название пакета, который надо установить.
Ответ такого вида означает отсутствие заголовочных файлов ядра, необходимых для сборки модуля CIFS@Etersoft для Вашего ядра.
Building for 2.6.27-std-def-alt1 Linux kernel (headers in /lib/modules/2.6.27-std-def-alt1/build) Error: no kernel headers found at /lib/modules/2.6.27-std-def-alt1/build Please install package kernel-headers-modules-XXXX for ALT Linux kernel-XXXX-devel for FCx / ASP Linux dkms-etercifs for Mandriva 2009 linux-headers-XXXX for Debian / Ubuntu kernel-source-XXXX for SuSe kernel-source-XXXX for Slackware / MOPSLinux or use KERNSRC variable to set correct location Exiting...
Если в данный момент имеются ресурсы, смонтированные по протоколу CIFS и занятые каким-либо процессом, то мы увидим такое сообщение:
Unmounting CIFS resources... unmount error 16 = Device or resource busy Refer to the umount.cifs(8) manual page (man 8 umount.cifs) [FAILED] Unloading CIFS kernel module... ERROR: Module etercifs is in use [FAILED]
Если занятых ресурсов, смонтированных по протоколу CIFS нет, то после запуска команды service etercifs restart
мы должны увидеть примерно следующее:
Unmounting CIFS resources... [ DONE ] Unloading CIFS kernel module... [ DONE ] Loading CIFS kernel module... FATAL: Could not open '/lib/modules/2.6.27-std-def-alt1/kernel/fs/cifs/etercifs.ko': No such file or directory etercifs from Etersoft is not found, trying to compile it... Building for 2.6.27-std-def-alt1 Linux kernel (headers in /lib/modules/2.6.27-std-def-alt1/build) Use GCC 4.3 /usr/bin/gcc-4.3 ... ... ... make: Leaving directory `/usr/src/linux-2.6.27-std-def-alt1' Copying built module to /lib/modules/2.6.27-std-def-alt1/kernel/fs/cifs Loading CIFS kernel module... [ DONE ]
Если присутствует строчка Copying built module to /lib/modiles/...
, значит, что сборка завершилась успешно, а присутствие строчки Loading CIFS kernel module... [ DONE ]
означает, что собранный модуль успешно загружен.
/etc/init.d/etercifs
. Так для сборки модуля ядра нужно выполнить команду /etc/init.d/etercifs restart
.
Вышеописанные команды можно производить по-отдельности, например, чтобы осуществить только сборку модуля ядра CIFS нужно выполнить команду service etercifs build
Командой service etercifs status
можно проверить статус модуля. Если загружен модуль etercifs, то мы увидим следующее сообщение:
CIFS module status: package etercifs version 4.2.1 kernel module etercifs version 4.2.1 is built for current kernel kernel module etercifs version 4.2.1 is loaded
Первая строчка отображает версию пакета etercifs, вторая -- версию собранного модуля ядра, третья -- версию загруженного модуля ядра. Если модуль etercifs не загружен либо версия собранного или загруженного модуля не совпадает с версией пакета, вы увидите сообщение об этом:
CIFS module status: package etercifs version 4.2.1 kernel module etercifs version 4.2.1 is built for current kernel kernel module etercifs version 4.2.0 is loaded WARNING!!! Versions of package etercifs and loaded module etercifs DON'T MATCH!!!
В таком случае требуется перезагрузить модуль командой service etercifs restart
.
CIFS module status: package etercifs version 4.2.1 kernel module etercifs version 4.2.0 is built for current kernel WARNING!!! Versions of package etercifs and built module etercifs DON'T MATCH!!! kernel module etercifs version 4.2.0 is loaded WARNING!!! Versions of package etercifs and loaded module etercifs DON'T MATCH!!!
В таком случае требуется собрать модуль командой service etercifs build
и затем перезагрузить командой service etercifs restart
.
CIFS module status: WARNING!!! Kernel module etercifs is not loaded! Possible ERRORS when working with WINE!
В таком случае требуется запустить модуль командой service etercifs start
и затем снова запустить команду service etercifs status
для проверки.
Полный список параметров для etercifs:
-
status
: проверка состояния модуля -
start
: загрузка модуля etercifs (если модуль отсутствует, то запускается сборка) -
stop
: выгрузка модуля etercifs -
restart
: последовательный запуск команд stop и start -
build
: запуск скрипта сборки модуля
При сборке модуля можно указать версию ядра, отличного от текущего, для которого требуется собрать модуль (для него должны быть установлены заголовочные файлы ядра):
KERNELVERSION=2.6.26-wks-smp-alt1 /etc/init.d/etercifs build
В некоторых системах доступна технология DKMS (Dynamic Kernel Module Support), а для свежих версий Mandriva сборка модуля ядра производится только с использованием DKMS. Для такого варианта сборки нужно поставить пакет dkms-etercifs
. Сборка и загрузка модуля будут запущены автоматически после установки данного пакета.
Если в системе доступны оба способа сборки, то для выбора варианта сборки без DKMS необходимо запустить команду с параметром DKMS=0
DKMS=0 /etc/init.d/etercifs build
Монтирование сетевого ресурса
Сетевой ресурс можно монтировать либо для каждого пользователя персонально (тогда права доступа будут определяться сервером), либо для всех сразу- при условии что пользователи на локальной машине входят в одну группу, указанную при монтировании (доступ к ресурсу станет определяться местными настройками), а также без контроля прав. Примеры монтирования приведены ниже. Вам потребуется установить пакет, содержащий команду mount.cifs
. Например, для систем на основе Debian/Ubuntu
она находится в пакете smbfs
, для ALTLinux
- в пакете samba-client
.
Программы Windows, запущенные в WINE, требуют особого поведения блокировок файлов на сетевых файловых системах. Для их корректной работы нужно указать дополнительный параметр монтирования forcemandatorylock
(он же forcemand
). Этот параметр монтирования использует блокировки в стиле DOS/Windows (mandatory блокировки) вместо блокировок в POSIX-стиле (advisory блокировки) даже если расширения Unix включены.
wine
, включающим в себя все необходимые параметры.
В версии 1.57 CIFS (начиная с ядра 2.6.29) расширено действие команды fsync, когда теперь приводит не только к передаче данных на сервер, но и ожидает окончания их записи на диск. В зависимости от настроек сервера (в SAMBA есть выключенный по умолчанию параметр strict sync
, управляющий синхронизацией данных), новое поведение fsync может привести с существенному замедлению при записи. Монтирование с параметром nostrictsync
отключает новое поведение, отключая ожидания окончания записи на диск.
Монтирование CIFS-ресурса для использования Linux-программами и для использования в Wine отличается.
Для монтирования удалённого CIFS-ресурса, предназначенного для Wine, необходимо с правами пользователя root выполнить команду:
# mount -t cifs //<сервер>/<ресурс> <локальный каталог> \ -o user=<workgroup/user>,pass=<passwd>,file_mode=0660,dir_mode=02770,uid=<user>,gid=<group>,iocharset=utf8,wine,nounixfile_mode=0660 определяет необходимые права на запись/чтение файлов пользователю и указанной (через параметр gid) группе. dir_mode=2770 определяет необходимые права на запись/чтение каталогов пользователю и указанной (через параметр gid) группе. iocharset=utf8 определяет кодировку отображаемых имен файлов и каталогов (должна соответствовать кодировке локали в вашей системе).
Если монтировать с параметром noperm
, права доступа к файлам будут проверяться на сервере, а не на локальном компьютере (это поможет избежать проблем при несовпадении UID и GID на сервере и локальной машине). Если разграничение доступа к базе не очень важно, это наиболее удобный вариант для совместной работы разных терминальных пользователей с базой. Если вы не уверены, нужен ли вам параметр монтирования noperm
, то следует его установить!
# mount -t cifs //<сервер>/<ресурс> <локальный каталог> -o user=<workgroup/username>,pass=<password>,noperm,wine,nounix
Если user и pass не указываются, тогда авторизация на сервере производится от имени пользователя guest. Если не указан пароль, система спросит его в любом случае.
После этого следует создать новый виртуальный диск-каталог в ~/.wine/dosdevices
, который будет указывать на локальный каталог, куда смонтирована файловая система.
Монтирование для использования в Linux (например, для домашнего каталога, или для (совместной) работы с файлами OpenOffice отличается параметрами монтирования: не нужно указывать параметры wine,nounix
.
Утилита монтирования etermount
Утилита etermount
осуществляет монтирование сетевого ресурса по протоколу cifs с предустановленным набором параметров: user=guest,pass=,rw,iocharset=utf8,noperm,wine,nounix
, который задан переменной MOUNT_OPTIONS
в файле /etc/etercifs.conf
. Чтобы смонтировать ресурс //server/share
в точку монтирования /path/mountpoint
нужно выполнить команду:
# etermount //server/share /path/mountpoint
Если точка монтирования не указана, то по умолчанию она имеет значение, указанное в переменной DEFAULT_MOUNTPOINT
в файле /etc/etercifs.conf
.
Монтирование сетевого ресурса при загрузке системы
Для автоматического монтирования ресурса по протоколу CIFS при загрузке системы нужно вписать соответствующую строку в файл /etc/fstab
. Обратите внимание, что при использовании доступа по паролю важно использовать файл credentials
, в котором указывается имя пользователя и пароль, чтобы не хранить пароль в самом /etc/fstab
(поскольку /etc/fstab
доступен для чтения пользователям и это небезопасно).
//192.168.33.1/pub /mnt/server cifs credentials=/etc/credentials,rw,iocharset=utf8,noperm,wine,nounix 0 0
username=guest
password=
/etc/credentials
- 0600, то есть файл не должен быть доступен пользователям на чтение. Такие права можно установить командой chmod 600 <имя файла>
.
Поскольку сначала происходит монтирование ресурсов, указанных в fstab
, а уже потом загрузка модуля etercifs
, то в общем случае нельзя гарантировать, что набор действий отмонтирование ресурсов CIFS, выгрузка модуля ^cifs^, загрузка модуля ^etercifs^ и
монтирование ресурсов CIFS
завершится корректно. Если вдруг после первого монтирования по каким-то причинам некий процесс занимает примонтированный ресурс, то отмонтирования не произойдёт, соответственно, драйвер не выгрузится.
Использование модуля ядра CIFS@Etersoft в системах Slackware и MOPSLinux
Для того, чтобы после перезагрузки модуль etercifs грузился автоматически, а также, чтобы все ресурсы, прописанные в файле fstab, автоматически монтировались, надо в файл /etc/rc.d/rc.local
добавить следующие строки в конец файла:
#Start etercifs service if [ -x /etc/rc.d/init.d/etercifs ]; then /etc/rc.d/init.d/etercifs start mount -a -t cifs fi
Использование устаревшего модуля smbfs ядра Linux
Для ядер 2.4.x, для которых нет работающего CIFS, возможно использование модифицированного модуля smbfs (с добавленной поддержкой блокировок) для организации совместной работы в режиме, аналогичном работе на NFS. Нами подготовлен патч, добавляющий поддержку блокировок в ядро 2.4.32, в рамках поддержки ОС МСВС. Этот режим доступен по специальному запросу.
Использование других реализаций CIFS-клиентов
Для работы с WINE требуется модифицированный код поддержки CIFS, в настоящий момент доступный только для ядер Linux. Реализации во FreeBSD и Solaris пока не поддерживаются.
Использование других реализаций CIFS-серверов
Протестирована работа только с SAMBA-сервером и Windows-сервером. Реализация CIFS-сервера в Solaris не проверялась.
Настройка Windows-сервера для совместной работы по протоколу CIFS
Настройка и организация ресурса стандартна и реализуется через Общий доступ к файлам и папкам
. Важно не забыть указать права доступа к общему ресурсу и файлам. Если авторизация проходит через AD, необходимо установить параметр Network Microsoft Server: Digitally sign communications (always) - Disable
в групповой политике.
Оригинальная документация от Microsoft
Использование томов NetWare для совместной работы
Для монтирования томов NetWare в файловую систему Linux используется протокол IPX. Монтирование осуществляется командой ncpmount:
# ncpmount -S SERVER -U user -P password /mnt/base
Эта команда смонтирует все тома сервера SERVER в каталог/mnt/base под NetWare-логином user с паролем password.
Подробнее можно почитать здесь
Настройка совместной работы по NFS в Linux
Разделяемый сетевой ресурс для совместной работы в WINE можно реализовать с помощью технологии NFS. Выбирая этот способ, следует учитывать следующие особенности NFS:
'Права доступа' Доступ к файлам по NFS осуществляется на основании идентификатора пользователя (UID/GID). Поэтому требуется, чтобы у каждого пользователя присутствовало две учётные записи: на сервере и на рабочей станции, причём с одинаковым UID. В случае, когда доступ предоставляется на основании принадлежности к группе (мы предлагаем для WINE именно такой вариант), это требует, чтобы данная группа присутствовала и на сервере, и на всех рабочих станциях с одинаковым GID. 'Безопасность' Поскольку при обращении к серверу клиент (с рабочей станции) сам сообщает свой UID/GID, авторизация остаётся целиком на совести данной рабочей станции и никак не зависит от сервера. Поэтому применять NFS (по крайней мере версии 3) можно только внутри безопасной сети, в которой можно доверять всем рабочим станциям.
Итак, для настройки разделяемого сетевого ресурса для совместной работы с WINE потребуется обеспечить:
- совпадение идентификатора группы (GID), которой принадлежит общий каталог, на сервере и всех рабочих станциях;
- совпадения идентификаторов всех пользователей (UID), которые входят в указанную группу, на сервере и на всех рабочих станциях.
Также, поскольку речь идёт о совместном использовании ресурса, потребуется задействовать механизм блокировок файлов NFS. Это требует запуска службы nfslock
и на сервере, и на всех клиентах.
Настройка сервера NFS на примере Ubuntu Linux
Будем называть машину с NFS-сервером server
.
Потребуется установить следующие пакеты:
nfs-user-server portmap
Для запуска необходимых служб следует выполнить команды:
# /etc/init.d/portmap start # /etc/init.d/nfs-user-server start
Чтобы указанные службы запускались автоматически при последующих перезагрузках, следует выполнить команды:
# update-rc.d portmap defaults # update-rc.d nfs-user-server defaults
Настройка клиентов NFS на примере Ubuntu Linux
На стороне клиента должны быть установлены пакеты:
portmap nfs-common
Для корректной совместной работы на каждом клиенте обязательно должен быть запущен сервис nfslock, и при монтировании не должно быть ключа nolock, иначе взаимодействия между клиентами не будет и данные в базе могут быть нарушены. Заметить проблему можно по неменяющемуся значению wc -l /proc/locks
на сервере, и отсутствию всех запустивших систему пользователей в списке активных пользователей 1С.
При использовании NFSv3 потребуется указать в файле /etc/defaults/nfs-common
переменную NEED_STATD=yes
для запуска rpc.statd, необходимого для работы блокировок. Для NFSv4 это не требуется. После изменения настроек не забудьте перезапустить nfs-common командой
/etc/init.d nfs-common restart
Смонтируем каталог сервера server:/mysharedir
в /mnt/share/base
. Для этого есть 3 пути:
- монтировать вручную каждый раз;
- автоматическое монтирование при загрузке системы;
- автомонтирование при обращении к каталогу.
Монтирование вручную
Для этого следует выполнить одну из следующих команд, в зависимости от версии NFS:
- для 3-й версии NFS:
$ mount -t nfs -o rw,soft,nointr server:/mysharedir /mnt/share/base
- для 4-й версии NFS:
$ mount -t nfs4 -o rw,soft,nointr server:/mysharedir /mnt/share/base
Монтирование при загрузке системы
Для этого требуется добавить в файл /etc/fstab
строку:
- для 3-й версии nfs
$ server:/mysharedir /mnt/share/base nfs rw,soft,nointr 0 0
- для 4-й версии nfs
server:/mysharedir /mnt/share/base nfs4 rw,soft,nointr 0 0
Проверить монтирование можно командой mount /mnt/share/base
.
Автомонтирование при обращении к каталогу (autofs)
Для этого необходимо добавить в файл /etc/auto.master
строку:
/mnt/share /etc/auto.tab --timeout 60
Кроме этого, в файл /etc/auto.tab
нужно добавить строку:
- для 3-й версии NFS:
base -rw,soft,nointr server:/mysharedir
- для 4-й версии NFS:
base -fstype=nfs4,rw,soft,nointr server:/mysharedir
/mnt/share
должен существовать в локальной файловой системе и в нём не должно быть подкаталогов.
Теперь можно запустить службу автоматического монтирования командой
# service autofs restart (/etc/init.d/autofs restart)Если изменения в файл конфигурации
/etc/auto.master
вносились во время работы autofs
, следует перезагрузить демон automount командой # service autofs reload (/etc/init.d/autofs reload)
Настройка сервера NFS на примере ALT Linux
Будем называть машину с NFS-сервером server
.
Потребуется установить следующие пакеты:
nfs-server portmap
Для запуска необходимых служб следует выполнить команды:
# service portmap start # service nfs start
Чтобы указанные службы запускались автоматически при последующих перезагрузках, следует выполнить команды:
# chkconfig portmap on # chkconfig nfs on
Настройка клиентов NFS на примере ALT Linux
На стороне клиента должны быть установлены следующие пакеты:
portmap nfs-client
Для корректной совместной работы на каждом клиенте обязательно должен быть запущен сервис nfslock, и при монтировании не должно быть ключа nolock, иначе взаимодействия между клиентами не будет и данные в базе могут быть нарушены. Заметить проблему можно по неменяющемуся значению wc -l /proc/locks
на сервере, и отсутствию всех запустивших систему пользователей в списке активных пользователей 1С.
# service nfslock start # chkconfig nfslock on
Смонтируем каталог сервера server:/mysharedir
в /mnt/share/base
. Для этого есть 3 пути:
- монтировать вручную каждый раз;
- автоматическое монтирование при загрузке системы;
- автомонтирование при обращении к каталогу.
Настройка экспортируемых с сервера каталогов
Чтобы экспортировать каталог /mysharedir
для монтирования на клиенте, следует в файле /etc/exports
добавить строки:
Для одной машины c IP-адресом ipaddr1
:
/mysharedir ipaddr1(rw,async)
Для машин подсети 192.168.20.0/24:
/mysharedir 192.168.20.0/24(rw,async)
Для всех машин с доменным именем, оканчивающимся на server.net
:
/mysharedir *server.net(rw,async,all_squash,anonuid=150,anongid=201)
Для экспортирования без ограничений:
/mysharedir *(rw,async)
Где:
-
rw
-- разрешены чтение и запись -
ro
-- разрешено только чтение -
no_root_squash
-- разрешает пользователямroot
на машинах-клиентах доступ к смонтированным каталогам в качестве суперпользователя. По умолчанию пользователиroot
на клиенте получают при доступе к серверуuid
пользователяnobody
. -
async
-- позволяет NFS-серверу отвечать на запросы клиентов в асинхронном режиме, что повышает производительность.
После внесения изменений достаточно выполнить команду
# exportfs -r
для перечитывания настроек сервером.
Для проверки текущих настроек следует вызвать команду:
# exportfs -v
/net/exports 192.168.0.0/24(rw,insecure,sync,wdelay,no_subtree_check,fsid=0) /net/exports/home 192.168.0.0/24(rw,insecure,sync,wdelay,no_subtree_check,nohide)Первая запись здесь является фиктивной (отмечена fsid=0) и обозначает каталог, от которого отсчитываются экспортируемые системы.
Соответственно, предварительно следует подсоединить туда содержимое нужного каталога:
/home /net/exports/home none bind 0 0
Варианты авторизации клиентов
Данный раздел приведён для полноты информации. Авторизация клиентов через NFS не поддерживается. Для того чтобы несколько NFS-клиентов могли одновременно работать с базой, расположенной на NFS-сервере, следует учитывать распределение прав доступа.
Существует несколько вариантов решения этой проблемы:
- Централизованная авторизация (PAM) или централизованная синхронизация конфигурационных файлов авторизации (NIS).
- Создание единой учетной записи (uid + gid) на всех машинах, имеющих доступ к базе.
- Использование параметров all_squash, anonuid, anongid при экспортировании каталога на nfs-сервере
Рассмотрим вариант с единой для всех учётной записью.
В этом случае можно создать новую учетную запись (uid + gid) при помощи команды: useradd имя_пользователя -u номер_uid -g основная_группа_gid -G дополнительные,группы -m
Здесь
-
номер_uid
-- желаемый идентификатор пользователя; -
основная_группа_gid
-- желаемый идентификатор или название Вашей основной группы; -
дополнительные,группы
-- перечисление дополнительных подключаемых групп через запятую, без пробелов; - ключ
-m
указывает на создание домашнего каталога/home/имя_пользователя
; - ключ
-d домашний_каталог
привязывает к этому пользователю домашний каталогдомашний_каталог
.
Далее следует задать пароль созданному пользователю командой passwd имя_пользователя
.
Или можно поправить настройки уже существующих учетных записей с помощью команд usermod
и groupmod
:
Изменить текущие uid и gid пользователя командой:
usermod -u новый_uid -g новый_gid имя_пользователя
Изменить текущий идентификатор группы командой:
groupmod -g новый_gid название_группы
Рассмотрим вариант анонимного использования ресурса на примере экспортирования NFS-сервером каталога /mysharedir
для машины client
. Для реализации этого метода в файле /etc/exports
NFS-сервера следует внести/изменить строку:
/mysharedir client(rw,async,all_squash,anonuid=150,anongid=201)
В то же время владельцем экспортируемого каталога, подкаталогов и файлов должен быть пользователь с uid=150
, а владельцем-группой, соответственно пользователи с gid=201
. На данный момент одновременная работа с базой по данному методу возможна только между NFS-клиентами. Если при этом обратиться к базе локально, произойдет ошибка.
Информация о сервере NFS
Для получения информации о работе сервера NFS следует использовать команду nfsstat
на таком сервере:
nfsstat -s
Для определения поддержки сервером NFS4 можно проверить доступные RPC-интерфейсы. Доступность через порт 2049 по протоколам TCP и UDP означает поддержку версии NFS4.
# rpcinfo -p server program vers proto port 100003 4 udp 2049 nfs 100003 4 tcp 2049 nfs 100021 3 tcp 32788 nlockmgr 100021 4 tcp 32788 nlockmgr
Наличие программы 100021 (nlockmgr) свидетельствует о поддержке блокировок со стороны сервера.
Дополнительные ссылки: http://www.bog.pp.ru/work/NFS.html http://www.brennan.id.au/19-Network_File_System.html http://nfs.sourceforge.net/nfs-howto/
Особенности работы с NFS
Поскольку SGID-бит на файлах имеет специальное значение для NFS (включает mandatory блокировки), следует обратить особое внимание на отсутствие этого бита на файлах. Обычно помогает устанавливать права на каталог скриптом setwineshare
(см. раздел Разделяемый сетевой ресурс). Для каталогов SGID-бит обязателен при совместной работе, поскольку обеспечивает общую группу для создаваемых файлов, отличную от основной группы пользователя.
Если при проверке возникает ошибка подключения, проверьте, что доступ к порту не запрещён файрволлом или ограничением на слушаемые порты в самом portmap (в ALT Linux проверьте отсутствие параметра -l
в /etc/sysconfig/portmap
.)
# rpcinfo -p server rpcinfo: can't contact portmapper: RPC: Remote system error - Connection refused
Если Wine зависает при обращении к каталогу, следует попробовать выполнить $ flock файл /bin/sh
. Если при этом не появляется приглашения, командой строки, проблема в том, что недоступен (не запущен) сервер блокировок (rpc.statd) на клиентской или на серверной стороне.
Режим административной установки
Обычный подход, когда каждый пользователь должен самостоятельно установить win-приложение в своём домашнем каталоге (локальном win-окружении), не очень удобен для использования, когда много пользователей работают с одним и тем же приложением.
Для упрощения администрирования в такой ситуации в WINE@Etersoft имеется режим административной установки. В этом режиме программы, установленные администратором WINE, будут сразу доступны всем пользователям.
Общая схема административного режима установки сводится к следующему:
- Специально выделенный пользователь (администратор WINE) создаёт общий логический диск
C:
(общее win-окружение) и устанавливает в него программы. - Каждый пользователь, который собирается работать с общим win-окружением, должен подключиться к нему (используя его в качестве своего логического диска
C:
). После этого вся работа происходит с win-приложениями, установленными администратором.
Изменения в рабочей WINE-среде, выполняемые администратором, будут доступны всем пользователям -- в общем win-окружении -- и у всех пользователей изменения будут согласованы. Этот режим особенно удобен при устройстве терминального сервера, когда win-приложения всех пользователей выполняются на сервере.
Ниже пошагово описан процесс настройки административного режима установки WINE.
Администратор WINE
Прежде всего потребуется определить пользователя, который будет администратором WINE. Этого пользователя нужно добавить в группу wineadmin
(такая группа создаётся при установке WINE).
Технически в группу wineadmin
могут входить несколько пользователей. В этом случае все они смогут равноправно изменять общее win-окружение. Хорошим решением будет создать отдельную учётную запись, которая будет играть роль администратора WINE.
Общее win-окружение
После того как администратор WINE определён, следует создать каталог, который будет играть роль общего win-окружения. Рекомендуется в качестве общего каталога использовать /var/lib/wine-etersoft/default
. При установке пакета wine сразу создаётся /var/lib/wine-etersoft
с необходимыми правами (root:wineadmin rw-rw-r--
), позволяющими администратору WINE создавать там каталоги.
Подготовка административной системы выполняется командой wine --admin /путь/к/общему/каталогу
. Если на момент выполнения этой команды указанного каталога ещё не существует, он будет создан. Если выполнить эту команду без указания каталога, будет использован каталог по умолчанию /var/lib/wine-etersoft/default
.
После настройки среды через wine --admin
администратор устанавливает необходимые программы обычным способом.
Обратите внимание, что при использовании SAMBA команду wine --admin
лучше выполнять на машине, где расположен сам ресурс.
Подключение к общему win-окружению
Каждому пользователю, чтобы подключиться к общему win-окружению, необходимо выполнить команду wine --attach /путь/к/общему/каталогу
. Если указан относительный путь к каталогу, он будет отсчитываться от /var/lib/wine-etersoft
, если же каталог не указан вовсе, по умолчанию используется /var/lib/wine-etersoft/default
.
После выполнения этой команды wine, запущенный этим пользователем, будет использовать в качестве win-окружения указанный каталог (вместо ~/.wine
, который используется по умолчанию). В случае подключения к общему каталогу пользователю будут доступны все программы, установленные там администратором WINE.
Отличия wine, подключённого к общему win-окружению, от стандартной настройки заключаются в следующем:
- Логический диск
C:
(системный) является ссылкой на общее win-окружение и по умолчанию доступен для записи только пользователям, входящим в группуwineadmin
. Рядовые пользователи в общем win-окружении имеют право создавать каталоги только вc:/windows/profiles
, где хранятся их личные данные, и вc:/windows/temp
, где хранятся временные файлы. - системный реестр в локальном win-окружении пользователя (
~/.wine/system.reg
) является ссылкой на файл в общем win-окружении
(там он расположен в каталоге c:/windows/inf
);
Права доступа к общему win-окружению
Чтобы пользователи могли совместно работать с общим win-окружением, по команде wine --admin
в нём производится следующая настройка прав доступа:
- На каталог общего win-окружения устанавливается атрибут SGID
(2770), чтобы все файлы, созданные в этом каталоге, принадлежали общей группе (wineadmin), а не группе создавшего пользователя. Это даёт администраторам WINE (входящим в группу wineadmin), доступ к любым файлам в этом каталоге.
- На общий временный каталог
c:/windows/temp
выставляется атрибут "sticky bit" (режим 1770), чтобы пользователи не могли удалить созданные другими файлы. - каталог общего win-окружения должен иметь атрибут SGID (режим 2770), чтобы созданные разными пользователями (администраторами, входящими в группу wineadmin) файлы принадлежали общей группе, выставленной на каталоге, а не группе пользователя.
Администратор может производить дополнительное разграничение прав обычными системными средствами. При необходимости иметь некоторые каталоги общедоступными, на них нужно исправить права или группу.
Общие замечания
Для упрощения приняты следующие умолчания: если в качестве параметра --admin
или --attach
указан относительный путь к каталогу (например, просто test
), то он отсчитывается от /var/lib/wine-etersoft
. Если каталог не указан вовсе, подразумевается /var/lib/wine-etersoft/default
Команды настройки общего win-окружения (wine --admin
) и подключения к нему (wine --attach
) предполагают, что у выполняющего их пользователя отсутствует каталог ~/.wine
. Если такой каталог уже есть, то будет выведено сообщение об ошибке. При необходимости можно переместить ~/.wine
в другой каталог или изменить переменную окружения WINEPREFIX
-- тогда wine --admin
и wine --attach
будут производить настройку в том каталоге, который указан в этой переменной.
Краткая инструкция
Режим административной установки призван упростить администрирование ПО при наличии однотипных установок программ, и очень легко реализуется на практике. Рассмотрим порядок установки с самого начала, когда пользователи в системе уже заведены, но /. wine отсутствует (инициализация не производилась).
- Вносим пользователя, который будет администрировать WINE (устанавливать программы), в группу
wineadmin
. - Заходим под пользователем-администратором и запускаем
$ wine --admin
- Устанавливаем необходимые программы и выполняем нужные настройки
- Под каждым пользователем запускаем
$ wine --attach
Всё. Пользователи разделяют системный реестр system.reg
, имеют индивидуальный реестр user.reg
, общий диск C:
, доступный на запись пользователю-администратору.
Рассмотрим на конкретном примере
На машине присутствуют пользователи admin и test, где admin - учетная запись администратора, test - учетная запись рядового пользователя
- После установки WINE@Etersoft необходимо добавить администратора (пользователя admin) в группу wineadmin:
# usermod -a -G wineadmin admin
- Запускаем под пользователем admin команду:
$ wine --admin
- После отработки команды, переходим к установке необходимой Вам программы в wine, установка не отличается от обычной. На примере КОМПАС-3D v21 необходимо перейти в каталог с распакованным дистрибутивом программы и запустить:
$ wine_install_kompas
- После установки программы, запустите её под пользователем admin и выполните все необходимые настройки (например, активация ПО или подключение лицензионных ключей защиты)
- После выполнения всех настроек в ПО, заходим в систему под тем пользователем, который будет работать с ПО, в нашем примере это пользователь test, и выполняем команду:
$ wine --attach
Готово! Теперь пользователь может пользоваться программой.
Файл конфигурации
Файл конфигурации по умолчанию расположен в /etc/wine-etersoft/wine-etersoft.conf
. Так же он может быть расположен в домашнем каталоге пользователя ~/.config/wine-etersoft.conf
и в самом префиксе ~/.wine/wine-etersoft.conf
. При этом будет сохраняться наследственность в следующем порядке etc > .config > .wine
, если были изменены какие-то значения, то они будут перезаписаны в указанном порядке.
В файле конфигурации используются следующие параметры:
-
ATTACH_MODE
— Подсоединяет пользователя к административной установке при первом запуске. -
WINEADMIN
— Название или путь к каталогу административной установки. -
WINEDISABLEETERSPLASH
— Выключение заставки при запуске с ярлыка.
Копирование ярлыков пользователю
После использования скриптов автоматической установки wine_install_*
пользователем с правами администратора WINE ярлыки скопированы в общее win-окружение. Пользователь использовавший wine --attach
в первый раз автоматически скопирует все ярлыки которые были в общем win-окружении.
Создание резервной копии
Для создания резервной копии установленных в режиме административной установки программ достаточно заархивировать каталог /var/lib/wine-etersoft/default
. В нём находится содержание диска C:
, включая файл системного реестра.
Использование аппаратных ключей защиты в Linux
HASP (от англ. Hardware Against Software Piracy) — это мультиплатформенная аппаратно-программная система защиты программ и данных от нелегального использования и несанкционированного распространения.
Менеджеры лицензий и необходимые драйверы для поддержки ключей защиты в Linux поставляются в пакетах haspd и haspd-modules (модули ядра могут дополнительно поставляться в пакете dkms-*, если система поддерживает DKMS).
Драйверов для прочих систем (MacOS, FreeBSD, Solaris) не имеется, и в этих системах предоставляется только режим работы с сетевыми ключами (когда ключ подключен к другой машине с системой GNU/Linux или Windows.
При использовании локального ключа в программе winecfg на вкладке Ключи защиты
нужно отметить соответствующий ключ загружаемым (см. winecfg).
Если необходимо обеспечить загрузку драйверов локальных ключей без ручной настройки, в соответствующий файл /etc/wine/reg.d
(например, для HASP это будет /etc/wine/reg.d/usb_hasp.reg
) нужно добавить строку Start
=dword: 00000003 перед каждой строкой Type
= в файле.
Для некоторых драйверов (Hardlock и Sentinel) в Start должно быть не 00000003, а 00000002.
Ключи защиты HASP 4/HL (Aladdin — Sentinel)
Ключи HASP бывают как локальные (однопользовательские), так и сетевые (многопользовательские). По способу подключения ключи также бывают двух типов: подключаемые к порту LPT (параллельный порт) и к шине USB. Для ОС GNU/Linux имеются драйверы USB- и LPT-ключей защиты для ядра версии 2.4 и 2.6. Рекомендуется использовать USB-ключ защиты, так как его подключение и настройка вызывает меньше проблем. Возможно, потребуется обратиться к поставщику программы и попросить о замене ключа.
Начиная с Win32 HASP HL API версии 1.12 поддерживаются локальные ключи HASP при работе из WINE@Etersoft. Примером такой программы является 1С:Предприятие 8.0 и выше. Также поддерживается платформа 1С:Предприятие 7.7, начиная с релиза 27 (за исключением локальных ключей для конфигурации Торговля и Склад).
Подключение ключей HASP 4/HL
При эксплуатации программ, защищённых ключом защиты HASP (например, 1С:Предприятие 7.7), необходим драйвер ключа, установленный на компьютере с подключённым ключом. Для сетевого ключа в дополнение к драйверу потребуется также работающий сетевой менеджер лицензий. Сетевой ключ может располагаться на любом узле сети, работающем под управлением Linux или Windows.
Различение ключей:
- локальные LPT-ключи -- белого цвета;
- сетевые LPT-ключи -- красного цвета;
- локальные USB-ключи фиолетового цвета (H4 M1 ORGL8);
- однопользовательский USB-ключ синего цвета (H4 B1 ORGL8);
- сетевые USB-ключи -- красного цвета (H4 NET5 ORGL8- после слова NET указано количество лицензий);
- USB-ключ 32-битного сервера 1С:Предприятия 8 является локальным и имеет фиолетовый цвет (надпись H4M1 ENSR8).
- USB-ключ 64-битного сервера 1С:Предприятия 8 является локальным и имеет фиолетовый цвет (надпись H4P1 ENSR8).
- USB-ключ 64-битного сервера 1С:Предприятия 8 является локальным и имеет зелёный цвет (надпись H4 M4 EN8SA).
Если ключ не работает, и при этом мигает, возможно, он неисправен. См. подробнее здесь.
Установка драйвера ключа HASP 4/HL
Все компоненты драйвера 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
Для тех систем, где отсутствует команда service
, следует использовать команду /etc/init.d/haspd status
.
Если в выводе service haspd status
появляется предупреждение о том, что не загружен модуль ядра (kernel module aksparlnx is not loaded
), это свидетельствует о том, что у вас установлено ядро, для которого не удалось автоматически подобрать драйвер, и требуется сборка модуля ядра (см. ниже). Это потребуется только в случае использования LPT-ключа.
Проверить, какие порты прослушивает менеджер лицензий HASP, можно командой:
[root@test root]# netstat -ap | grep hasp udp 0 0 *:475 *:* 1535/hasplm udp 0 0 localhost.localdom:2790 *:* 1169/winehasp
Мы видим, что на порту 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 ; Отключить поиск ключа по всей сети
notepad
, входящем в состав WINE.
Если этого файла нет, или настройки в нём не выполнены, будет выполняться широковещательный запрос по локальной сети. Результат может быть нестабилен. В случае наличия нескольких сетевых интерфейсов на машине ключ может быть не найден.
Для упрощения настройки можно воспользоваться командой setnethasp IP-адрес
, которая создаст конфигурационный файл nethasp.ini
, настроенный на указанный сервер. Если менеджер лицензий расположен на Windows-машине, настройка осуществляется командой setnethasp --win IP-адрес
.
Обращение к сетевому менеджеру лицензий, запущенному под Linux, возможно только по протоколу UDP/IP. Если вы используете менеджер лицензий, запущенный под Windows, то удостоверьтесь что в нём включен протокол TCP/IP.
hinstall.exe
из поставки Win-приложения.
При использования менеджера лицензий под Windows может задействоваться файл nhsrv.ini
, в котором указывается в том числе протокол работы (TCP/UDP).
[NHS_IP] NHS_USE_UDP = enabled ; enabled or disabled (default: enabled) NHS_USE_TCP = enabled ; enabled or disabled (default: enabled) NHS_IP_portnum = 475 ; IP port number (default: 475 (IANA registered))
Проверка доступности ключа
Если всё правильно настроено, но приложение не видит ключ, следует для проверки отключить межсетевой экран (firewall) командой service iptables stop
или iptables -F
Далее можно попробовать обратиться к менеджеру лицензий с помощью тестовой программы.
# eterkeytest --hasp USB: HASP: Needed registry section for local HASP key is present 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)
Для проверки сетевого ключа eterkeytest
пользуется файлом nethasp.ini
для получения информации о доступе к ключу (регистр букв важен).
Надпись Needed registry section for local HASP key is present
показывает, что необходимые для работы 1С 8.x с локальным ключом записи в реестр внесены.
Для Windows существует программа АКС Монитор, позволяющая увидеть тип ключа и количество лицензий в нём: ftp://ftp.aladdin.com/pub/hasp/new_releases/utility/monitor/Monitor_Setup.zip
Компоненты драйвера HASP в GNU/Linux
Драйвер ключей защиты HASP для GNU/Linux состоит из нескольких взаимодействующих компонент:
-
aksparlnx
(версия 1.6) -- модуль ядра, обеспечивающий низкоуровневый доступ к LPT-ключу; -
askusbd
(версия 1.8.1) -- универсальный драйвер для USB- и LPT-ключей (системная служба); -
winehasp
(версия 1.00) -- часть драйвера, предоставляющая доступ к ключу HASP win-приложениям, исполняющимся в среде WINE (системная служба); -
hasplm
(версия 8.30) -- сетевой менеджер лицензий (системная служба).
Сборка модулей ядра для HASP
Если используется LPT-ключ, вам потребуется запустить сборку модуля для вашего ядра командой service haspd build
. На системах, где нет команды service, запускайте /etc/init.d/haspd build
.
О том, что модуль ещё не собран, можно узнать из вывода service haspd status
:
Aladdin HASP 4/HL driver status:
kernel module aksparlnx is not loaded (WARNING: HASP LPT keys support is disabled!)
Для сборки потребуется установить заголовочные файлы ядра или исходники ядра (зависит от системы) именно той версии, под которую вы планируете сборку.
- Для систем ALT Linux это пакет
kernel-headers-*
. - Для систем RHEL, Fedora, ASP Linux, LinuxXP это пакет
kernel-devel-*
. - Для систем Debian, Ubuntu это пакет
linux-headers-*
. - Для систем SUSE, Slackware, MOPSLinux это пакет
kernel-source-*
. - Для систем Mandriva это пакет
kernel-source-stripped-*
.
Если заголовочные файлы находятся в нестандартном месте, путь можно указать через переменную окружения KERNSRC: KERNSRC=/путь/к/исходникам/ядра service haspd build
Если требуется просто собрать модуль не для текущего загруженного ядра, версию ядра можно указать через переменную окружения KERNELVERSION
: KERNELVERSION=2.6.26-wks-smp-alt1 service haspd build
Часто задаваемые вопросы по HASP с сайта Aladdin Форум по поддержке HASP на сайте Aladdin
Ключи HASP SRM
Подробности про защиту HASP SRM можно прочитать на странице Поддержка ключей HASP в Wine.
Ключи Smartkey 3 (EUTRON)
Сетевые ключи
Сетевыми ключами Smartkey 3 USB/LPT
защищаются, например, конфигурации 1С: Рарус 7.7. Драйвер для ключей входит в пакет haspd (/usr/sbin/keyd
) и запускается в сервисе haspd. Конфигурационный файл драйвера находится в /etc/skeyd.conf
, там можно настроить адрес и порт, на котором находится ключ. По умолчанию драйвер слушает на адресе 127.0.0.1
порт 13527/tcp
.
export USB_DEVFS_PATH=/dev/bus/usb
В защищаемой программе параметры доступа указываются в файле Server.ini
(должен находиться в каталоге с конфигурацией).
MODE=NET
SERVER=localhost
IP=127.0.0.1
PORT=13527
PING=0
Дополнительно можно посмотреть здесь: http://www.forum.mista.ru/topic.php?id=242981&forum=it&order=answers
Ключи Smartkey 2 требуют использования модуля ядра и не поддерживаются.
Локальные ключи
WINE@Etersoft, начиная с версии 1.0.9 поддерживает библиотеки ключа skeydrv.dll или skeylink.dll и драйвер ключа eusk3usb.sys, необходимый для работы ключей Eutron из WINE.
Локальный USB-ключ Smartkey 3 используется, например, для защиты СБИС++.
Возможны проблемы с правами доступа к файлу устройства /dev/usb/*
, отвечающего за вставленный ключ. Для автоматической установки прав с помощью сервиса udev поставляется файл /etc/udev/rules.d/90-winkeys.rules
.
Проверить доступность ключа можно командой eterkeytest --list
, которая выведет список имеющихся ключей и сообщит об ошибке (denied) доступа или о том, что ключ теоретически поддерживается (supported).
Ключи SuperPro, UltraPro, SHK (Sentinel)
Сетевые ключи
Данные ключи используются для защиты таких программ, как Инфо-Бухгалтер, БЭСТ. Сетевой драйвер для ключей и менеджер лицензий входит в пакет haspd и запускается в сервисе haspd, если соответствующий ключ подключен в USB. По умолчанию используется порт 6001 по протоколу UDP и TCP. На порту 6002 должен работать веб-интерфейс по проверке лицензий.
Настройки сервера (например/usr/lib/sentinel/sntlconfigsrvr.xml
Пример конфигурационного файла клиента поставляется в /usr/share/doc/haspd-3.1/sntlconfig.xml
Сайт производителя - устарел
Сайт производителя - текущий
Локальные ключи
WINE@Etersoft поддерживает загрузку драйвера SNTNLUSB.SYS, необходимого для работы ключей из Wine. Сам драйвер поставляется в закрытой части WINE@Etersoft, начиная со сборки 1.0.9-eter8, и находится в каталоге system32/drivers
.
Возможны проблемы с правами доступа к файлу устройства /dev/usb/*
, отвечающего за вставленный ключ. Для автоматической установки прав с помощью сервиса udev поставляется файл /etc/udev/rules.d/90-winkeys.rules
.
Проверить доступность ключа можно командой eterkeytest --list
, которая выведет список имеющихся ключей и сообщит об ошибке (denied) доступа или о том, что ключ поддерживается (supported):
$ eterkeytest --list USB: Vendor:Product: 04b9:0300 Rainbow Sentinel SuperPro/UlraPro (supported): SafeNet Inc., USB UltraPro
Проверить ключ для программы Инфо-Бухгалтер можно через программу chkey32w.exe
из каталога с установленной программой.
Ключи Катран
Данные ключи применяются, например, в составе решения по защите конфигураций 1С. Драйверы ключа поставляются вместе с WINE@Etersoft.
Полный список проверенных конфигураций
Для проверки ключа используется программа PSTest.exe.
Ключи GUARDANT (Актив)
К версии WINE@Etersoft 1.0.10 для платформы GNU/Linux совместно со специалистами компании Актив была разработана полная поддержка всех USB-ключей Guardant, а именно:
- Guardant Sign/Time/HID/USB
- Guardant Stealth III/Net III USB
- Guardant Stealth II/Net II USB
Также выполнена поддержка сервера лицензий Guardant Net, что позволяет использовать сетевые ключи. Программы, защищённые сетевым ключом, могут быть запущены с использованием сервера ключей, запущенного на Windows или в WINE@Etersoft.
Все необходимые драйверы уже поставляются в составе WINE@Etersoft и загружаются при наличии ключа. Специальных действий предпринимать не требуется. При возникновении затруднений обращайтесь в службу поддержки mailto:support@etersoft.ru.
eToken (Aladdin)
Поддержка брелоков eToken сама по себе бессмысленна, а необходимое Microsoft CryptoAPI и PKCS#11 ещё не реализовано в нужном объёме.
Ключи SenseLock (SecuLab)
Новые электронные ключи SenseLock на основе смарт-карты имеют поддержку операционных систем Windows, Linux, Mac OS, а также имеют поддержку WINE.
Использование прочих ключей защиты
В случае использования других ключей защиты следует руководствоваться следующими общими правилами:
- ключи по возможности должны быть USB;
- ключи должны быть сетевыми (точнее, программа должна обращаться к драйверу ключа (менеджеру лицензий) по сетевому протоколу TCP/IP, иначе без специальной поддержки со стороны производителя программа работать не будет;
- для сетевого ключа должен иметься драйвер ключа и менеджер лицензий под Linux, написанные производителем;
- компанией Этерсофт может быть выполнена поддержка загрузки необходимого Windows-драйвера ключа.
В случае затруднений или при встрече с неподдерживаемым ключом обращайтесь с описанием проблемы по адресу mailto:hasp@etersoft.ru.
Изменение установленных в системе ограничений
При использовании ресурсоёмких win-приложений могут возникать проблемы, связанные с установленными в системе ограничениями.
Лимит на количество открытых файлов
Ещё одна сторона совместной работы: одновременное использование большего количества ресурсов, что может приводить к превышению стандартных лимитов, используемых по умолчанию в различных Unix-системах. Лимиты могут определяться как в момент компиляции ядра, так и настраиваться в любой момент в процессе работы.
В контексте использования WINE наиболее актуален лимит на открытые файловые дескрипторы. Если в приложении не открываются большие файловые базы или невозможно работать более чем 3-м пользователям одновременно, это может означать, что превышен лимит на открытые файлы.
Лимит на открытые файлы двухуровневый: с одной стороны, имеется лимит ядра на общее число всех открытых файлов, с другой стороны, для каждого процесса также может быть выставлен лимит на число открытых файлов.
Как правило, в современных системах лимит ядра достаточно велик (около сотни тысяч файлов), а вот для каждого процесса установлено ограничение в 1024 файловых дескриптора. Обычно его и требуется увеличить, как правило, достаточно значения 5000.
Лимит по количеству открытых файлов для командной оболочки пользователя можно устанавливать при помощи подсистемы авторизации PAM. Для этого в конфигурационном файле/etc/security/limits.conf
выставляются необходимые значения:* soft nofile 5000 * hard nofile 5000
Чтобы лимит применялся при регистрации пользователей в системе, в файле /etc/pam.d/system-auth
должна быть строка:
session required /lib/security/pam_limits.so
Обычно она уже имеется в системе.
Чтобы лимит применялся при входе через ssh в системе, в файле /etc/pam.d/sshd
должна быть строка:
session required pam_limits.so
В Debian Lenny есть бага http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=515673
, из-за которой установленный лимит не применяется при входе пользователя. В этом случае нужно вписать команду ulimit -n 5000
в файл /etc/init.d/rc
, выполняющийся при старте системы.
После повторного входа в систему выставленное вами значение лимита должно быть отображено в выводе команды ulimit -n
. Также значения лимита можно узнать из вывода команды winediag
.
Узнать текущее значение лимита ядра можно через команду winediag
.
Разово изменить это значение в Linux можно посредством той же proc
, для этого нужно просто записать новое значение в файл /proc/sys/fs/file-max
(потребуются права суперпользователя):
# echo "104854" > /proc/sys/fs/file-max # cat /proc/sys/fs/file-max 104854
Чтобы настройка лимитов сохранялась между перезагрузками, потребуется внести нужные значения в файл /etc/sysctl.conf
(для некоторых систем — в одном из файлов каталога /etc/sysctl.d
):
# Maximum number of open files permitted fs.file-max = 104854
Для Ubuntu 8.04 и некоторых других систем
Если в момент запуска приложения в WINE получаем ошибку:
preloader: Warning: failed to reserve range 00000000-60000000
err:dosmem:setup_dos_mem Cannot use first megabyte for DOS address space, please report
или просто предупреждение
preloader: Warning: failed to reserve range 00000000-00010000
Нужно убрать нижнюю границу маппинга адресов, однократно- командой sysctl -w vm.mmap_min_addr=0
.
Для изменения системных установок правим содержимое файла /etc/sysctl.conf
, заменив vm.mmap_min_addr = 65536
на vm.mmap_min_addr = 0
и выполнив sysctl -p
для вступление настроек в силу.
Для Ubuntu 8.10 и новее
Если в момент запуска приложения в WINE получаем предупреждение
preloader: Warning: failed to reserve range 00000000-00010000
Нужно убрать нижнюю границу маппинга адресов, однократно- командой sysctl -w vm.mmap_min_addr=0
.
Для изменения системных установок правим содержимое файла /etc/sysctl.d/10-process-security.conf
, заменив vm.mmap_min_addr = 65536
на vm.mmap_min_addr = 0
и выполнив sysctl -p
для вступление настроек в силу.
1C: Предприятие в WINE
1C: Предприятие 7.7
Установка
Запустите setup.exe
из каталога DISK1 дистрибутива программы для начала установки.
При получении ошибки Setup is unable to find _SETUP.DLL, which is needed to complete the installation. Error 103
убедитесь, что дистрибутив программы не расположен в каталоге, путь к которому назван русскими буквами.
Особенности работы программы 1С: Предприятие в WINE@Etersoft.
Обратите внимание на то, что при использовании файла NETHASP.INI, который записан по умолчанию, возможна нестабильная связь с менеджером лицензий и сбои при запуске программы 1С.
Если программа иногда выдаёт сообщение о том, что нет ключа защиты, иногда запускается, а иногда падает когда уже появилось главное окно, то необходимо правильно настроить NETHASP.INI (отключить broadcast и указать IP-адрес машины с ключом). Подробнее см. в разделе про настройку HASP.
При использовании режима административной установки у простых пользователей не будет возможности сохранять базу (через Конфигуратор), если у них отсутствуют права записи на файл 1CV7FILE.LST
. При этом будет выводиться сообщение Ошибка при открытии списка сохраняемых файлов
. Обычно данный файл имеется в каталоге BIN, но при необходимости отдельных настроек для каждой базы он может быть скопирован в каталог базы с соответствующими правами.
При восстановлении конфигурации из архива возможна ошибка о нехватке свободного места. Она связана с несовпадением владельца файлов, и пользователя, выполняющего восстановление.
Если программа молча закрывается сразу после ввода пароля пользователя, это говорит о проблемах с правами на файлы базы: невозможности открыть файлы базы для записи или создать новый файл в каталоге базы.
Полезные статьи по 1С 7.7: http://mista.ru/articles1c/index.htm
Проверка совместной работы
При неправильной настройке или неверном использовании сетевых файловых систем возможны проблемы в совместной работе различных экземпляров программы 1С с одной базой данных.
После настройки проверить правильность работы блокировок можно следующими шагами:
- Одновременно открываем одну и ту же базу под разными пользователями монопольно. Открыться не должна, потому что файл 1cv7.lck открывается в этом случае с SHARE_READ.
- Открываем одну базу под двумя пользователями не монопольно. Открываем один и тот же документ в каждой из программ. Последнему пользователю должно быть сообщено
запись заблокирована
. - Создаём документ под одним пользователем. Видим его в появившимся в журнале другого пользователя, не переоткрывая окно журнала.
- Открываем Сервис/Мониторинг/Активные пользователи. Видим две записи о пользователях. Наличие одной записи при двух пользователях свидетельствует о полном отсутствии совместного режима.
Использование в терминальном режиме
Вообще сетевая версия 1С рассчитана на эксплуатацию совместно с файл-сервером, когда файлы базы лежат на файл-сервере, а программы 1С, запущенные на каждом компьютере, обращаются к базе по сети.
Минусы:
- Режим разделения файлов по сети достаточно медленен, и замедление растёт с количеством пользователей. К тому же часто вылет или зависание одного пользователя может привести к невозможности работы остальных.
- При этом каждая машина имеет доступ к полной базе, всем файлам. Нет ничего сложного эту базу скопировать по сети и унести.
- Необходимо иметь на каждом рабочем месте компьютер необходимой мощности.
Плюсы:
- Для выполнения вычислений используются мощности каждого компьютера
При использовании терминал-серверного подключения (распространённое решение и в Windows-среде) файлы все минусы убираются:
- Нет задержек, связанных с сетью
- Доступ к файлам на машине ограничен (пользователи видят только картинку)
- В качестве рабочих мест могут выступать хоть тонкие клиенты (нет требований к производительности машин на рабочих местах)
Ускорение работы в терминальном режиме
1С после каждого изменения файла данных вызывает FlushFileBuffers, что приводит к сбросу буфера файла на диск. Если внезапно пропадет питание или произойдёт сбой системы, то данные в кэше будут потеряны, при этом может быть нарушена целостность базы. Настоятельно рекомендуется использование стабильной системы и источника бесперебойного питания.
При работе в WINE появляется проблема замедления работы, связанная с тем, что вызов fsync в Linux приводит к блокированию работы программы до физического завершения записи на устройство хранения. Windows делает это не настолько надёжно и возвращает управление раньше (зависит от настроек).
О кэшировании: http://www.mista.ru/articles1c/hare/article.45.html
Начиная со сборки wine-1.0.9-eter33 появилась обработка параметра WINEDISABLEFLUSH
, указав WINEDISABLEFLUSH=1
в/etc/wine/config, можно добиться существенного ускорения (в 3 раза на перепроведении документов) работы. Рекомендуется применять его только в монопольном режиме при выполнении технологического обслуживания базы администратором.
Прочие советы по ускорению работы 1С: http://www.kb.mista.ru/article.php?id=136&edition=12
Исправление загрузки процессора при ожидании блокировки: http://infostart.ru/projects/1515/
Запуск в режиме одного приложения
Создаем на терминальном сервере скрипт вида:
- !/bin/sh
env WINEPREFIX="/home/guest/.wine" wine "C:\Program Files\1Cv77\BIN\1cv7s.exe" enterprise Помещаем его в/usr/local/bin
На машине-клиенте в настройках NX клиента в секции Desktop указываем Unix: Custom. Рядом становится доступна кнопка Settings. В открывшемся окне указываем Run the following command
и в строке указываем название созданного скрипта.
Настройка 1С 7.7 для работы с SQL-сервером
Для использования SQL-версии платформы 1С: Предприятие потребуется WINE@Etersoft SQL. Платформа 1С: Предприятие 7.7 изначально поддерживает только MS SQL Server. С помощью продукта SELTA@Etersoft (SQL-транслятора), устанавливаемого на клиентские машины, возможно использовать PostgreSQL для хранения базы. О настройке 1C и сервера PostgreSQL см. в документации по SELTA@Etersoft.
Настройка сервера MS SQL 2000
Пользователь, от имени которого будут происходить соединения, должен являться владельцем базы (dbowner). Для смены владельца базы в Query Analizer нужно выполнить следующий код:
use base_1c
EXEC sp_changedbowner 'user1c'
где base_1c- имя базы данных, user1c- имя пользователя, который должен стать владельцем базы.
На сервере должна быть включена авторизация через внутренние механизмы SQL-сервера. Удостоверьтесь, что сервер слушает порт TCP/IP. Проверить, что экземпляр SQL-сервера слушает
порт TCP/IP можно в текущем журнал ошибок. При корректном запуске в журнал записываются следующие строки: 2003-11-06 09:49:36.17 server SQL server listening on TCP, Shared Memory, Named Pipes.
С другой машины можно проверить, открыт ли нужный порт на сервере (командой nmap адрес_сервера
):
PORT STATE SERVICE
1433/tcp open ms-sql-s
Настройка клиентской части
При создании новой базы нужно создать базу в SQL-сервере, запустить Конфигуратор для нового каталога базы, и в появившемся окне выбора формата хранения данных выбрать пункт MS SQL Server. Далее в Конфигураторе выбрать пункт Параметры базы данных SQL
из меню Администрирование
. В соответствующих полях указать IP-адрес сервера, базы данных, имя пользователя и пароль для входа на сервер. Обратите внимание, что указание имени машины в домене работать не будет.
Настройка ODBC
Некоторые приложения (например, MS Access) требуют настройки соединения ODBC. Для этого используются программы CLICONFG.EXE и ODBCAD32.EXE, которые находятся в каталоге C:\windows\system32
. Для большинства программ понадобится указать протокол соединения TCP/IP и порт (обычно 1433). Там же можно проверить соединение с сервером, указав имя пользователя, пароль и базу для подключения.
Возможные ошибки
Удостоверьтесь через wine --version
, что вы используете WINE@Etersoft SQL.
Доступ к базе на сервере возможен только из одного каталога информационной базы
Обычно причина в том, что пользователь пытается обратиться к базе данных, указав иной каталог с конфигурацией, чем указал другой пользователь, уже запустивший программу. Короче говоря, одна и та же конфигурация не может располагаться в разных каталогах.
Также возможно используется неверный доступ к файлам, например каталог с базой смонтирован без поддержки блокировок (например, через smbfs или ncp). Для организации корректного доступа к сетевым ресурсам необходимо использовать протоколы сетевых файловых систем NFS или CIFS.
При отсутствии сервера, закрытом порту или неверном адресе будет выдаваться подобное сообщение при подключении:
SQL State: 08001 Native: 17 Message: [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL-сервер не существует, или отсутствует доступ SQL State: 01000 Native: 3 Message: [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (connect()).
Удостоверьтесь, что на клиентской машине разрешено обращение по этом порту (для проверки остановите сетевой экран командой iptables -F
.
Полезные ссылки
Решение проблем по подключению к серверу MS SQL: http://www.sql.ru/articles/mssql/2005/013001TtroubleshootingConnectivitySQLServer2000.shtml
Часто задаваемые вопросы по SQL: http://www.1csql.ru/materials/faq/admin.html
Возможные причины появления сообщения об ошибке SQL-сервер не существует, или отсутствует доступ
: http://support.microsoft.com/kb/328306/ru
Использование MS SQL Server 2005 с 1С: Предприятием v7.7: http://www.script-coding.info/SQL2005.html
Про ошибку транзакции (истекло время ожидания транзакции): http://www.softpoint.ru/article_id102.htm
Установка 1С: Предприятия 8.1
Установка клиента 1С: Предприятия в WINE@Etersoft
Для установки клиента 1С: Предприятия перейдите в каталог с дистрибутивом 1С: Предприятия и выполните установку командой:
$ wine98 setup.exe
Следуйте штатным инструкциям по установке из прилагающейся к программе документации.
Обратите внимание, что настройки ключа HASP вносятся в следующий файл:
~/.wine/dosdevices/c:/Program Files/1cv81/bin/conf/nethasp.ini
Более полную информацию можно получить из документации в поставке 1С: Предприятия 8.1 (файл V8AddDoc81.html).
Запуск 1С: Предприятия 8.x
Запустить 1С: Предприятие 8.х можно командой $ wine 1cv8.exe
Конфигурация Альфа-Авто 4.0 Рарус для 1С 8.0
При работе в терминальном режиме требуется отключить использование торгового оборудования. Для этого конфигурация должна внутри себя вычислить ПараметрыСеанса.РежимРаботы = 120
Судя по коду в конфигурации РежимРаботыОборудования = Строка (Комп.НеВключатьОборудованиеПриВходе); РежимРаботыОборудования = РежимРаботыОборудования+Строка (Пользователь.РежимИспользованияОборудования); ПараметрыСеанса.РежимРаботы = РежимРаботыОборудования;
Получается, в справочнике Компьютеры для данной машины должно быть указано НеВключатьОборудованиеПриВходе = 1 в справочнике пользователей РежимИспользованияОборудования должен быть 20
При необходимости для каждого пользователя терминала иметь своё имя компьютера, в конф. файле/etc/wine/config можно указать WINEADDUSERTOCOMPNAME. При установке этой переменной к имени компьютера будет прибавляться имя пользователя по схеме $HOSTNAME-$USER-> localhost-guest
Дополнительные ссылки
Благодаря Вячеславу Гилёву существуют материалы, позволяющие правильно настроить
Методика восстановления разрушенных баз 1С: Предприятия 8.1: http://gilev.blogspot.com/2008/09/1-81.html
Советы по настройке ключей защиты для 1С 8.1 http://infostart.ru/blogs/745/
Поиск решений вопросов, возникающих в 1С: Предприятие 8.1: http://www.gilev.ru/1c/support/research.htm
Установка 1С: Предприятия 8.1 в трёхзвенном режиме
Платформа 1С: Предприятие 8.1 может применяться без использования операционных систем от Microsoft. При этом используется GNU/Linux-сервер, на котором установлена серверная часть 1С: Предприятия, PostgreSQL, менеджер лицензий для ключа защиты HASP, и рабочие места с использованием GNU/Linux, FreeBSD, на которых запускается клиентская часть 1С: Предприятия с использованием WINE@Etersoft. Ограничений по операционным системам на рабочих местах не имеется.
Для работы с PostgreSQL >= 8.3 необходимо 1С: Предприятие версии не ниже 8.1.10.
Рассмотрим установку и настройку 1С: Предприятия 8.1 на платформе ALT Linux 4.0 Server.
На платформе Linux для запуска серверной части 1С: Предприятия серверный ключ HASP вам понадобится только при количестве пользователей более 12.
Ключ для серверной части отличается для 32-битной и 64-битной версии, см. http://v8.1c.ru/price/ на предмет
4601546038616 1С:Предприятие 8.1 Лицензия на сервер руб 42000
4601546038623 1С:Предприятие 8.1 Лицензия на сервер (x86-64) руб 72000
Обратите внимание, что имена сетевых узлов и обратная зона должны резолвиться со всех машин сети. Частой ошибкой при подключении клиента 1С является то, что с его машины не резолвится адрес сервера 1С: Предприятия, выданный агентом кластера (вносите адреса в DNS-сервер или в/etc/hosts).
$ resolve testing
IP address of testing: 192.168.0.57
$ resolve 192.168.0.57
Host name of 192.168.0.57: testing
Установка пакетов и запуск служб
Установка кластера серверов под Linux
Перед установкой потребуется создать пользователя usr1cv81, от имени которого работает сервер 1С: Предприятия. Пользователь должен входить в группу grp1cv81:
# groupadd grp1cv81
# useradd usr1cv81 -g grp1cv81
Пакеты составляющие кластер серверов 1С: Предприятия, устанавливаются обычным образом, вы можете воспользоваться привычной программой управления пакетами. Потребуется установить следующие пакеты, находящиеся в каталоге дистрибутива 1С (1С8.1/Platform.Linux):
# rpm -Uvh *.rpm Preparing... ############################ 1C_Enterprise-common ############################ 1C_Enterprise-server ############################ 1C_Enterprise-ws ############################ 1C_Enterprise-crs ############################ 1C_Enterprise-common-nls ############################ 1C_Enterprise-crs-nls ############################ 1C_Enterprise-server-nls ############################ 1C_Enterprise-ws-nls ############################
Запуск всех служб осуществляется сервисом 1cv81 автоматически. Он запустится при загрузке системы. Запустить вручную можно командой
# service srv1cv81 start
При этом запустятся компоненты 1С: Предприятия под пользователем usr1cv81, соответственно настройки будут храниться в каталоге /home/usr1cv81/.1cv81
.
Установка PostgreSQL под Linux
Для работы сервера 1С: Предприятия необходима специальная сборка PostgreSQL, поставляемая в комплекте с 1С: Предприятием, либо http://wiki.etersoft.ru/PostgreSQL- сборка Этерсофт, доступная для большинства популярных платформ.
Подробная инструкция по установке доступна на странице http://wiki.etersoft.ru/PostgreSQL.
Все выше перечисленные действия должны выполнятся пользователем, обладающим привилегиями суперпользователя.
Для запуска службы может потребоваться изменение значения kernel.shmmax в /etc/sysctl.conf
. Нужно добавить строку:
kernel.shmmax=134217728
и после применить изменения, выполнив команду sysctl -p
Далее необходимо задать пароль для пользователя, который будет соединяться с БД. Для этого в сначала в файл/var/lib/pgsql/data/pg_hba.conf следует внести изменения, чтобы строка для локальных пользователей приняла вид:
local all all trust
- доверие ко всем локальным пользователям. Потом нужно перезагрузить сервер postgresql (service postgresql restart
), а затем выполнить команду:
psql -U postgres -d template1 -c "ALTER USER postgres PASSWORD 'ваш пароль'"
Запуск кластера серверов под Linux
Установка клиента 1С: Предприятия в WINE@Etersoft
Для установки клиента 1С: Предприятия перейдите в каталог с дистрибутивом 1С: Предприятия и выполните установку командой:
$ wine setup.exe
Следуйте штатным инструкциям по установке из прилагающейся к программе документации.
Обратите внимание, что настройки ключа HASP для клиентской части вносятся в следующий файл:
~/.wine/dosdevices/c:/Program Files/1cv81/bin/conf/nethasp.ini
Более полную информацию можно получить из документации в поставке 1С: Предприятия 8.1 (файл V8AddDoc81.html).
Запуск Консультант+ (сетевой версии)
Подключение сетевого ресурса
Для обеспечения совместной работы с базой Консультант+, программу вместе с базой нужно разместить на файловом сервере (NFS или CIFS), либо в общем каталоге на терминальном сервере. Сетевой ресурс с Консультант+ нужно смонтировать, например, в каталог /net/consultant
. Обратите внимание, что в случае использования CIFS должен быть задействован пакет etercifs
со сборкой модуля etercifs
(см. раздел документации про использование CIFS). Далее нужно установить соответствие этого каталога с каким-либо логическим диском WINE, например K, используя при этом UNC-путь:
$ mkdir -p ~/.wine/dosdevices/unc/cons/
$ ln -s /net/consultant ~/.wine/dosdevices/unc/cons/share
$ ln -s unc/cons/share ~/.wine/dosdevices/k:
Теперь следует запустить winecfg
и во вкладке Диски
для диска K:
указать, что он сетевой.
Подробнее см. раздел документации Сетевые пути (UNC)
.
Регистрация станции администратора
Для регистрации баз Консультанта нужно запустить cons.exe /reg
на одной из машин, которая будет являться станцией администратора (только на ней можно будет выполнять обновление баз). Будет выполнено получение уникальных для компьютера данных и предложен код для регистрации, ответ на который должен быть получен от поставщика ПО.
Регистрация сетевого пользователя
Если речь идёт о первичной установке программы Консультант+, для каждого из доменов следует выполнить процедуру регистрации.
Для подготовки работы по сети на любой машине следует запустить cons.exe /adm
, при этом программа будет ожидать запуска процедуры регистрации на станции администратора (появится окно с просьбой выполнить действие Регистрация станций
). На станции администратора (которая была зарегистрирована ранее) в запущенном К+ следует предварительно открыть пункт меню "Сервис/Регистрация Станций". После выбора этого пункта меню на станции администратора появится окно регистрации сетевого пользователя (процентная линейка от 0 до 100%). Теперь надо вернуться на компьютер пользователя и нажать кнопку ОК в вышеназванном окне. После этого и на компьютере сетевого пользователя появится окно передачи информации (тоже линейка от 0 до 100 %).
Регистрация сетевого пользователя проводится только для одной любой машины в сети- все остальные пользователи в сети смогут работать с программой сразу, как только будет зарегистрирован один пользователь в сети указанным выше способом.
Если сеть состоит из нескольких доменов, и пользователи Консультант плюс
находятся в разных доменах, процедуру регистрации сетевого пользователя придётся провести в каждом из доменов.
Для того, чтобы домен был распознан корректно, на всех клиентских компьютерах сетевой ресурс должен быть смонтирован в каталог с одним и тем же названием.
Проблемы регистрации
В связи с использованием в системе Консультант+ драйвера для привязки программы к аппаратуре для поддержки драйвера должен быть запущен сервис etersafe
при запуске локальной версии или запуске станции администратора/регистрируемой станции. При возникновении проблем это следует проверить в первую очередь.
Если вы получаете ошибку W23
или W25
при регистрации, проверьте работу etersafe
командой
# service etersafe status
Ошибка W23 - #2
или Ошибка W25 - #2
означает ошибку при загрузке драйвера защиты consult.vxd/consult.sys. Например, может быть не установлен WINE@Etersoft или не запущен сервис etersafe.
Ошибка W23 - #6
означает ошибку при попытке обращения к драйверу. Например загрузка драйвера не поддерживается системой.
Число после #- код ошибки, возвращаемый функцией GetLastError ().
Обновление программной оболочки
После обновления программной оболочки необходимо первый запуск программы осуществить на станции администратора с ключом /adm
. После этого все сетевые пользователи смогут нормально работать с программой.
Как перенести документ из Консультант плюс
в OpenOffice.org?
Войдите в текст документа и нажмите на кнопочку W
на панели инструментов. Если в вашей системе установлен OpenOffice.org или StarOffice, он будет запущен и документ в нём открыт.
ГарантF1
Варианты правовой системы Гарант
Существует несколько вариантов Гаранта:
- Инсталляционная сетевая клиент-серверная (многопользовательская или однопользовательская)
- Инсталляционная сетевая файл-серверная (многопользовательская или однопользовательская)
- Инсталляционная локальная
- Разделяемый по сети DVD-диск (локальный, многопользовательский или однопользовательский)
Подробное описание можно найти здесь: http://forum.elaw.ru/viewtopic.php?p=72343
Установка и настройка
Запуск установки программы Гарант выполняется командой $ wine f1setup.exe
При ошибках установки файлов данных необходимо увеличить лимит файлов до 30000 (тридцати тысяч). (подробнее здесь: http://bugs.etersoft.ru/show_bug.cgi?id=4498
)
Для корректного подключения к SQL-базе, нужно в BDE Administrator на вкладке Configuration->System>INIT выставить значение SHAREDMEMLOCATION
= 9000
Инфо-Бухгалтер 8.x
Установка и настройка
Для работы Инфо-Бухгалтер необходимо установить дистрибутив программы и BDE.
Ключи защиты
Начиная с версии 8.401 для Инфо-Бухгалтер доступны следующие ключи командной строки:
- /NoPlugNovex- Не искать ключи Novex
- /NoPlugSentinel- Не искать ключи Sentinel
- /PlugNetSentinel###- Искать ключи NetSentinel с серийным номером ###
- /PlugLocal- Искать только локальные ключи
- /ServerSentinel###.###.###.###- Искать ключи Sentinel Super Pro Net на машине с IP адресом ###.###.###.###.
- /ServerSentinel####- Искать ключи Sentinel Super Pro Net на машине ####
Локальная версия без параметров ищет любые локальные ключи Sentinel и любые ключи Novex.
Сетевая версия с ключами Novex и Sentinel Super Pro (Net) без параметров ищет любые ключи Sentinel и любые ключи Novex. Ключи Sentinel Super Pro Net ищутся сначала локально, а затем на других машинах.
Сетевая версия с ключами NetSentinel без параметров ищет любые ключи NetSentinel на локальной машине и в сети.
Обращение к сетевому ключу идёт по порту UDP 6001.
Драйвер сетевого ключа поставляется в пакете haspd.
Советы по настройке программы: http://users.kaluga.ru/logika/ib_prot.htm
Инфо-Бухгалтер 10.x
Поддержка планируется. Локальная версия использует MSDE 7, сетевая- MS SQL.
Запуск БЭСТ 4+
БЭСТ 4+ представляет собой консольное приложение Win32, написанное в xHarbour. При исполнении в режиме Win98 он использует встроенный терминал, который некорректно работает в WINE (из-за использования своих шрифтов). При исполнении в режиме Win2000 такой проблемы нет, используется штатная консоль WINE. Для запуска БЭСТ 4+ выполните в каталоге с программой команду
$ wine wineconsole start best.bat
Если у вас неадаптированная версия БЭСТ 4+, то для выгрузки отчётов в OpenOffice.org потребуется удалить файл util/zip.exe
, или заменить его файлом zip.exe
из C:\WINDOWS\COMMAND
.
Дополнительные компоненты
Открытие документов Office
В WINE@Etersoft предусмотрено открытие документов офисных форматов в OpenOffice.org, установленном в host-системе. При этом вызывается на выполнение команда ooffice
(soffice
) host-системы.
Настройка печати
Специальных настроек, как правило, не требуется. Достаточно иметь в системе установленный и настроенный CUPS, и все настроенные принтеры будут доступны в WINE.
Если после обновления возникли проблемы с установленными драйверами принтеров, можно удалить записи о них из реестра командой wine --removeprinters
, предварительно завершив запущенные в WINE программы. Записи о драйверах создадутся заново при следующем запуске WINE.
При использовании административной установки: После добавления нового принтера в систему (через CUPS) он не будет работать для подсоединённых wine-окружений. Требуется один раз запустить wine (любую программу) под администратором (пользователем из группы wineadmin).
Штрих-коды
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 не поддерживаются, и работа таких программ невозможна.
Периферийные устройства (торговое оборудование)
Использование USB-сканера. После подключения сканера появляется устройство /dev/ttyUSB0
, которое нужно сделать доступным из WINE: ln -s /dev/ttyUSB0 com3:
в каталоге. wine/dosdevices Далее выбрать в программе порт com3. Не забудьте проверить, что пользователь имеет права читать/писать в /dev/ttyUSB0
.
Подробнее о поддержке торгового оборудования см. в http://kb.etersoft.ru/Поддержка_торгового_оборудования_в_Wine
Проблемы ввода с клавиатуры
В некоторых системах могут не вводится русские буквы в программах, запущенных в WINE (например, в notepad). Это связано с тем, что при использовании Иксов с клавиатуры вводятся только символы, содержащиеся в кодировке текущей локали. Как правильно, причиной является упущение в файлах, содержащих настройки локали для Иксов. Дополнительным симптомом является то, что ввод через xterm
русских букв так же не работает. Также можно быть неверно настроена локаль. Для русского языка принято использовать локаль ru_RU.UTF-8
именно в таком написании и регистре. Если локаль не поддерживается системой, при запуске xterm
будет выведено Warning: locale not supported by C library, locale unchanged
, также об этом будет предупреждение в выводе winediag
.
Быстро исправить проблему с отсутствием локали в Иксах можно, скопировав подходящий файл локали: cp -a /usr/share/X11/locale/en_US.UTF-8 /usr/share/X11/locale/ru_RU.UTF-8
. Если целевой каталог уже есть, копировать не стоит.
Подробнее см. в http://bugs.etersoft.ru/show_bug.cgi?id=398
Также проблема может быть вызвана работой таких программ как XNeur
. Остановите программу или пропишите WINE в список исключений.
В дистрибутиве ASP Linux 14 проблема решается запуском yum update gdm
. Подробнее см. в http://forum.asplinux.ru/read.php?1,219657,page=1
Описание встроенных программ диагностики
Тестирование работы блокировок
Описание winelocktest, предназначенной для проверки работы взаимных блокировок.
Для проверки под одним пользователем (самостоятельный режим) просто запустите winelocktest под пользователям в проверяемом каталоге.
Для проверки между двумя машинами на одной запускается с ключом-s- подчинённый, на другой c ключом-m- ведущий, который и выведет таблицу с результатами испытаний.
При запуске под root winelocktest будет выполнять автоматическую проверку между двумя временными пользователями (в текущем каталоге).
Результат испытаний блокировок оформляется в виде двухмерной таблицы, где каждая ячейка соответствует определённой комбинации режимов открытия и разделения файлов
- G_R- открытие на чтение
- G_W- открытие на запись
- S_R- разрешение на чтение другим
- S_W- разрешение на запись другим
В каждой ячейке может быть до трёх обозначений.
Первое:
- l (при запуске в режиме тестирования между пользователями)- работают POSIX-блокировки на файл
- u- режим запуска самостоятельный и POSIX-блокировки не проверяются
- F- работа на CIFS-ресурсе, сброса блокировок при закрытии дескриптора нет (драйвер файловой системы не сбрасывает все блокировки при закрытии одного из дескрипторов на файл, как это должно быть согласно POSIX)
Второе: Успешность проверки на взаимное открытие файлов разными пользователями:
- V- разрешено и совпадает с тем, как должно быть
- o- не разрешено, а должно бы
- C- разрешено, но не совпадает с тем, как должно быть
Третье: Успешность работы блокирования
- L- сработала блокировка (блокирование области файла через LockFile работает)
- X- не сработала блокировка (программы (пользователи)
не видят
друг друга)
Правильное поле должно выглядеть так:
-
l
илиlVL
для режима совместной проверки -
u
илиuVL
для самостоятельного режима -
F
илиFVL
для cifs-ресурсов - все другие случаи являются ошибкой.
См. также http://wiki.winehq.org/FileLocking - ссылка не актуальна
Пример правильного вывода:
G_R G_R G_R G_W G_W G_W G_R|W G_R|W G_R|W S_R S_W S_R|W S_R S_W S_R|W S_R S_W S_R|W G_R lVL l. lVL l. l. l. l. l. l. S_R G_R l. l. l. lVL l. lVL l. l. l. S_W G_R lVL l. lVL lVL l. lVL lVL l. lVL S_R|W G_W l. lVL lVL l. l. l. l. l. l. S_R G_W l. l. l. l. lVL lVL l. l. l. S_W G_W l. lVL lVL l. lVL lVL l. lVL lVL S_R|W G_R|W l. l. lVL l. l. l. l. l. l. S_R G_R|W l. l. l. l. l. lVL l. l. l. S_W G_R|W l. l. lVL l. l. lVL l. l. lVL S_R|W
Команда winelocktest сверяет результат с эталоном после выполнения.
На сайте Microsoft эта таблица в настоящее время приведена в виде таблицы соответствий.
Запуск Налогоплательщик ЮЛ
В WINE@Etersoft имеются все необходимые изменения, чтобы налогоплательщик работал без каких-либо дополнительных действий. Его нужно установить и запустить штатными действиями.
Некоторые подробности можно найти на сайте http://tuxologia.blogspot.com/2009/03/linux.html
Запуск MS Access 2003
Для нормальной работы с базами может потребоваться установить IE 6 командой $ ieinstall
и запускать Access командой $ wine98
.
Установка и запуск Internet Explorer 6
Запустите установку командой $ ieinstall
. При отсутствии установочных файлов IE в текущем каталоге они будут скачаны из Интернета.
Для удаления IE 6 запустите $ ieuninstall
. При этом будет запущен $ wine --update
, который может изменить некоторые настройки на умолчальные.
crypt32.dll, поставляющийся с IE, несовместим с WINE. Это проявляется загрузкой процессора и зависаниями при работе по протоколу SSL. В качестве временного решения можно скопировать библиотеки crypt32.dll и msasn1.dll из Windows 2000 или Windows XP в WINDOWS\SYSTEM32
.
Терминальные решения
Терминальный сервер (к которому подключаются тонкие клиенты), предъявляет довольно высокие требования к мощности сервера (в первую очередь по объёму оперативной памяти), на котором он будет развёрнут. Причём эти требования растут пропорционально количеству одновременно подключённых и работающих на сервере пользователей. Поэтому выбирая этот вариант, следует оценить предполагаемую нагрузку на сервер, в противном случае работа может стать некомфортной. Ориентировочная потребность в ресурсах на одного пользователя составляет: 200МГц для ЦП, 50Mб оперативной памяти.
Не менее серьёзные требования предъявляются к пропускной способности канала между тонким клиентом и сервером, поэтому данные решения применимы только в рамках одной локальной сети.
В качестве одного из путей снижения нагрузки можно предложить смешанный тип тонкого клиента, когда только win-приложение запускается на сервере, а все остальные программы -- на рабочей станции пользователя. Этот вариант также выгоден, если уже имеются достаточно мощные рабочие станции, а мощность сервера, наоборот, ограничена. В этом случае в рабочем окружении пользователей (например, на рабочем столе KDE) можно создать специальные ссылки (ярлыки), настроенные на удалённый запуск win-приложения.
В настоящее время существует много различных способов организации терминальных серверов. Основной рекомендуемый способ -- использование RX@Etersoft.
RX@Etersoft
RX@Etersoft -- сборка NX-сервера, выполняемая компанией Etersoft. Используется протокол NX, основной идеей которого является дифференциальное сжатие данных X-сервера и уменьшение количества передаваемых данных с помощью прокси-сервера. Идея дифференциального сжатия изначально была реализована в протоколе DXPC, в 1995 году. На основе этих разработок компания NoMachine создала свой коммерческий (но в основной массе открытый) продукт. Мы рассмотрим полностью открытую и бесплатную реализацию NX, основанную на проекте FreeNX.
Подробное описание на сайте wiki.etersoft.ru/RX.
XRDP
RDP (англ. Remote Desktop Protocol, протокол удалённого рабочего стола)- протокол прикладного уровня, использующийся для обеспечения удалённой работы пользователя с сервером, на котором запущен сервис терминальных подключений. Клиенты существуют практически для всех версий Windows (включая Windows CE и Mobile), Linux, FreeBSD, Mac OS X.
Подробное описание на сайте wiki.etersoft.ru/XRDP.
VNC
Virtual Network Computing (VNC)- это система удалённого доступа к рабочему столу компьютера, использующая протокол RFB (Remote FrameBuffer).
Подробное описание на сайте wiki.etersoft.ru/VNC.
LTSP
Решение для организации терминального сервера и бездисковых клиентов, загружаемых по сети.
X
X Window System- оконная система, которая обеспечивает стандартные инструменты и протоколы для построения графических интерфейсов пользователя. Почти все современные операционные системы поддерживают X Window System, но в основном она закрепилась в Unix-подобных системах в качестве стандарта де-факто
. В X Window System предусмотрена сетевая прозрачность: графические приложения могут выполняться на другой машине в сети, а их интерфейс при этом будет передаваться по сети и отображаться на локальной машине пользователя. В контексте X Window System термины клиент
и сервер
имеют непривычное для многих пользователей значение: сервер
означает локальный дисплей пользователя (дисплейный сервер), а клиент
- программу, которая этот дисплей использует (она может выполняться на удалённом компьютере).
В менеджере входа в систему практически в каждой системе можно увидеть пункт Удалённый вход в систему
. Указав его и далее выбрав сервер для подключения, вы увидите окно приглашения удалённого сервера, к которому можно подключиться, указать имя пользователя и пароль.
Это самый простой способ.
Вручную подключение выполняется командой X -query server-IP
.
КОМПАС-3D в WINE
КОМПАС-3Dv20
Установка
Установка КОМПАС-3Dv20 будет происходить на примере ОС ALT Linux Workstation 10 в версии W@E 7.20
На ПК должен быть установлен WINE@Etersoft
Переходим в каталог с дистрибутивом КОМПАС-3D (он может называться, например, KOMPAS-3D_v20_x64) и запускаем скрипт установки приложения.
$ wine_install_kompas
В ходе установки скрипт создаст 64-битный префикс /.wine
и установит в него приложение, а также все необходимые компоненты winetricks.
Далее же появится мастер установки КОМПАС-3D и предложит вам выбрать способ установки.
Для полноценной работы в КОМПАС-3D потребуется лицензия.
КОМПАС-3Dv21
Установка
Установка КОМПАС-3Dv21 происходит аналогично установке КОМПАС-3Dv20. На примере ОС ALT Linux Workstation 10 в версии W@E 7.20
На ПК должен быть установлен WINE@Etersoft
Переходим в каталог с дистрибутивом КОМПАС-3D (он может называться, например, KOMPAS-3D_v21_x64) и запускаем скрипт установки приложения.
$ wine_install_kompas
В ходе установки скрипт создаст 64-битный префикс /.wine
и установит в него приложение, а также все необходимые компоненты winetricks.
Далее же появится мастер установки КОМПАС-3D и предложит вам выбрать способ установки.
Для полноценной работы в КОМПАС-3D потребуется лицензия.
КОМПАС-3Dv22
Установка
Установка КОМПАС-3Dv22 происходит аналогично установке предыдущих версий КОМПАС-3Dv20. На примере ОС ALT Linux Workstation 10 в версии W@E 8.0.10
На ПК должен быть установлен WINE@Etersoft
Переходим в каталог с дистрибутивом КОМПАС-3D (он может называться, например, KOMPAS-3D_v21_x64) и запускаем скрипт установки приложения.
$ wine_install_kompas
В ходе установки скрипт создаст 64-битный префикс /.wine
и установит в него приложение, а также все необходимые компоненты winetricks.
Далее же появится мастер установки КОМПАС-3D и предложит вам выбрать способ установки.
Для полноценной работы в КОМПАС-3D потребуется лицензия.
ГРАНД-Смета в WINE
ГРАНД-Смета
Установка
Установка ГРАНД-Смета будет происходить на примере ОС ALT Linux Workstation 10 в актуальной версии W@E 7.20
На ПК должен быть установлен WINE@Etersoft
Переходим в каталог с дистрибутивом ГРАНД-Смета и запускаем установочный файл командой
$ wine Setup.exe
, где Setup.exe - название файла.
В ходе установки wine создаст 64-битный префикс /.wine
и установит в него приложение.
Далее же появится мастер установки ГРАНД-Смета и предложит вам выбрать способ установки.
По завершению установки, на рабочем столе пользователя появится ярлык ГРАНД-Смета и ГРАНД Калькулятор
Для полноценной работы в ГРАНД-Смета потребуется ключ безопасности Aktiv Guardant Code.
Известные проблемы
Известно, что обнаружению ключа безопасности Aktiv Guardant Code может помешать система виртуализации (Например, Proxmox VE). Рекомендуем вставлять ключ безопасности в ПК\Сервер, на котором развернута система виртуализации.
Renga в WINE
Renga 5.1
Установка
Установка Renga 5.1 будет происходить на примере ОС ALT Linux Workstation 10 в актуальной версии W@E 7.20
На ПК должен быть установлен WINE@Etersoft
Переходим в каталог с дистрибутивом Renga 5.1 и запускаем скрипт установки приложения. $ wine_install_renga
В ходе установки скрипт создаст 64-битный префикс /.wine
и установит в него приложение, а также все необходимые компоненты winetricks.
Далее же появится мастер установки Renga 5.1 и предложит вам выбрать путь установки.
Renga 5.1 будет установлена в выбранном пользователем каталоге.
Известные проблемы
Есть вероятность, что скрипт не поставит приложение с первого раза, тогда необходимо просто запустить скрипт снова.
SmetaWIZARD в WINE
SmetaWIZARD 4
Установка
Установка SmetaWIZARD 4 будет происходить на примере ОС ALT Linux Workstation 10 в актуальной версии W@E 7.20
На ПК должен быть установлен WINE@Etersoft
Переходим в каталог с дистрибутивом SmetaWIZARD 4 и запускаем скрипт установки приложения. $ wine_install_smetawizard
В ходе установки скрипт создаст 64-битный префикс /.wine
и установит в него приложение, а также все необходимые компоненты winetricks.
Далее же появится мастер установки SmetaWIZARD 4 и предложит вам выбрать путь установки.
Renga 5.1 будет установлена в выбранном пользователем каталоге.
Известные проблемы
Если после установки воспроизведется ошибка формата </code> 0024:err:virtual:map_file_into_view failed to set PROT_EXEC on file map, noexec filesystem? </code>
Следует запретить выполнять двоичные файлы, находящиеся на этом диске, для этого
- Необходимо выполнить
$ mount | grep noexec
- Отредактировать в каталоге /etc/fstab 5-ю строку, убрав оттуда "noexec" после /home .
nanoCAD в WINE
nanoCAD
Установка
Установка nanoCAD будет происходить на примере ОС ALT Linux Workstation 10 в актуальной версии W@E 7.20
На ПК должен быть установлен WINE@Etersoft
Переходим в каталог с дистрибутивом nanoCAD и запускаем скрипт установки приложения.
$ wine_install_nanocad
В ходе установки скрипт создаст 64-битный префикс /.wine
и установит в него приложение, а также все необходимые компоненты winetricks.
Далее же появится мастер установки nanoCAD и предложит вам выбрать способ установки.
Для полноценной работы в nanoCAD потребуется лицензия.
APM в WINE
APM v19
Установка
Установка APM v19 будет происходить на примере ОС ALT Linux Workstation 10 в актуальной версии W@E 7.20
На ПК должен быть установлен WINE@Etersoft
Переходим в каталог с дистрибутивом APM v19 и запускаем скрипт установки приложения.
$ wine_install_apm
В ходе установки скрипт создаст 64-битный префикс /.wine
и установит в него приложение, а также все необходимые компоненты winetricks.
Далее появится мастер установки APM, для его установки и полноценной работы потребуется лицензия.
Налогоплательщик ЮЛ
Установка
Установка Налогоплательщик ЮЛ будет происходить на примере ОС ALT Linux Workstation 10 в актуальной версии W@E 7.20
На ПК должен быть установлен WINE@Etersoft
Переходим в каталог с дистрибутивом Налогоплательщик ЮЛ и запускаем установочный файл командой
$ wine NalogUL478.msi
где NalogUL478.msi — название скачанного файла.
В ходе установки wine создаст 64-битный префикс ~/.wine
и установит в него приложение.
Далее же появится мастер установки Налогоплательщик ЮЛ и предложит вам выбрать способ установки.
По завершению установки, на рабочем столе пользователя появится ярлык приложения. Налогоплательщик ЮЛ готов к работе.
ППДГР (Программа подготовки документов для государственной регистрации)
Установка
Установка ППДГР будет происходить на примере ОС ALT Linux Workstation 10 в актуальной версии W@E 7.20
На ПК должен быть установлен WINE@Etersoft
Переходим в каталог с дистрибутивом ППДГР и запускаем скрипт установки приложения.
$ wine_install_ppdgr
В ходе установки wine создаст 64-битный префикс /.wine
и установит в него приложение, а также все необходимые компоненты winetricks.
Далее же появится мастер установки ППДГР и предложит вам выбрать способ установки.
По завершению установки, на рабочем столе пользователя появится ярлык приложения.
СправкиБК в WINE
СправкиБК
Установка
Установка СправкиБК будет происходить на примере ОС ALT Linux Workstation 10 в актуальной версии W@E 9.0
На ПК должен быть установлен WINE@Etersoft
Переходим в каталог с дистрибутивом СправкиБК и запускаем скрипт установки приложения. $ wine_install_spravki
В ходе установки скрипт создаст 64-битный префикс /.wine
и установит в него приложение, а также все необходимые компоненты winetricks.
Далее же появится мастер установки СправкиБК и предложит вам выбрать путь установки.
СправкиБК будут установлены в выбранном пользователем каталоге.
Известные проблемы
Для работы СправкиБК необходимо наличие шрифтов Microsoft.
Если в ходе установки СправкиБК по скрипту возникла ошибка установки fonts-ttf-ms (например, из-за отсутствия пакета в репозиториях), их можно поставить отдельно командой $ winetricks corefonts
Среда для запуска приложений Windows
Почему вообще существует необходимость в WINE? Различные программы созданы для различных операционных систем, и большинство из них не будут работать на системах, для которых они не предназначены. Программы, предназначенные для Windows, не смогут работать в Линуксе, потому что не обнаружат привычного окружения (диска C:
, системных библиотек (DLL)).
Для того, кто желает пользоваться Windows и Линукс программами вместе, такая ситуация представляет собой фундаментальную проблему. Обычно проблема решается установкой и Windows и Линукс на один и тот же компьютер, что получило название двойная загрузка
. Когда нужна Windows программа, пользователь загружает компьютер в Windows и запускает программу; Когда нужна Линукс программа, пользователь перезагружает компьютер в Линукс. Эта практика весьма неудобна: пользователь вынужден терпеть неудобство частой перезагрузки машины, при этом программы с разных платформ не могут работать одновременно. Кроме того, наличие Windows в числе операционных систем на компьютере создает дополнительные трудности: программное обеспечение дорого, системе требует наблюдения (например, установки антивируса), требуется отдельный раздел жесткого диска, в том числе и для обмена данными между системами.
Тут нам и приходит на помощь WINE, позволяющий исполнять Windows-программы в Unix-системах.
Терминология
Поскольку речь идёт об использовании технологии, предоставляющей прослойку совместимости для запуска программ, разработанных для ОС Windows, на платформе GNU/Linux или другой Unix-подобной системе, возможна путаница в терминологии. Чтобы не путаться в том, какая именно система имеется в виду, мы будем придерживаться строго последовательного употребления терминов.
'host-система'
OC GNU/Linux или другая Unix-подобная система, в которой установлен и выполняется WINE.
'win-окружение'
Cреда, сформированная WINE, и фактически расположенная в host-системе.
'win-приложение'
Программа, разработанная для ОС Windows, которая выполняется в win-окружении.
'Windows'
Какая-либо операционная система семейства Windows. Упоминается только для сравнения.
Надеемся, что теперь читатель никогда не засомневается, о какой среде идёт речь, а если всё-таки это произойдёт, то он ещё раз заглянет в это краткое предисловие. Более полный глоссарий терминов приведён в последнем разделе.
Технология
Благодаря распространённости ОС Windows на сегодняшнем рынке очень многочисленны приложения, разработанные для этой платформы <ref>Здесь и далее мы будем называть такие приложения win-приложениями.</ref>. Однако зависимость коммерческого приложения от определённой платформы (ОС) может быть не всегда удобной или выгодной. На этот случай существуют средства, позволяющие программам, разработанным для ОС 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 может быть оформлено в виде модуля ядра Linux, и уровень теоретически доступных привилегий может измениться.
У данного ограничения есть и другая практическая сторона: в WINE нет поддержки низкоуровневого обращения к оборудованию (драйверов оборудования, прямой работы с USB-устройствами). Всё периферийное оборудование следует подключать и настраивать в host-системе: для win-приложений эти устройства могут быть доступны стандартным способом через файловую систему или другие стандартные интерфейсы (например, TWAIN для сканеров, который реализован в WINE как обёртка над библиотекой SANE). Ключи защиты, работающие через USB, используют предложенную в Windows шину USB, которая в WINE реализована через обращение к системной библиотеке libusb.
Наиболее распространённый способ применения WINE -- запуск двоичных win-приложений в Unix-среде. Удобство для пользователей и разработчиков заключается в том, что при этом не требуется никак изменять приложение -- один и тот же вариант годится и для Windows, и для WINE.
Другое, на сегодняшний день пользующееся незаслуженно меньшей популярностью применение -- с помощью WINE разработчики ПО могут компилировать свои win-приложения из исходных текстов непосредственно в двоичные исполняемые файлы для Unix. Опять-таки, это те же самые исходные тексты, из которых компилируются двоичные файлы для Windows.
Инструментарий, предоставляемый WINE, позволяет вести полный цикл разработки win-приложений в среде Linux, обучать программированию. Для создания исполняемых EXE-файлов, запускаемых как в WINE, так и в Windows, используется проект mingw.
WINE состоит из нескольких компонент:
libwine
Библиотека, предоставляющая все функции Win API для win-приложений. По количеству предоставляемых функций её можно сравнить с Qt -- столь широк спектр предлагаемых вызовов: от операций с файлами до построения графического интерфейса и обращения к базам данных.
wine
Среда для исполнения двоичных win-приложений, предоставляет программам окружение, неотличимое от Windows. Это окружение помимо Win API включает реестр, стандартные каталоги и файлы. Реестр является единственной изменяемой информацией, необходимой для работы WINE и win-приложений в нём.
стандартные программы
Некоторые типичные win-приложения: текстовый редактор (блокнот), файловый браузер и т. п.
средства разработки
Средства компиляции и отладки: имеются заголовочные файлы, которые описывают доступное API, компилятор winegcc, представляющий собой обёртку над gcc, отладчик winedbg и прочие вспомогательные утилиты.
Возможности
Стоит отдельно перечислить возможности, предоставляемые средой WINE@Etersoft:
- Поддержка запуска программ Win32 (Win 95/98, NT/2000/XP/Vista), Win16 (Win 3.1), и даже некоторых DOS-программ;
- Рабочий стол для win-программ внутри отдельного окна
- Поддержка различных звуковых драйверов, включая OSS и ALSA
- Поддержка драйверов устройств USB, поддержка электронных ключей защиты программ
- Поддержка сменных носителей (USB Flash)
- Печать: драйверы интерфейса PostScript (psdrv) для стандартного сервера печати CUPS
- Поддержка последовательного и параллельного портов
- Поддержка сетевого протокола TCP/IP через Winsock
- Поддержка универсальной кодировки символов (Юникода) и иностранных языков, включая русский и украинский.
- Поддержка DirectX и OpenGL для игр
- Полнофункциональная система отладки, настройки, фиксирования сбойных сообщений о неполадках для простоты поиска неисправностей
- Возможность использования файлов DLL от внешнего разработчика (например таких, какие входят в состав Windows)
Производительность
Насколько нам известно, WINE никогда не проходил тщательного профайлинга (измерения времени выполнения участков кода) и дальнейшей оптимизации, так что проблемы со скоростью работы представляются нам временным недостатком, а не особенностями архитектуры WINE. Это легко видно и при анализе исходного кода -- функции WINE написаны с целью быстрой и правильной реализации этих функций, задача оптимизации в ходе разработки не стояла на первом месте.
Существуют проекты по измерению скорости работы тех или иных функций (например, eterforcetest), результаты которых показывают что для ряда часто используемых функций WINE работает в 2-3 раза медленнее. Во многом это связано с отсутствием поддержки WINE в ядре Linux, все функции NT-ядра выполняет специальный процесс wineserver, обращение к которому намного дороже системного вызова к ядру.
Наиболее часто встречающиеся вопросы при использовании WINE@Etersoft
WINE@Etersoft и лицензии
- Q: А у меня и без вас всё работает в обычном Wine, зачем мне нужен WINE@Etersoft?
- A: Мы рады что у вас всё работает. К сожалению, большинство поддерживаемых нами программ имеет множество проблем при работе в обычном Wine, не всегда заметных с первого взгляда.
- Q: Вы ведёте разработку собственной ветки Wine, и давно отстали от последних достижений?
- A: Как правило, релизы WINE@Etersoft основаны на последнем или предпоследнем релизе Wine. Мы каждый день синхронизируемся с основным кодом Wine и в курсе всех изменений.
- Q: Моя любимая программа не работает ни в обычном Wine, ни в WINE@Etersoft, что мне делать?
- A: Попробуйте посмотреть, нет ли информации по этой программе в базе, занесите туда результаты Вашего тестирования, передайте своё пожелание нашей службе поддержки.
- Q: Wine имеет лицензию GPL, почему вы закрыли исходники??!
- A: Wine имеет лицензию Lesser GPL (LGPL), которая допускает линковку с закрытым кодом. Исходники Wine, как и наши патчи к нему, могут быть получены по запросу на wine@etersoft.ru, при условии наличия у Вас экземпляра WINE@Etersoft. Никакого нарушения соглашений.
- Q: Какую лицензию мне нужно приобрести для использования WINE@Etersoft на терминальном сервере?
- A: Для терминального сервера понадобится WINE@Etersoft 1.0 Network (терминальная лицензия), и скорее всего Вам потребуется RX@Etersoft для организации терминального доступа
- Q: Почему в состав WINE@Etersoft входит DCOM98 (Internet Explorer, большая часть Windows Vista и т.п.)? Это значит я должен иметь лицензию на Windows?
- A: Возможно, у Вас неверная информация. В WINE@Etersoft не входят никакие проприетарные компоненты, требующие дополнительных лицензий. Мы стараемся тщательно соблюдать авторские права разработчиков.
Общие вопросы
- Q: Какой дистрибутив Linux вы рекомендуете использовать для работы с Wine? Мне советовали использовать FreeBSD.
- A: Рекомендация зависит от многих факторов, здесь есть некоторые разъяснения.
- Q: Поддерживается ли Mac OS X, есть ли для него сборка WINE@Etersoft?
- A: У нас есть в планах добавление системы Mac OS X в поддержку, но пока слишком мало клиентов. Мы ждём крупного заказа на поддержку Mac OS X.
- Q: Можно ли установить WINE@Etersoft на Solaris?
- A: Публичных сборок под Solaris мы пока не делаем, но решение для Solaris у нас есть. Мы ждём крупного заказа на поддержку Solaris.
- Q: Почему нет русскоязычного форума, где можно обсудить работу Wine?
- A: Такой форум есть, добро пожаловать: UnixForum
- Q: Наша организация планирует использовать 1С: Предприятие на МСВС 3.0 (разработка ВНИИНС на основе Linux). Какая версия WINE@Etersoft нам подойдёт?
- A: Для МСВС разработан специальный вариант WINE@Etersoft для поддержки версий 1С 7.7 и 8.х, поставляемая по договору. Обратитесь в отдел продаж: sales@etersoft.ru.
- Q: Как установить Internet Explorer 6.0 (IE)?
- A: Запустите установку командой
$ ieinstall
. Подробнее можно прочитать в разделе документацииУстановка Internet Explorer
. При отсутствии установочных файлов IE в текущем каталоге они будут скачаны из Интернета. Обратите внимание, для использования IE нужно иметь лицензию на MS Windows.
- Q: Как запустить консольную Win32-программу, например Far?
- A: Запустите
$ wineconsole far.exe
в каталоге с программой.
- Q: Программа работает через прокси-сервер и не получает доступа к Интернет. Где это настроить?
- A: Проверьте в ветке реестра
HKEY_USERS\S-1-5-4\Software\Microsoft\Windows\CurrentVersion\Internet Settings
: параметрProxyEnable
должен быть установлен в 0,ProxyServer
хранить адрес прокси-сервера, например server: 3128.
- Q: В приложениях, запущенных под Wine, не работают некоторые горячие клавиши (например, в 1С
Ctrl-F3
иCtrl-F5
). - A: Некоторые комбинации клавиш используются в оконном менеджере (например KDE) и перехватываются раньше. Отключите их в настройках, и они заработают в Wine.
- Q: При запуске приложения получаем ошибку
preloader: Warning: failed to reserve range 00000000-XXXXXXXX
- A: Уточните решение в разделе
Изменение установленных в системе ограничений
документации по WINE@Etersoft.
- Q: При запуске приложения получаем ошибку
err:virtual:map_file_into_view shared writable mmap not supported, broken filesystem?
- A: Проверьте, что файловая система не смонтирована с параметром noexec. Также возможно используется файловая система с некоторыми проблемами (например, NTFS).
- Q: При запуска любой программы возникает ошибка: wine: failed to initialize:/usr/lib/wine/ntdll.dll.so: failed to map segment from shared object: Cannot allocate memory
- A: Проверьте ограничения на размер используемой памяти командой $ ulimit-a. Рекомендуется устанавливать предел виртуальной памяти в 1,5-2Гб или вообще не устанавливать ограничение (в файле/etc/security/limits.conf поле
as
- строка* hard as unlimited
- Q: В каком месте можно установить переменные окружения (например Path) для win-программ?
- A: Можно определить переменные окружения перед запуском программы, и они будут переданы в wine. Обратите внимание, что будет важен регистр букв имени переменной Path. Также можно добавить в ветку реестра
HKEY_CURRENT_USER/Environment
строку с определением своей переменной.
- Q: Есть ли поддержка 64-битных систем (x86_64)?
- A: На 64-битные системы, которые это поддерживают, можно установить 32-битную сборку WINE@Etersoft. Начиная с WINE@Etersoft 1.0.11, мы поддерживаем 64-битные версии ALT Linux и Ubuntu.
- Q: Мы запускаем XMing на Windows для того, чтобы подключиться к терминальному серверу, и у нас очень медленно всё прорисовывается. Что делать?
- A: В этом случае лучше не использовать XMing, а подключаться через NX-сервер.
- Q: Я хотел бы настроить совместную работу с файловой базой через NFS для Windows.
- A: Совместная работа программ под Windows и WINE посредством NFS невозможна. Используйте CIFS.
- Q: В программах, запущенных под WINE, не вводятся русские буквы (латинские буквы и цифры вводятся)
- A: Проблема в неверных настройках системной локали или локали Иксов. См. раздел документации
Проблемы ввода с клавиатуры
.
Печать
- Q: Как установить принтер по умолчанию?
- A: С помощью штатных средств вашей системы. Поищите программу настройки принтеров или обратитесь к веб-интерфейсу CUPS:
http://localhost:631
.
- Q: У меня система Debian (Ubuntu), и принтер не печатает.
- A: Проверьте, что установлен пакет cupsys-bsd и не установлен пакет lpr.
1С
- Q: Не удаётся открыть сразу две программы (базы) 1С 7.7. Причём первая всегда хорошо открывается, а вторая- падает при запуске.
- A: При открытии нескольких баз может быть превышен лимит на количество открытых файлов. См. раздел документации
Изменение установленных в системе ограничений
.
- Q: Всё правильно настроил, 1С запускается, спрашивает пароль, но вылетает сразу после появления заставки.
- A: Проверьте права на каталог с базой. Пользователь (или группа, в которую он входит) должен иметь права на чтение и запись всех файлов базы. Если вы используете WINE@Etersoft Network, воспользуйтесь скриптом
check_access /путь_к_базе
, он поможет выявить проблему с правами. Если используется NFS, проверьте что на нём включены блокировки. Если используется Samba, проверьте доступность файлов на запись на файловой системе сервера.
- Q: При установке 1С 8.1 возникает ошибка инсталлятора:
Внутренняя ошибка 2738 customPresetDefLang
- A: Воспользуйтесь WINE@Etersoft 1.0.8 или выше, где эта проблема решена.
- Q: При установке 1С 7.7 возникает сообщение об невозможности найти _setup.dll:
Setup is unable to find _SETUP.DLL...
. - A: Причина в том, что установка 1С запускается из каталога, в пути к которому присутствуют русские буквы. Скопируйте дистрибутив на диск
C:
или иным способом решите вопрос пути.
- Q: Хитрым способом установил 1С: Предприятие в обычный Wine, но она всё равно не работает.
- A: К сожалению, в обычном Wine программа 1С 7.7 должным образом не работает, из-за многих недочётов обычного Wine. См. http://etersoft.ru/wine/differences
- Q: При запуске 1С 7.7 появляется сообщение:
Порядок сортировки, установленный для базы данных, отличается от системного
. - A: Локаль, выводимая командой winediag, не является ru_RU.*, be_BY.* или uk_UA.*. Начиная с релиза 1С: Предприятия 7.70.26 появилась возможность отключать проверку порядка сортировки в 1С, создав пустой файл OrdNoChk.prm в каталоге базы или BIN (см. в конце ReadMe.txt в каталоге 1Cv77), но делать это стоит только если вы уверены в особенности своей локали. Если речь об SQL-версии, проблема может быть в настройках сервера.
- Q: При запуске 1С 7.7 в любом режиме получаю сообщение
плохой путь яяяя...\Container.Contents
- A: Возможно у Вас не установлена коммерческая часть WINE@Etersoft. Проверьте это командой winediag (если такой команды нет, значит коммерческая часть отсутствует).
- A: Возможно вы не удалили
~/.wine
перед установкой WINE@Etersoft. Удалите /. wine и повторите установку, проверив отсутствие проблем командой winediag.
- Q: При запуске 1С возникает ошибка
Ошибка загрузки метаданных
. - A: Проверьте права на чтение файла
1cv7.md
. Также возможно он повреждён или отсутствует.
- Q: При запуске 1С возникает ошибка
Невосстановимая ошибка базы данных
(Ошибка открытия словаря базы данных
) - A: Скорее всего каталог с базой пуст. Вам нужно выбрать рабочую базу или запустить конфигуратор.
- Q: Какие ресурсы сервера необходимы для работы 10 пользователей?
- A: Для 1С 7.7 с базой в 200-700Мб мы рекомендуем исходить из расчёта 60Мб ОЗУ и 100Мгц на пользователя. При использовании GNOME, OpenOffice.org, 1C на 10 пользователей рекомендуется 1Гб ОЗУ. Для уменьшения времени отклика системы рекомендуется использовать процессоры с несколькими ядрами. Для 1С 8.х мы рекомендуем предусмотреть около 250Мб памяти на пользователя и 200МГц процессора.
- Q: Используем общий ресурс, доступный через Samba, установлен WINE@Etersoft Network, но никак не получается одновременная работа с базой 1С.
- A: Работа с Samba возможна только через модуль CIFS, доработанный в Etersoft. Установите пакет etercifs и ознакомьтесь с разделом документации
Настройка совместной работы по протоколу CIFS
.
- Q: Почему у меня не работает совместный доступ к файлам со стороны программ, запущенных в Wine и Windows? Я использую WINE@Etersoft Network и монтирую сетевой ресурс через CIFS.
- A: Начиная с версии WINE@Etersoft 1.0.7 появилась поддержка CIFS и стала возможной совместная работа Windows- и Linux-клиентов. Лучше всего обратиться в службу поддержки.
- Q: На системе MOPSLinux не собирается модуль etercifs, что делать?
- A: В системе MOPS Linux 6.0/6.1 cifs вкомпилирован в ядро. Для использования etercifs требуется пересобрать ядро с указанием в config CONFIG_CIFS=m
- Q: Проблемы с работой ключа HASP -- имею ли я право как легальный пользователь
оторвать
его при помощи Sable/USP/..? - A: Посмотрите раздел о запрете отключения защиты, но лучше разберитесь в причине проблемы вместе с нашей службой поддержки.
- Q: При открытии базы 1С 7.7 выдается ошибка
C++ Runtime error R6025-pure virtual function call
. Нажимаю наOK
- 1С падает. Или при открытии базы появляется главное окно программы и молча закрывается. - A: Вероятно, у Вас не настроен файл NETHASP.INI. Нужно отключить broadcast. Обратитесь в раздел по настройке HASP руководства пользователя (http://etersoft.ru/content/view/56/#x23). Дополнительный симптом- иногда при запуске выдаётся сообщение о ненахождении ключа защиты.
- Q: SQL-версия 1C 7.7, работающая через SELTA, зависает при попытке подключиться к СУБД, с выдачей сообщения в лог: socket (): Семейство адресов не поддерживается протоколомsocket (): Семейство адресов не поддерживается протоколом (Address family not supported by protocol)
- A: Проверьте, что winecfg нормально запускается. Возможно, проблема в подключении к звуковой подсистеме. См. по логу при запуске через winelog, какая библиотека подгружается последней.
- Q: 1С: Предприятие 8.x не отображает HTML-страницы.
- A: Обновитесь до версии WINE@Etersoft 1.0.9 или выше, где это проблема решена.
Шрифты
- Q: На предварительном просмотре при печати шрифт стоит нормальный (например, Arial), но при распечатке шрифт становится совершенно другим.
- A: Для точного соответствия шрифтов необходимо установить пакет шрифтов MS Core Fonts (fonts-ttf-ms) или свободные шрифты Liberation (fonts-ttf-liberation). См. раздел
Использование WINE@Etersoft
в документации.
- Q: Почему вместо русских букв в программе знаки вопроса?
- A: Проверьте локаль командой
$ locale
. Она должна соответствовать вашим ожиданиям (ru_RU.UTF-8 или uk_UA.UTF-8). Скорее всего при установке системы был неверно выбран язык. Подробнее можно почитать здесь.
- Q: Почему такие плохие нечитаемые шрифты?
- A: Качество отображения шрифтов зависит от установленных в системе шрифтов, и от сборки freetype. Мы рекомендуем установить поставляемый нами пакет fonts-ttf-ms со шрифтами Core Fonts.
- Q: Как изменить размер системных шрифтов в WINE@Etersoft?
- A: Запустите программу настройки
winecfg
и выберите размер шрифта на вкладкеВид и интеграция
.
- Q: Как исправить наложение текста, которое возникает при использовании WINE в 2X Terminal Server или NoMachine?
- A: Установите нашу сборку NX-сервера.
Дополнительная информация
Online
На официальном сайте проекта WINE доступна самая свежая информация по WINE, сведения о разработке, включая дальнейшие планы, списки рассылки, исходные тексты WINE, списки работающих win-приложений, поддерживаемых функций WinAPI и множество другой информации.
Из русскоязычных ресурсов можно обратиться к проекту "Русский WINE", который позиционируется как ресурс, объединяющий русскоязычных пользователей WINE. Здесь большое внимание уделяется проблемам локализации WINE и запуска специфических приложений, актуальных для русскоязычных пользователей.
С конкретными практическими решениями на базе WINE@Etersoft, внедрениями, наиболее актуальными проблемами и путями их исправления можно ознакомиться, поделиться на сайте партнёров WINE.
Многие пользователи могут найти для себя полезным русскоязычный форум, посвящённый WINE.
Etersoft
Самая актуальная информация об обновлениях WINE@Etersoft, поддерживаемых приложениях, а также о дополнительных услугах по внедрению и эксплуатации WINE, предлагаемых компанией Etersoft, публикуется на сайте Etersoft.
Зарегистрированные пользователи WINE@Etersoft могут обращаться с вопросами и проблемами в службу технической поддержки Etersoft. Etersoft также принимает любые комментарии, замечания и предложения по развитию WINE и WINE@Etersoft.
Глоссарий
'Двоичный (Binary) файл'
- Файл, являющийся исполняемым (предназначенным для запуска).
'Виртуальная машина'
- Программная система, имитирующая работу реального компьютера, используя ресурсы компьютера на котором запущена. На виртуальную машину, так же как и на реальный компьютер может быть установлена операционная система.
'DLL'
- DLL (Dynamic Link Library)- файл, который может быть загружен и выполнен программой динамически. Чаще всего представляет собой внешние ресурсы для программы. Несколько программ могут использовать одну и ту же DLL. Синонимом DLL может являться библиотека
'сторонняя DLL'
- native DLL- библиотека DLL не из состава WINE, а установленная дополнительно
'встроенная DLL'
- builtin DLL- библиотека DLL, входящая в состав WINE
'Исходный код'
- Исходный код- это код, из которого состоит программа перед компиляцией, т.е. те самые оригинальные команды и инструкции, которые говорят компилятору, как будет выглядеть программа, и в процессе компилирования программа переходит в двоичный (исполняемый) вид.
'Редактор (Editor)'
- Редактор -- программа для создания и изменения текстовых файлов. Существует множество текстовых редакторов для Linux, как для графического режима,так и для текстового.
'host-система'
- OC Linux/Unix, в которой установлен и выполняется WINE.
'Пакет' (Package)
- Пакет -- это сжатый файл в специфичном для дистрибутива формате. Содержит все необходимые файлы для установки определенной программы. Пакеты устанавливаются с использованием специальных менеджеров пакетов.
'Переменные окружения'
- Переменные окружения используются в командной оболочке для хранения важных системных настроек.
'root'
- root -- имя учетной записи для системного администратора
'Терминал'
- Терминальное окно -- это графическое окно, предназначенное для выполнения команд оболочки (Shell).
'Эмулятор'
- Программа имитирующая работу других, зачастую более известных программных систем (в контексте данного пособия- операционных систем)
'win-окружение'
- Среда, сформированная WINE и фактически расположенная в host-системе.
'win-приложение'
- Программа, разработанная для ОС Windows и выполняемая в win-окружении.
'Windows'
- Какая-либо операционная система семейства Windows. Упоминается только для сравнения.
'Win API'
- Общее наименование целого набора базовых функций интерфейсов программирования приложений операционных систем семейств Windows
'Unix API'
- Общее наименование набора базовых функций интерфейсов программирования приложений операционных систем семейства Unix
'UNC'
- UNC (Universal Naming Convention) -- имя, соответствующее соглашению об универсальном назначении имен, полное имя ресурса в сети, включающее имя сервера и имя используемого ресурса (например,
\\server_name\share_name
).
Лицензия на документацию
Данный документ распространяется на условиях свободной лицензии FDL (Free Documentation License) версии 1.1 или любой более поздней версии. Данный документ не содержит текста, помещаемого на первой или последней странице обложки. Данный документ не содержит неизменяемого текста.
Заключение
Мы надеемся, что продукт WINE@Etersoft будет соответствовать вашим ожиданиям и будет пригоден для повседневной эксплуатации нужных вам программ.
В любом случае мы ждём ваших отзывов и предложений, направляйте их по адресу wine@etersoft.ru.
Команда разработчиков WINE@Etersoft.