Miranda под Wine
Хотя Миранда изначально предназначена для работы только в Windows, тем не менее, возможен её запуск в Linux под Wine.
Описанные ниже действия испробованы в среде Ubuntu 20.10.
Настройки OS
BSD
Для работы CrashDumper нужно разрешить отладку непривилегированным пользователям, для этого в sysctl необходимо выставить:
security.bsd.unprivileged_proc_debug=1
Linux
На данный момент Miranda NG корректно работает лишь в ветке Wine staging, поэтому удалите установленный Wine и установите winehq-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
- Отказываемся от того, что предлагают установить (работать будет и без этого).
- Закрываем — 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
Select SQLite database driver and enter the desired database name. Tick "Start in service mode with: Import" if you already have Miranda database (for example, from Windows system) and want to keep using it. Press Create button (and perform import from the old database if you choose import on the previous step).
Дополнительные настройки 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 открывать документы нативными 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 (англ.)