Installing SuperMemo on Linux is finally easier simpler.
This set of installers will allow you to run SuperMemo for Windows under Linux via Wine.
Product | Year released | Type | Installer |
---|---|---|---|
SuperMemo 9 (aka. 98) (?) | 1998 | Freeware (↗) | supermemo9.verb |
SuperMemo 12 (aka. 2004) (?) | 2004 | Freeware (↗) | supermemo12.verb |
SuperMemo 15.4 (?) | 2011 | Freeware (↗) | supermemo15_4.verb |
SuperMemo 15 (?) | 2011 | Freeware (↗) | supermemo15.verb |
SuperMemo 16 (?) | 2013 | Trial (↗) | supermemo16.verb |
SuperMemo 17 (?) | 2017 | Commercial (↗) | supermemo17.verb |
SuperMemo 18 (?) | 2019 | Commercial (↗) | supermemo18.verb |
The Wine SuperMemo experience is not as good as the Windows SuperMemo experience. Most core features are supported, save for incremental video, certain audio/video formats, and interaction with a running instance of Internet Explorer (e.g. the mass-import from browser feature is unusable). More importantly:
I deem the behavior of SuperMemo on Wine (on Linux specifically) appropriate for daily use.
—Me
To import HTML content into SuperMemo, use the clipboard, then run the any HTML filters within SuperMemo (F6) as needed.
For further guidance regarding installation, compatibility, configuration, troubleshooting, and more, there is a nifty document being worked on at SuperMemopedia: SuperMemo for Windows under Wine.
Do not blame SuperMemo creators for incompatibilities on unsupported systems. Regressions in Wine do happen, from time to time, and may affect your experience.
First, make sure to get Wine and winetricks for your system. Then, run one of the installers provided as verbs:
# create the prefix
env WINEARCH=win32 sh winetricks arch=32 prefix=[prefix name]
# install SuperMemo using the corresponding verb
sh winetricks prefix=[prefix name] [file.verb]
By default, wine prefixes created by winetricks will be stored in the folder ~/.local/share/wineprefixes/
.
Quirk: env WINEARCH=win32
is needed at the front to avoid creation of a 64-bit prefix when an existing, default Wine prefix is already 64-bit. Installation of the required Internet Explorer 8 dependency only succeeds on a 32-bit prefix.
To install SuperMemo 15 run:
env WINEARCH=win32 sh winetricks arch=32 prefix=supermemo15
sh winetricks prefix=supermemo15 supermemo15.verb
The root of the wine prefix will then be ~/.local/share/wineprefixes/supermemo15/
.
The installer takes care of running the installation of Internet Explorer 8 for SuperMemos that need it. This installation wizard needs to be attended. Any prompts to install updates, or restart the system can be safely ignored or followed (they have no consequence). Actually restarting the system is not needed.
Installation steps in SuperMemos using installation wizards are handled automatically. Avoid moving focus away from the install wizard window during installation.
- winetricks may have produced the only reproducible 32-bit Internet Explorer 8 installation recipe that is kept up to date; it is rather complex and maintaining a separate one requires resources better spent elsewhere.
- winetricks has convenient shell functions for basic dependency management, checking download integrity, detecting existing installations, graphical installer automation via AutoHotKey, among others.
- advanced users will know which bits of winetricks to use or discard.
The installers perform minimal configuration work. There are many convenient configuration steps to improve the behavior of SuperMemo, which are out of scope for these installers. However, consider the following:
Since wine prefixes can be removed with simple commands, it is recommended that you do not store new collection data inside the wine prefix. Do it in a dedicated folder that survives it, such as ~/sm/collections/
.
The canonical command to configure the wine prefix the software has been installed into is:
$ env WINEPREFIX=/path/to/wine/prefix winecfg
It is useful to disable handling of file associations with crippled Wine applications, so disable:
Wine configuration → Desktop integration → Mime types → [ ] Manage file associations.
On successful installation, an executable .desktop
shortcut (desktop entry file) to start the application will be created and made accesible via the configured application menu facility (in the Education category), with the Desktop folder as a fallback. Most desktop systems are configured to start programs by activating a .desktop
file
SuperMemo can also be run manually from the command line:
$ env WINEPREFIX=~/.local/share/wineprefixes/[prefix name] wine ~/.local/share/wineprefixes/[prefix name]/drive_c/SuperMemo/[executable name].exe
From the WineHQ Wiki (source):
Winetricks does not provide a way to uninstall individual apps or DLLs inside a Wine prefix. This is for several reasons, but mainly because the preferred way to uninstall anything in Wine is to simply install into a fresh Wine prefix.
Be sure to back up any data saved in C:\SuperMemo\ you might need.
To uninstall SuperMemo, simply delete the corresponding Wine prefix via winetricks annihilate
. For instance, to uninstall SuperMemo 15 from the winetricks-managed prefix named supermemo15, run:
$ sh winetricks prefix=supermemo15 annihilate
From the winetricks command-line help:
annihilate
Delete ALL DATA AND APPLICATIONS INSIDE THIS WINEPREFIX
See: Сhangelog.
supermemo-wine
uses literate programming to express and tangle its sources.