Miranda под Wine: Difference between revisions
No edit summary |
|||
Line 116: | Line 116: | ||
==== Литература ==== | ==== Литература ==== | ||
[http://ivnish.blogspot.nl/2011/09/wine-linux.html Заставляем Wine открывать документы нативными Linux-программами] | * [http://ivnish.blogspot.nl/2011/09/wine-linux.html Заставляем Wine открывать документы нативными Linux-программами] | ||
[http://wiki.winehq.org/FAQ#head-a2e0e85c30b3d9088d92f55bf8c783ebfefa7ce4 Wine FAQ 7.4]{{RefLang|en}} | * [http://wiki.winehq.org/FAQ#head-a2e0e85c30b3d9088d92f55bf8c783ebfefa7ce4 Wine FAQ 7.4]{{RefLang|en}} | ||
[http://wiki.winehq.org/winepath winepath]{{RefLang|en}} | * [http://wiki.winehq.org/winepath winepath]{{RefLang|en}} | ||
[http://askubuntu.com/questions/51325/how-to-associate-all-file-types-within-wine-with-its-corresponding-native-applic askubuntu: how to associate all file types within wine with its corresponding native application]{{RefLang|en}} | * [http://askubuntu.com/questions/51325/how-to-associate-all-file-types-within-wine-with-its-corresponding-native-applic askubuntu: how to associate all file types within wine with its corresponding native application]{{RefLang|en}} | ||
[http://stackoverflow.com/questions/6004070/execute-shell-commands-from-program-running-in-wine stackoverflow: execute shell commands from program running in wine]{{RefLang|en}} | * [http://stackoverflow.com/questions/6004070/execute-shell-commands-from-program-running-in-wine stackoverflow: execute shell commands from program running in wine]{{RefLang|en}} | ||
[https://bugs.winehq.org/show_bug.cgi?id=12464 ShellExecute does not integrate well with external handlers]{{RefLang|en}} | * [https://bugs.winehq.org/show_bug.cgi?id=12464 ShellExecute does not integrate well with external handlers]{{RefLang|en}} | ||
== Документация к Wine == | == Документация к Wine == |
Revision as of 19:49, 21 June 2015
Хотя Миранда изначально предназначена для работы только в Windows, тем не менее, возможен её запуск в Linux под Wine.
Описанные ниже действия испробованы в среде FreeBSD 10.1.
Запуск под Wine
Настройки OS
BSD
Для работы CrashDumper нужно разрешить отладку непривилегированным пользователям, для этого в sysctl необходимо выставить:
security.bsd.unprivileged_proc_debug=1
Создаём отдельный профиль Wine для Miranda NG
Создаём отдельную папку, где будем хранить профиль Wine для работы с Мирандой:
mkdir -p $HOME/.wines/miranda/
Если переменная $HOME у вас не определена, заменяйте на путь к профилю, например:
mkdir -p /home/USER/.wines/miranda/
Инициализируем профиль Wine
Профиль нужно инициализировать как x32.
env WINEPREFIX=$HOME/.wines/miranda/ wine winecfg
- Отказываемся от того, что предлагают установить (работать будет и без этого).
- На вкладке Applications выбираем Windows XP.
- Закрываем — OK.
Устанавливаем в профиль Wine библиотеки от Windows
В папку $HOME/.wines/miranda/drive_c/windows/system32/ копируем следующие dll от Windows XP x32 / Windows 2003 x32 (Библиотеки от Windows 7 x32 и выше не проверялись):
- msftedit.dll
- msls31.dll
- riched20.dll
- riched32.dll
- secur32.dll
Архив с файлами: wine_dll.zip
Снова запускаем конфигуратор:
env WINEPREFIX=$HOME/.wines/miranda/ wine winecfg
- На вкладке LIBRARIES добавляем файлы, которые скопировали выше.
- На вкладке DESKTOP INTEGRATIONS в разделе Folder проходим по всем пунктам и снимаем галочки.
- На вкладке Drives оставляем только диск C:
- Закрываем — OK.
Устанавливаем Miranda NG
- В папку $HOME/.wines/miranda/Miranda_NG/ копируем Miranda NG и там же размещаем профили пользователей, например в папке Profiles.
- Вносим правки в файл mirandaboot.ini, ключ ProfileDir=
- Если требуется поддержка SSL/TLS соединений, то необходимо установить плагин OpenSSL и библиотеки (x32 версию), как описано на странице плагина. Если SSL не заработал, то скопируйте библиотеки OpenSSL также в папку $HOME/.wines/miranda/drive_c/windows/system32/ либо в $HOME/.wines/miranda/Miranda_NG/Libs
- Плагины из дистрибутива: AIM, Facebook, GG, MSN, Yahoo не проверялись на работу под Wine и могут вызвать проблемы, поэтому желательно их удалить. Проверять их работу лучше по одному, после успешного запуска.
- Clist_modern тоже не проверялся — рекомендуется использовать Clist_nicer.
Запускаем
Скрипт для запуска (можно сохранить как $HOME/.wines/miranda/drive_c/Miranda_NG/Miranda32.sh):
#!/bin/sh export WINEPATH='c:\Miranda_NG\Libs' cd $HOME/.wines/miranda/drive_c/Miranda_NG/ /usr/bin/env WINEPREFIX=$HOME/.wines/miranda/ LANG=ru_RU.UTF-8 /usr/local/bin/wine $HOME/.wines/miranda/drive_c/Miranda_NG/Miranda32.exe
Особенности под Wine
Проверена работа Миранды со следующими плагинами: Template:PluginsUnderWine
Что не работает
- Иногда язык ввода сам переключается на английский, когда окно TabSRMM неактивно.
- Некоторые настройки невозможно изменить/увидеть: списки, в которых галочки и иконки рядом, например: Список контактов → Экстра значки (Contact list → Extra icons)
- При поступлении сообщений индикаторы клавиатуры не мигают (KeyboardNotify)
- Drag-n-Drop для передачи файлов. Файлы для передачи должны размещатся в папке, к которой у Wine есть доступ.
- Папки с файлами контактов открываются в вайновском убогом проводнике.
- Меню не всегда срабатывают: если вылезает всплывающая подсказка, то они закрываются.
- Темы оформления окон из семёрки, только классический вид Windows XP.
- Обилие анимированных смайлов сильно нагружает CPU.
- У многих смайлов образовался фон, в Windows он был прозрачным, здесь белый.
- Скорее всего, что-то ещё :)
Что работает
- Всё остальное
Дополнительные настройки Wine
Эти настройки не обязательны, но могут повысить комфорт.
Открытие папок в файл менеджере системы
По умолчанию wine открывает папку в своём проводнике, это не всегда удобно, например при использовании плагина MenuItemEx удобнее просматривать полученные от контакта файлы через файл менеджер системы.
- Создаём файл $HOME/.wines/miranda/drive_c/windows/open_on_host_sys.sh с таким содержанием:
#!/bin/sh /usr/local/bin/xdg-open "`/usr/local/bin/winepath -u \"$1\"`"
- Помечаем его как исполняемый: chmod +x $HOME/.wines/miranda/drive_c/windows/open_on_host_sys.sh
- Запускаем редактор реестра: /usr/bin/env WINEPREFIX=$HOME/.wines/miranda/ LANG=ru_RU.UTF-8 /usr/local/bin/wine regedit
- В разделе: HKEY_CLASSES_ROOT\folder\shell\open создаём ключ (подраздел): command
- В созданном разделе command устанавливаем значение по умолчанию: cmd /c start /b /min c:\windows\open_on_host_sys.sh "%1"
Без "cmd /c start" у меня скрипты не исполнялись. Если xdg-open в системе нет, можно прописать название файлового менджера который вы используете и желаемые ключи запуска, например: thunar. В случае использования xdg-open аналогичным образом можно настроить открытые любых других типов файлов программами используемыми по умолчанию в системе.
Литература
- Заставляем Wine открывать документы нативными Linux-программами
- Wine FAQ 7.4 (англ.)
- winepath (англ.)
- askubuntu: how to associate all file types within wine with its corresponding native application (англ.)
- stackoverflow: execute shell commands from program running in wine (англ.)
- ShellExecute does not integrate well with external handlers (англ.)