Giter VIP home page Giter VIP logo

supermemo18-on-wine's Introduction

SuperMemo18.05-WINE32

安装步骤:

如果想最快上手(无需手动配置)

Debian / Ubuntu

wget https://github.com/Zacharia2/SuperMemo18-ON-Wine/releases/download/v1.4.0.1/SuperMemo18.05-lazy-winetricks.v1.4.0.1.deb \
&& sudo dpkg -i ./SuperMemo18.05-lazy-winetricks.v1.4.0.1.deb

Arch / Manjaro

aur

paru -S supermemo18.05-git

文件说明

  • SM18.05-WINE-Vessel文件夹
    • SuperMemo容器环境(仅含Supermemo软件的bin配置目录,请不要覆盖此文件夹(SuperMemo/bin)中的配置文件),分离软件用于保持环境整洁。
  • SM18.05-WINE-Vessel/README.md
    • SuperMemo容器环境使用教程。(仅限Linux)
  • docs/Instal-and-Package.md
    • Linux系统中从零开始安装supermemo、与封装deb安装包的流程、知识及注意事项。
  • deb-package文件夹
    • 构建DEB安装包的配置文件,需要SM18.05-WINE-Vessel文件夹、以及SuperMemo懒人包。
  • config/winetricks-cache
    • winetricks(wine工具)安装supermemo的缓存依赖文件。用于跳过网络下载,加快安装速度。
  • config/supermemo18.verb
    • winetricks(wine工具)的 supermemo 安装自动化配置文件。

SuperMemo18.05-lazy-wine32-package.v1.4.0.deb

安装: sudo dpkg -i SuperMemo18.05-lazy-winetricks.v1.4.0.1.deb

卸载: sudo dpkg -r supermemo18.05-wine32

构建: dpkg -b deb-package SuperMemo18.05-lazy-winetricks.v1.4.0.1.deb

我准备了一个快速访问SuperMemo的链接资料库文件夹:/home/SuperMemo卡组与资料库

你可以把此文件夹复制到桌面使用,里面有四个链接文件夹。分别是:

  • SuperMemo_C盘资料库:该目录链接 C:\SuperMemo\SuperMemo资料库,导入资料时选择C:\SuperMemo/SuperMemo资料库目录,就可以看到文件了。

  • SuperMemo_C盘卡组:该目录链接 C:\SuperMemo\systems,你可以把卡包放入此文件夹然后点击开始菜单中的启动器SuperMemo18.desktop启动supermemo,在sm中打开卡包。

  • SuperMemo_D盘卡组:该目录链接 D:\ ,有放在其它磁盘的同学可以使用了。

  • SuperMemo_E盘卡组:该目录链接 E:\

删掉链接文件夹(SuperMemo_C盘卡组、SuperMemo_C盘资料库等文件夹)不影响源文件(systems目录等)。卸载软件后,将会删除所有文件,卸载软件前请请注意保存和备份资料。

运行软件请使用开始菜单中的启动器文件: SuperMemo18.desktop。配置sm-wine容器请使用启动器:SuperMemo18.05-winecfg.desktop。

可以使用sm-wine命令启动SuperMemo18-WINE32自带的wine-appimage。没有设置WINEPREFIX容器根目录变量的情况下这将会在HOME目录生成默认的.wine容器。

软件实际所在目录:/usr/share/SM18.05-WINE-Vessel/drive_c/SuperMemo

图形用户桌面

使用任意用户权限在图形用户桌面下创建文件夹。

任意用户执行 sh foo.sh 脚本。

#!/bin/sh
# foo.sh

sname=`eval echo $(who | grep "(:0)" | awk '{print $1}')`
shome=`eval echo "/home/"${sname}"/桌面"`
# 使用图形用户权限执行脚本。
sudo -u $(who | grep "(:0)" | awk '{print $1}') sh /path/to/script.sh

相关链接:

supermemo18-on-wine's People

Contributors

asukaminato0721 avatar zacharia2 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

supermemo18-on-wine's Issues

箭头显示的问题

