Miranda под Wine

From Miranda NG
Revision as of 04:03, 5 December 2018 by Dart Raiden (talk | contribs)
Jump to navigation Jump to search
Warning
Начиная с версии 0.95.8, Миранда не работает под Wine из-за ошибки 1209.

Хотя Миранда изначально предназначена для работы только в 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
  • uxtheme.dll

Архив с файлами: wine_dll.zip

Снова запускаем конфигуратор:

env WINEPREFIX=$HOME/.wines/miranda/ wine winecfg
  • На вкладке LIBRARIES добавляем файлы, которые скопировали выше.
  • На вкладке DESKTOP INTEGRATIONS в разделе Folder проходим по всем пунктам и снимаем галочки.
  • На вкладке Drives оставляем только диск C:
  • Закрываем — OK.


Устанавливаем Miranda NG

  • В папку $HOME/.wines/miranda/drive_c/Miranda_NG/ копируем Miranda NG и там же размещаем профили пользователей, например в папке Profiles.
  • Вносим правки в файл mirandaboot.ini, ключ ProfileDir=
  • Если требуется поддержка SSL/TLS соединений, то необходимо установить плагин OpenSSL и библиотеки (x32 версию), как описано на странице плагина. Если SSL не заработал, то скопируйте библиотеки OpenSSL также в папку $HOME/.wines/miranda/drive_c/windows/system32/ либо в $HOME/.wines/miranda/drive_c/Miranda_NG/Libs
  • Плагины из дистрибутива: Facebook, GG, MSN не проверялись на работу под 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