Miranda под Wine: Difference between revisions

From Miranda NG
Jump to navigation Jump to search
No edit summary
No edit summary
 
(12 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{PageLang|ru}}{{Languages/Wine}}
{{PageLang|ru}}{{Languages/Wine}}


{{TNT|Warning|Начиная с версии 0.95.8, Миранда не работает под Wine из-за [https://github.com/miranda-ng/miranda-ng/issues/1209 ошибки 1209].}}
Хотя Миранда изначально предназначена для работы только в Windows, тем не менее, возможен её запуск в Linux под Wine.


Хотя Миранда изначально предназначена для работы только в Windows, тем не менее, возможен её запуск в Linux под Wine.
{{TNT|Note|Описанные ниже действия испробованы в среде Ubuntu 21.10.}}


Описанные ниже действия испробованы в среде FreeBSD 10.1.
{{TNT|Important|Архитектура Миранды (32- или 64-разрядная) должна совпадать с архитектурой дистрибутива Linux. В дальнейших примерах предполагается, что архитектура 64-разрядная.}}


== Запуск под Wine ==
== Настройки OS ==
=== Настройки OS ===
=== BSD ===
==== BSD ====
Для работы {{Plugin|CrashDumper}} нужно разрешить отладку непривилегированным пользователям, для этого в <tt>sysctl</tt> необходимо выставить:
Для работы {{Plugin|CrashDumper}} нужно разрешить отладку непривилегированным пользователям, для этого в <tt>sysctl</tt> необходимо выставить:
<pre style="overflow:auto;">
<pre style="overflow:auto;">
Line 15: Line 14:
</pre>
</pre>


=== Linux ===
{{TNT|Note|Начиная с Wine 7.0, Миранда корректно работает под wine-stable. Если вы используете более раннюю версию Wine, установите wine-staging.}}


=== Создаём отдельный профиль Wine для Miranda NG ===
== Создаём отдельный профиль Wine для Miranda NG ==
Создаём отдельную папку, где будем хранить профиль Wine для работы с Мирандой:
Создаём отдельную папку, где будем хранить профиль Wine для работы с Мирандой:
<pre style="overflow:auto;">
<pre style="overflow:auto;">
Line 26: Line 27:
</pre>
</pre>


 
== Инициализируем профиль Wine ==
=== Инициализируем профиль Wine ===
Профиль нужно инициализировать как x32.
<pre style="overflow:auto;">
<pre style="overflow:auto;">
env WINEPREFIX=$HOME/.wines/miranda/ wine winecfg
env WINEPREFIX=$HOME/.wines/miranda/ wine winecfg -v 2003
</pre>
</pre>
* Отказываемся от того, что предлагают установить (работать будет и без этого).
* Отказываемся от того, что предлагают установить (работать будет и без этого).
* На вкладке '''Applications''' выбираем Windows XP.
* Закрываем — {{Button|OK}}.
* Закрываем — {{Button|OK}}.


== Устанавливаем Miranda NG ==
* [[Downloads|Загружаем]] архив, содержащий портативную 64-разрядную Miranda NG.
* В папку <tt>$HOME/.wines/miranda/drive_c/Miranda_NG/</tt> копируем файлы из архива.


=== Устанавливаем в профиль Wine библиотеки от Windows ===
== Запускаем ==
В папку <tt>$HOME/.wines/miranda/drive_c/windows/system32/</tt> копируем следующие dll от Windows XP x32 / Windows 2003 x32 (Библиотеки от Windows 7 x32 и выше не проверялись):
* msftedit.dll
* msls31.dll
* riched20.dll
* riched32.dll
* secur32.dll
* uxtheme.dll
Архив с файлами: [https://miranda-ng.org/files/wine_dll.zip wine_dll.zip]
 
Снова запускаем конфигуратор:
<pre style="overflow:auto;">
env WINEPREFIX=$HOME/.wines/miranda/ wine winecfg
</pre>
* На вкладке '''LIBRARIES''' добавляем файлы, которые скопировали выше.
* На вкладке '''DESKTOP INTEGRATIONS''' в разделе '''Folder''' проходим по всем пунктам и снимаем галочки.
* На вкладке '''Drives''' оставляем только диск <tt>C:</tt>
* Закрываем — {{Button|OK}}.
 
 
=== Устанавливаем Miranda NG ===
* В папку <tt>$HOME/.wines/miranda/drive_c/Miranda_NG/</tt> копируем Miranda NG и там же размещаем профили пользователей, например в папке <tt>Profiles</tt>.
* Вносим правки в файл [[mirandaboot.ini/ru|mirandaboot.ini]], ключ <tt>ProfileDir=</tt>
* Если требуется поддержка SSL/TLS соединений, то необходимо установить плагин {{Plugin|OpenSSL}} и библиотеки (x32 версию), как описано на странице плагина. Если SSL не заработал, то скопируйте библиотеки OpenSSL также в папку <tt>$HOME/.wines/miranda/drive_c/windows/system32/</tt> либо в <tt>$HOME/.wines/miranda/drive_c/Miranda_NG/Libs</tt>
* Плагины из дистрибутива: {{While|tpl=Plugin|Facebook|GG|MSN}} не проверялись на работу под Wine и могут вызвать проблемы, поэтому желательно их удалить. Проверять их работу лучше по одному, после успешного запуска.
* {{Plugin|Clist_modern}} тоже не проверялся — рекомендуется использовать {{Plugin|Clist_nicer}}.
 
=== Запускаем ===
Скрипт для запуска (можно сохранить как <tt>$HOME/.wines/miranda/drive_c/Miranda_NG/Miranda32.sh</tt>):
Скрипт для запуска (можно сохранить как <tt>$HOME/.wines/miranda/drive_c/Miranda_NG/Miranda32.sh</tt>):
<pre style="overflow:auto;">
<pre style="overflow:auto;">
#!/bin/sh
#!/bin/sh
export WINEPATH='c:\Miranda_NG\Libs'
cd $HOME/.wines/miranda/drive_c/Miranda_NG/
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
env WINEPREFIX=$HOME/.wines/miranda/ wine Miranda64.exe
</pre>
</pre>


 
Запускаем скрипт и задаём желаемое имя базы. Отметьте «Запуск в служебном режиме: Import», если у вас уже есть база (например, перенесённая с Windows) и вы хотите и дальше её использовать. Нажимаем {{Button|Создать}} (и выполняем импорт из старой базы, если выбирали импорт на предыдущем шаге).
== Особенности под Wine ==
Проверена работа Миранды со следующими плагинами:
{{PluginsUnderWine|Нажмите, чтобы показать/скрыть список}}
 
=== Что не работает ===
* Иногда язык ввода сам переключается на английский, когда окно TabSRMM неактивно.
* Некоторые настройки невозможно изменить/увидеть: списки, в которых галочки и значки рядом, например: {{Menu|Список контактов|Экстра значки}} (Contact list → Extra icons)
* При поступлении сообщений индикаторы клавиатуры не мигают ({{Plugin|KeyboardNotify}})
* Drag-n-Drop для передачи файлов. Файлы для передачи должны размещатся в папке, к которой у Wine есть доступ.
* Папки с файлами контактов открываются в вайновском убогом проводнике.
* Меню не всегда срабатывают: если вылезает всплывающая подсказка, то они закрываются.
* Темы оформления окон из семёрки, только классический вид Windows XP.
* Обилие анимированных смайлов сильно нагружает CPU.
* У многих смайлов образовался фон, в Windows он был прозрачным, здесь белый.
* Скорее всего, что-то ещё :)
 
=== Что работает ===
* Всё остальное
 


== Дополнительные настройки Wine ==
== Дополнительные настройки Wine ==
Эти настройки не обязательны, но могут повысить комфорт.
Эти настройки не обязательны, но могут повысить комфорт.


=== Открытие папок в файл менеджере системы ===
=== Открытие папок в системном файловом менеджере ===
По умолчанию wine открывает папку в своём проводнике, это не всегда удобно, например при использовании плагина {{Plugin|MenuEx|MenuItemEx}} удобнее просматривать полученные от контакта файлы через файл-менеджер системы.
По умолчанию wine открывает папку в своём проводнике, это не всегда удобно, например при использовании плагина {{Plugin|MenuEx|MenuItemEx}} удобнее просматривать полученные от контакта файлы через системный файловый менеджер.


* Создаём файл $HOME/.wines/miranda/drive_c/windows/open_on_host_sys.sh с таким содержанием:
* Создаём файл <tt>$HOME/.wines/miranda/drive_c/windows/open_on_host_sys.sh</tt> с таким содержанием:
<pre style="overflow:auto;">
<pre style="overflow:auto;">
#!/bin/sh
#!/bin/sh


/usr/local/bin/xdg-open "`/usr/local/bin/winepath -u \"$1\"`"
xdg-open "`winepath -u \"$1\"`"
</pre>
</pre>
* Помечаем его как исполняемый: chmod +x $HOME/.wines/miranda/drive_c/windows/open_on_host_sys.sh
* Помечаем его как исполняемый: <tt>chmod +x $HOME/.wines/miranda/drive_c/windows/open_on_host_sys.sh</tt>
* Запускаем редактор реестра: /usr/bin/env WINEPREFIX=$HOME/.wines/miranda/ LANG=ru_RU.UTF-8 /usr/local/bin/wine regedit
* Запускаем редактор реестра: <tt>env WINEPREFIX=$HOME/.wines/miranda/ wine regedit</tt>
* В разделе: HKEY_CLASSES_ROOT\folder\shell\open создаём ключ (подраздел): command
* В разделе: <tt>HKEY_CLASSES_ROOT\folder\shell\open</tt> создаём ключ (подраздел): <tt>command</tt>
* В созданном разделе command устанавливаем значение по умолчанию: cmd /c start /b /min c:\windows\open_on_host_sys.sh "%1"
* В созданном разделе <tt>command</tt> устанавливаем значение по умолчанию: <tt>cmd /c start /b /min c:\windows\open_on_host_sys.sh "%1"</tt>
 
Без <tt>"cmd /c start"</tt> у меня скрипты не исполнялись.


Без "cmd /c start" у меня скрипты не исполнялись.
Если <tt>xdg-open</tt> в системе нет, можно прописать название файлового менджера который вы используете и желаемые ключи запуска, например: <tt>thunar</tt>. В случае использования <tt>xdg-open</tt> аналогичным образом можно настроить открытые любых других типов файлов программами используемыми по умолчанию в системе.
Если xdg-open в системе нет, можно прописать название файлового менджера который вы используете и желаемые ключи запуска, например: thunar.
В случае использования xdg-open аналогичным образом можно настроить открытые любых других типов файлов программами используемыми по умолчанию в системе.


==== Документация ====
=== Документация ===
* [https://ivnish.blogspot.nl/2011/09/wine-linux.html Заставляем Wine открывать документы нативными Linux-программами]
* [https://wiki.winehq.org/FAQ Wine FAQ]{{RefLang|en}}
* [https://wiki.winehq.org/FAQ#head-a2e0e85c30b3d9088d92f55bf8c783ebfefa7ce4 Wine FAQ 7.4]{{RefLang|en}}
* [https://wiki.winehq.org/Winepath winepath]{{RefLang|en}}
* [https://wiki.winehq.org/winepath winepath]{{RefLang|en}}
* [https://askubuntu.com/questions/51325/how-to-associate-all-file-types-within-wine-with-its-corresponding-native-applic Ask Ubuntu: How to associate all file types within Wine with its corresponding native application?]{{RefLang|en}}
* [https://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}}
* [https://stackoverflow.com/questions/6004070/execute-shell-commands-from-program-running-in-wine Stack Overflow: Execute Shell Commands from Program running in WINE]{{RefLang|en}}
* [https://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 ==
* [http://wine-wiki.org/index.php/Advanced_Wine_User_Information Advanced Wine User Information]{{RefLang|en}}
* [https://ru.wikibooks.org/wiki/LOR-FAQ-Wine FAQ по Wine в Викиучебнике]
* [http://wine-wiki.org/index.php/WINEDLLPATH WINEDLLPATH]{{RefLang|en}}
* [https://web.archive.org/web/20151127234841/http://wine-wiki.org:80/index.php/Advanced_Wine_User_Information Advanced Wine User Information]{{RefLang|en}}
* [http://www.kegel.com/wine/cl-howto-win7sdk.html Using Microsoft Windows 7 SDK on Linux]{{RefLang|en}}
* [http://www.kegel.com/wine/cl-howto-win7sdk.html Using Microsoft Windows 7 SDK on Linux]{{RefLang|en}}
* [https://ru.wikibooks.org/wiki/LOR-FAQ-Wine FAQ по Wine в Викиучебнике]
* [https://wiki.winehq.org/Winetricks Winetricks — скрипт для загрузки и установки распространённых исполняемых библиотек]
* [https://wiki.winehq.org/winetricks_ru Winetricks — скрипт для загрузки и установки распространённых исполняемых библиотек]
* [https://appdb.winehq.org/objectManager.php?sClass=version&iId=29828 Wine HQ - Miranda NG - official bug tracker for Miranda NG on Wine]{{RefLang|en}
 
[[Category:Help/ru]]
[[Category:Помощь]]

Latest revision as of 18:06, 5 August 2023

Хотя Миранда изначально предназначена для работы только в Windows, тем не менее, возможен её запуск в Linux под Wine.

Note
Описанные ниже действия испробованы в среде Ubuntu 21.10.
Important
Архитектура Миранды (32- или 64-разрядная) должна совпадать с архитектурой дистрибутива Linux. В дальнейших примерах предполагается, что архитектура 64-разрядная.

Настройки OS

BSD

Для работы CrashDumper нужно разрешить отладку непривилегированным пользователям, для этого в sysctl необходимо выставить:

security.bsd.unprivileged_proc_debug=1

Linux

Note
Начиная с Wine 7.0, Миранда корректно работает под wine-stable. Если вы используете более раннюю версию Wine, установите wine-staging.

Создаём отдельный профиль Wine для Miranda NG

Создаём отдельную папку, где будем хранить профиль Wine для работы с Мирандой:

mkdir -p $HOME/.wines/miranda/

Если переменная $HOME у вас не определена, заменяйте на путь к профилю, например:

mkdir -p /home/USER/.wines/miranda/

Инициализируем профиль Wine

env WINEPREFIX=$HOME/.wines/miranda/ wine winecfg -v 2003
  • Отказываемся от того, что предлагают установить (работать будет и без этого).
  • Закрываем — OK.

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

  • Загружаем архив, содержащий портативную 64-разрядную Miranda NG.
  • В папку $HOME/.wines/miranda/drive_c/Miranda_NG/ копируем файлы из архива.

Запускаем

Скрипт для запуска (можно сохранить как $HOME/.wines/miranda/drive_c/Miranda_NG/Miranda32.sh):

#!/bin/sh
cd $HOME/.wines/miranda/drive_c/Miranda_NG/

env WINEPREFIX=$HOME/.wines/miranda/ wine Miranda64.exe

Запускаем скрипт и задаём желаемое имя базы. Отметьте «Запуск в служебном режиме: Import», если у вас уже есть база (например, перенесённая с Windows) и вы хотите и дальше её использовать. Нажимаем Создать (и выполняем импорт из старой базы, если выбирали импорт на предыдущем шаге).

Дополнительные настройки Wine

Эти настройки не обязательны, но могут повысить комфорт.

Открытие папок в системном файловом менеджере

По умолчанию wine открывает папку в своём проводнике, это не всегда удобно, например при использовании плагина MenuItemEx удобнее просматривать полученные от контакта файлы через системный файловый менеджер.

  • Создаём файл $HOME/.wines/miranda/drive_c/windows/open_on_host_sys.sh с таким содержанием:
#!/bin/sh

xdg-open "`winepath -u \"$1\"`"
  • Помечаем его как исполняемый: chmod +x $HOME/.wines/miranda/drive_c/windows/open_on_host_sys.sh
  • Запускаем редактор реестра: env WINEPREFIX=$HOME/.wines/miranda/ 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