Miranda under Wine: Difference between revisions

From Miranda NG
Jump to navigation Jump to search
(changed ru_RU locale to en_US)
No edit summary
(17 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{PageLang|en}}{{Languages/Wine}}
{{PageLang|en}}{{Languages/Wine}}
{{TNT|Warning|Starting from version 0.95.8 Miranda NG doesn't work under Wine due to [https://github.com/miranda-ng/miranda-ng/issues/1209 bug 1209].}}
Linux is not a natively supported operating system, but Miranda is known to run on Linux 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.


== Running Miranda NG in Wine ==
== Running Miranda NG in Wine ==
=== OS Settings ===
==== BSD ====
To get {{Plugin|CrashDumper}} plugin working you need to allow debugging for non-privileged users. This could be done by adding the following to <tt>sysctl</tt>:
<pre style="overflow:auto;">
security.bsd.unprivileged_proc_debug=1
</pre>
=== Creating a separate Wine profile for Miranda ===
=== Creating a separate Wine profile for Miranda ===
Create a separate directory for Wine to store its profile for work with Miranda:
Create a separate directory for Wine to store its profile for work with Miranda:
Line 16: Line 28:


=== Initializing Wine profile ===
=== Initializing Wine profile ===
The profile should be initialized as x32.
<pre style="overflow:auto;">
<pre style="overflow:auto;">
env WINEPREFIX=$HOME/.wines/miranda/ wine winecfg
env WINEPREFIX=$HOME/.wines/miranda/ wine winecfg
Line 31: Line 44:
* riched32.dll
* riched32.dll
* secur32.dll
* secur32.dll
* uxtheme.dll
You can download these files as an archive [https://miranda-ng.org/files/wine_dll.zip here].


Start Wine configurator again:
Start Wine configurator again:
Line 38: Line 53:
* On '''LIBRARIES''' tab select and add the above mentioned files.
* On '''LIBRARIES''' tab select and add the above mentioned files.
* On '''DESKTOP INTEGRATIONS''' tab uncheck all the items in '''Folder''' section.
* On '''DESKTOP INTEGRATIONS''' tab uncheck all the items in '''Folder''' section.
* On '''Drives''' tab select Z: and specify the path: <tt>/home/USER/.win_soft/Miranda_NG/</tt>
* On '''Drives''' tab leave only drive <tt>C:</tt>
* Click ''OK'' to close.




=== Installing Miranda NG ===
=== Installing Miranda NG ===
Copy Miranda NG files to directory <tt>$HOME/.win_soft/Miranda_NG/</tt>, also copy your Miranda database files here, e. g. in <tt>Profiles</tt> subdirectory.
* Copy Miranda NG files to directory <tt>$HOME/.wines/miranda/drive_c/Miranda_NG/</tt>, also copy your Miranda database files here, e. g. in <tt>Profiles</tt> subdirectory.
* Specify path to directory containing your Miranda database in <tt>ProfileDir=</tt> setting of [[mirandaboot.ini/en|mirandaboot.ini]].
* For SSL/TLS connections support you need to install {{Plugin|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 <tt> $HOME/.wines/miranda/drive_c/windows/system32/</tt> or to <tt>$HOME/.wines/miranda/drive_c/Miranda_NG/Libs</tt>
* Protocol plugins from Miranda distribution: {{While|tpl=Plugin|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.
* {{Plugin|Clist_modern}} hasn't been tested either; it is recommended that you use {{Plugin|Clist_nicer}} instead.
 
=== Starting Miranda NG ===
Sample script to start Miranda (you can save it as <tt>$HOME/.wines/miranda/drive_c/Miranda_NG/Miranda32.sh</tt>):
<pre style="overflow:auto;">
#!/bin/sh


Specify path to directory containing your Miranda database in <tt>ProfileDir=</tt> setting of [[mirandaboot.ini/en|mirandaboot.ini]].
export WINEPATH='c:\Miranda_NG\Libs'


cd $HOME/.wines/miranda/drive_c/Miranda_NG/


=== Starting 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
<pre style="overflow:auto;">
env WINEPREFIX=$HOME/.wines/miranda/ LANG=en_US.UTF-8 wine $HOME/.win_soft/Miranda_NG/Miranda32.exe
</pre>
</pre>
 
You can also run Miranda NG with <tt>wine Miranda32.exe</tt>.


== Differences under Wine ==
== Differences under Wine ==
Line 59: Line 81:


=== What doesn't work ===
=== What doesn't work ===
* SSL connections
* Copy text feature in {{Plugin|TabSRMM}} (works in {{Plugin|HistoryPP|History++}})
* Sometimes input language switches to English when TabSRMM window is inactive.
* 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''.
* Some settings cannot be viewed/changed, namely lists with icons next to checkboxes, e. g. {{Menu|Contact list|Extra icons}}.
* Keyboard LEDs won't flash on message received event ({{Plugin|KeyboardNotify}})
* Keyboard LEDs won't flash on message received event ({{Plugin|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.
* Received files folders are opened in ugly Wine explorer.
* Menus don't work occasionally: they close if a tooltip pops up.
* Menus don't work occasionally: they close if a tooltip pops up.
Line 73: Line 94:
=== What works ===
=== What works ===
Everything else
Everything 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 {{Plugin|MenuEx}} plugin.
* Create file <tt>$HOME/.wines/miranda/drive_c/windows/open_on_host_sys.sh</tt> with contents:
<pre style="overflow:auto;">
#!/bin/sh
/usr/local/bin/xdg-open "`/usr/local/bin/winepath -u \"$1\"`"
</pre>
* Mark it as executable: <tt>chmod +x $HOME/.wines/miranda/drive_c/windows/open_on_host_sys.sh</tt>
* Run registry editor: <tt>/usr/bin/env WINEPREFIX=$HOME/.wines/miranda/ LANG=en_US.UTF-8 /usr/local/bin/wine regedit</tt>
* Create key (subsection) <tt>command</tt> in section <tt>HKEY_CLASSES_ROOT\folder\shell\open</tt>
* In a created <tt>command</tt> key set default value: <tt>cmd /c start /b /min c:\windows\open_on_host_sys.sh "%1"</tt>
Pay attention to <tt>"cmd /c start"</tt> – the scripts won't run without it during testing.
If you have no <tt>xdg-open</tt> in your system, you can specify the name of you favourite file manager and necessary run keys, e.g. <tt>thunar</tt>. If you do use <tt>xdg-open</tt> you can also associate any file type with its default system application.
==== Further reading ====
* [https://wiki.winehq.org/FAQ#head-a2e0e85c30b3d9088d92f55bf8c783ebfefa7ce4 Wine FAQ 7.4]
* [https://wiki.winehq.org/winepath winepath]
* [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]
* [https://stackoverflow.com/questions/6004070/execute-shell-commands-from-program-running-in-wine stackoverflow: execute shell commands from program running in wine]
* [https://bugs.winehq.org/show_bug.cgi?id=12464 ShellExecute does not integrate well with external handlers]




== More about Wine ==
== More about Wine ==
* [http://wine-wiki.org/index.php/Advanced_Wine_User_Information Advanced Wine User Information]
* [http://wine-wiki.org/index.php/Advanced_Wine_User_Information Advanced Wine User Information]
* [http://wiki.winehq.org/winetricks Winetricks – a helper script to download and install various redistributable runtime libraries]
* [http://wine-wiki.org/index.php/WINEDLLPATH WINEDLLPATH]
 
* [http://www.kegel.com/wine/cl-howto-win7sdk.html Using Microsoft Windows 7 SDK on Linux]
* [https://wiki.winehq.org/winetricks Winetricks – a helper script to download and install various redistributable runtime libraries]
* [https://appdb.winehq.org/objectManager.php?sClass=version&iId=29828 Wine HQ - Miranda NG - official bug tracker for Miranda NG on Wine]
[[Category:Help]]
[[Category:Help]]

Revision as of 04:02, 5 December 2018

Warning
Starting from version 0.95.8 Miranda NG doesn't work under Wine due to bug 1209.

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.

Running Miranda NG in Wine

OS Settings

BSD

To get CrashDumper plugin working you need to allow debugging for non-privileged users. This could be done by adding the following to sysctl:

security.bsd.unprivileged_proc_debug=1


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):

  • msftedit.dll
  • msls31.dll
  • riched20.dll
  • riched32.dll
  • secur32.dll
  • uxtheme.dll

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: 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: Template:PluginsUnderWine

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 :)

What works

Everything 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.

Further reading


More about Wine