Miranda under Wine
Linux is not a natively supported operating system, but Miranda is known to run on Linux under Wine.
The following article was tested in FreeBSD 10.1.
- 1 Running Miranda NG in Wine
- 2 Differences under Wine
- 3 Additional Wine settings
- 4 More about Wine
Running Miranda NG in Wine
To get CrashDumper plugin working you need to allow debugging for non-privileged users. This could be done by adding the following to sysctl:
Creating a separate Wine profile for Miranda
Create a separate directory for Wine to store its profile for work with Miranda:
mkdir -p $HOME/.wines/miranda/
If $HOME variable isn't defined, replace it with path to your profile:
mkdir -p /home/USER/.wines/miranda/
Initializing Wine profile
The profile should be initialized as x32.
env WINEPREFIX=$HOME/.wines/miranda/ wine winecfg
- Decline installing the stuff (It's not needed to run Miranda).
- Select Windows XP on Applications tab.
- Click OK to close.
Installing Windows libraries into Wine profile
Copy the following DLLs from Windows XP x32 or Windows 2003 x32 to directory $HOME/.wines/miranda/drive_c/windows/system32/ (Libraries from Windows 7 x32 and higher haven't been tested):
You can download these files as an archive here.
Start Wine configurator again:
env WINEPREFIX=$HOME/.wines/miranda/ wine winecfg
- On LIBRARIES tab select and add the above mentioned files.
- On DESKTOP INTEGRATIONS tab uncheck all the items in Folder section.
- On Drives tab leave only drive C:
Installing Miranda NG
- Copy Miranda NG files to directory $HOME/.wines/miranda/drive_c/Miranda_NG/, also copy your Miranda database files here, e. g. in Profiles subdirectory.
- Specify path to directory containing your Miranda database in ProfileDir= setting of mirandaboot.ini.
- For SSL/TLS connections support you need to install OpenSSL plugin and libraries (x32 version) as it is described on the plugin's page. If SSL still doesn't work, copy OpenSSL libraries to directory $HOME/.wines/miranda/drive_c/windows/system32/ or to $HOME/.wines/miranda/drive_c/Miranda_NG/Libs
- Protocol plugins from Miranda distribution: AIM, Facebook, GG, MSN haven't been tested under Wine and may cause problems, so it's better to delete them. Add them one by one after Miranda starts successfully.
- Clist_modern hasn't been tested either; it is recommended that you use Clist_nicer instead.
Starting Miranda NG
Sample script to start Miranda (you can save it as $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=en_US.UTF-8 /usr/local/bin/wine $HOME/.wines/miranda/drive_c/Miranda_NG/Miranda32.exe
You can also run Miranda NG with wine Miranda32.exe.
Differences under Wine
Miranda NG was tested under Wine with the following plugins:
What doesn't work
- Sometimes input language switches to English when TabSRMM window is inactive.
- Some settings cannot be viewed/changed, namely lists with icons next to checkboxes, e. g. Contact list → Extra icons.
- Keyboard LEDs won't flash on message received event (KeyboardNotify)
- Drag-n-Drop for file transfers. Files for sending should be placed to the directory to which Wine has access granted.
- Received files folders are opened in ugly Wine explorer.
- Menus don't work occasionally: they close if a tooltip pops up.
- Themes from Windows 7, only classic Windows XP look is available.
- Lots of animated smileys cause high CPU usage.
- Many smileys have got white background (was transparent in Windows).
- Probably something else :)
Additional Wine settings
The following settings are not necessary, but may improve usability.
Opening folders in the system file manager
By default Wine opens received files folder in its own explorer. You may find it more comfortable to view files that you receive from your contacts in your system file manager, e.g. when using MenuEx plugin.
- Create file $HOME/.wines/miranda/drive_c/windows/open_on_host_sys.sh with contents:
#!/bin/sh /usr/local/bin/xdg-open "`/usr/local/bin/winepath -u \"$1\"`"
- Mark it as executable: chmod +x $HOME/.wines/miranda/drive_c/windows/open_on_host_sys.sh
- Run registry editor: /usr/bin/env WINEPREFIX=$HOME/.wines/miranda/ LANG=en_US.UTF-8 /usr/local/bin/wine regedit
- Create key (subsection) command in section HKEY_CLASSES_ROOT\folder\shell\open
- In a created command key set default value: cmd /c start /b /min c:\windows\open_on_host_sys.sh "%1"
Pay attention to "cmd /c start" – the scripts won't run without it during testing.
If you have no xdg-open in your system, you can specify the name of you favourite file manager and necessary run keys, e.g. thunar. If you do use xdg-open you can also associate any file type with its default system application.
- Wine FAQ 7.4
- 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