安装方式是直接deb安装(SuperMemo18-Wine32-dpkg-3.deb)
自带教程里的 CTRL + 左右上箭头没有显示出来,字体的问题?
但执行cp -rf wine-fonts/* $HOME/.local/share/wineprefixes/SM18-Wine32/drive_c/windows/Fonts
返回:cp: cannot stat 'wine-fonts/*': No such file or directory
share目录下没找到wineprefixes目录

尝试卸载了deb,之后用
wget https://github.com/Zacharia2/SuperMemo18-ON-Wine/releases/download/v3/SuperMemo18-Wine32-dpkg-3.deb
&& sudo apt install ./SuperMemo18-Wine32-dpkg-3.deb
命令重试,箭头还是没有显示出来

Ubuntu安装失败

腾讯云服务器系统版本Ubuntu 20.04.5 LTS,下载了SuperMemo18.05-lazy-wine32-package.v1.4.0.deb在root文件夹之后运行

sudo dpkg -i ./SuperMemo18.05-lazy-wine32-package.v1.4.0.deb

报错如下

root@VM-8-16-ubuntu:~# sudo dpkg -i ./SuperMemo18.05-lazy-wine32-package.v1.4.0.deb
(Reading database ... 213157 files and directories currently installed.)
Preparing to unpack .../SuperMemo18.05-lazy-wine32-package.v1.4.0.deb ...
Unpacking supermemo18.05-wine32:i386 (1.4.0.lazy-wine32-package) over (1.4.0.lazy-wine32-package) ...
Setting up supermemo18.05-wine32:i386 (1.4.0.lazy-wine32-package) ...
chmod: cannot access '/usr/share/SM18.05-WINE-Vessel/Wine-x86_64-ubuntu.latest.AppImage': No such file or directory
Processing triggers for bamfdaemon (0.5.3+18.04.20180207.2-0ubuntu2) ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for gnome-menus (3.36.0-1ubuntu1) ...
Processing triggers for desktop-file-utils (0.24-1ubuntu3) ...
Processing triggers for mime-support (3.64ubuntu1) ...
root@VM-8-16-ubuntu:~# 

我是萌新求轻喷

软件包体系结构(i386)与本机系统体系结构(amd64)不符

'$ sudo dpkg -i SuperMemo18.05-lazy-winetricks.v1.4.0.1.deb '
'[sudo] twist 的密码:'
'dpkg: 处理归档 SuperMemo18.05-lazy-winetricks.v1.4.0.1.deb (--install)时出错: '
'软件包体系结构(i386)与本机系统体系结构(amd64)不符在处理时有错误发生: SuperMemo18.05-lazy-winetricks.v1.4.0.1.deb'

aur中的版本

想问一下,aur里的是最新版本吗?但是看到更新时间是2月。

打包新版WINE, 下次打包将去掉wine-appimage使用依赖项。

https://wiki.winehq.org/Debian
https://github.com/Hackerl/Wine_Appimage

  • 从wine官网缓存deb软件包到本地。(wine所有可执行文件、依赖)
    -下载fontconfig-config依赖
  • 从debs目录解压所有deb包。
  • 路径重定向
    • 编译libhookexecv、wine-preloader_hook,放入App/bin 目录。应用环境变量WINELDLIBRARY,传递指定目录的ld.so
  • 编写AppRun,设置环境变量应用路径pulseaudio、ld-linux.so重定向并使用libhookexecv执行命令。
  • 打包WINE

deb安装时创建桌面文件夹失败

sudo dpkg -i ./SuperMemo18.05-lazy-winetricks.v1.4.0.1.deb会出现这样的问题(用username代表用户名):

正在选中未选择的软件包 supermemo18.05-wine32:i386。
(正在读取数据库 ... 系统当前共安装有 450877 个文件和目录。)
准备解压 .../SuperMemo18.05-lazy-winetricks.v1.4.0.1.deb  ...
正在解压 supermemo18.05-wine32:i386 (1.4.0.1-lazy-winetricks) ...
正在设置 supermemo18.05-wine32:i386 (1.4.0.1-lazy-winetricks) ...
/home/username username username username/桌面/SuperMemo卡组与资料库/
ln: target 'username/桌面/SuperMemo卡组与资料库/SuperMemo_C盘卡组': No such file or directory
ln: target 'username/桌面/SuperMemo卡组与资料库/SuperMemo_D盘卡组': No such file or directory
ln: target 'username/桌面/SuperMemo卡组与资料库/SuperMemo_E盘卡组': No such file or directory
ln: target 'username/桌面/SuperMemo卡组与资料库/SuperMemo_C盘资料库': No such file or directory
dpkg: 处理软件包 supermemo18.05-wine32:i386 (--install)时出错:
 已安装 supermemo18.05-wine32:i386 软件包 post-installation 脚本 子进程返回错误状态 1
正在处理用于 mailcap (3.70+nmu1ubuntu1) 的触发器 ...
正在处理用于 desktop-file-utils (0.26-1ubuntu3) 的触发器 ...
在处理时有错误发生:
 supermemo18.05-wine32:i386

原因在于postin-action.sh中用户名是这样获取的:

sname=`eval echo $(who | grep "(:0)" | awk '{print $1}')`

在我的机器上,who的输出是这样的(实际上,每多开一个命令行窗口就会出现一个pts/*

username tty1         2024-03-05 01:59 (:0)
username pts/0        2024-03-05 01:59 (:0)
username pts/1        2024-03-05 13:37 (:0)
username pts/2        2024-03-05 13:45 (:0)

结果就是sname变成username username ...这样重复的结构。
一个解决方法是用head -n 1提取第一项:

sname=`eval echo $(who | grep "(:0)" | awk '{print $1}' | head -n 1)`

(k)ubuntu 22.04.

创建软件包时出现错误

Arch Linux下:
错误:RPC 失败。curl 18 HTTP/2 stream 5 was not closed cleanly before end of the underlying connection
错误:预期仍然需要 7869 个字节的正文fetch-pack: unexpected disconnect while reading sideband packet
致命错误:过早的文件结束符(EOF)致命错误:fetch-pack:无效的 index-pack 输出==> 错误: 下载 SuperMemo18-ON-Wine git 仓库失败 正在放弃...

借仓库说一下 Quicker 相关问题

我也试过用 wine 安装 Quicker

32 位的 arch,需要 .Net 4.7.2, winetricks 正好有。我就安装了,winetricks 会一路安装各个版本的 dotnet 运行时。

然后 Quicker 的运行效果是这样的。能跑,但不完全能跑。

image

log

0108:err:ole:CoGetContextToken apartment not initialised
log4net:ERROR Failed to find configuration section 'log4net' in the application's .config file. Check your .config file for the <log4net> and <configSections> elements. The configuration section should look like: <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
0108:fixme:ole:thread_context_callback_ContextCallback 01935DB4, 01ECEF00, 04D1FB44, {d7174f82-36b8-4aa8-800a-e963ab2dfab9}, 2, 00000000
0024:fixme:nls:GetFileMUIPath stub: 0x10, L"C:\\windows\\system32\\tzres.dll", (null), 0021E850, 00CEF368, 0021E854, 0021E848
0024:fixme:nls:GetFileMUIPath stub: 0x10, L"C:\\windows\\system32\\tzres.dll", (null), 0021E850, 00CEF368, 0021E854, 0021E848
0024:fixme:nls:GetFileMUIPath stub: 0x10, L"C:\\windows\\system32\\tzres.dll", (null), 0021E850, 00CEF368, 0021E854, 0021E848
2022-08-25 01:02:39,122 INFO Quicker.App -         =============  Started Logging  =============        
2022-08-25 01:02:39,129 INFO Quicker.App - Quicker:1.34.26.0  Windows:Microsoft Windows NT 6.1.7601 Service Pack 1
0024:fixme:combase:RoGetActivationFactory (L"Windows.ApplicationModel.DesignMode", {2c3893cc-f81a-4e7a-b857-76a80887e185}, 0021C170): semi-stub
0024:err:combase:RoGetActivationFactory Failed to find library for L"Windows.ApplicationModel.DesignMode"
0024:fixme:combase:RoGetActivationFactory (L"Windows.ApplicationModel.DesignMode", {2c3893cc-f81a-4e7a-b857-76a80887e185}, 0021C170): semi-stub
0024:err:combase:RoGetActivationFactory Failed to find library for L"Windows.ApplicationModel.DesignMode"
0024:err:combase:RoGetActivationFactory Failed to find library for L"Windows.Foundation.Diagnostics.AsyncCausalityTracer"
0124:fixme:netprofm:netprofm_cf_QueryInterface interface {b196b28f-bab4-101a-b69c-00aa00341d07} not implemented
006c:fixme:nsi:ipv6_forward_enumerate_all not implemented
012c:fixme:d3d:wined3d_check_device_format_conversion output 00D6B378, device_type WINED3D_DEVICE_TYPE_HAL, src_format WINED3DFMT_B8G8R8X8_UNORM, dst_format WINED3DFMT_B8G8R8X8_UNORM stub!
0108:fixme:ole:thread_context_callback_ContextCallback 01935DB4, 01ECEF00, 04D1FB44, {d7174f82-36b8-4aa8-800a-e963ab2dfab9}, 2, 00000000
2022-08-25 01:02:40,788 ERROR Quicker.App - 遇到了未捕获的异常。Exception from HRESULT: 0x88980406
System.Runtime.InteropServices.COMException (0x88980406): Exception from HRESULT: 0x88980406
   at System.Windows.Media.Composition.DUCE.Channel.SyncFlush()
   at System.Windows.Media.MediaContext.NotifySyncModeStatus(Int32 enabledResult)
   at System.Windows.Media.MediaContext.NotifyChannelMessage()
   at System.Windows.Media.MediaContextNotificationWindow.MessageFilter(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
2022-08-25 01:02:40,797 ERROR Quicker.App - Unhandled exception in Quicker v1.34.26.0
System.Runtime.InteropServices.COMException (0x88980406): Exception from HRESULT: 0x88980406
   at System.Windows.Media.Composition.DUCE.Channel.SyncFlush()
   at System.Windows.Media.MediaContext.NotifySyncModeStatus(Int32 enabledResult)
   at System.Windows.Media.MediaContext.NotifyChannelMessage()
   at System.Windows.Media.MediaContextNotificationWindow.MessageFilter(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
0024:fixme:wtsapi:WTSQuerySessionInformationW Unimplemented class 8
0024:fixme:wtsapi:WTSRegisterSessionNotification Stub 00010076 0x00000000
0024:fixme:msg:ChangeWindowMessageFilterEx 00010076 c033 1 0021DBF0
0024:fixme:msg:ChangeWindowMessageFilterEx 00010076 111 1 0021DBF0
2022-08-25 01:02:40,817 ERROR Quicker.App - 遇到了未捕获的异常。Exception from HRESULT: 0x88980406
System.Runtime.InteropServices.COMException (0x88980406): Exception from HRESULT: 0x88980406
   at System.Windows.Media.Composition.DUCE.Channel.SyncFlush()
   at System.Windows.Interop.HwndTarget.UpdateWindowSettings(Boolean enableRenderTarget, Nullable`1 channelSet)
   at System.Windows.Interop.HwndTarget.UpdateWindowPos(IntPtr lParam)
   at System.Windows.Interop.HwndTarget.OnWindowPosChanging(IntPtr lParam)
   at System.Windows.Interop.HwndTarget.HandleMessage(WindowMessage msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Interop.HwndSource.HwndTargetFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
0024:err:seh:KiUserCallbackDispatcher ignoring exception
0164:fixme:console:default_ctrl_handler Terminating process 20 on event 0

所以我目前没解决。

安装成功,有一些疑问

我曾经折腾过 linux 上的安装。也“成功”了,但是 wine 模拟 win xp 时,中文会非常卡顿(winetricks 只提供了 ie8)。虚拟机使用也不太方便。
然后找到了这个项目,目前写了个 PKGBUILD 安装好了,发现中文编辑不卡了。看了眼 winecfg, 发现似乎是因为全用了原装的 ie 系列组件?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.