原版的要自己配置啊,如果用deepin-wine-stable,可以直接把deepin商店里的wine应用下载安装,也可以用深度应用兼容工具自己打包,方便啊!
其实星火应用商店里有已经移植好的dwine6,8和10
给Debian/Ubuntu加上deepin的源,再安装deepin-wine,会不会更方便些呢
给Debian/Ubuntu加上deepin的源,再安装deepin-wine,会不会更方便些呢
加上deepin的源,可能导致系统其他核心组件更新了deepin的组件,导致系统挂掉。
当然这样做的问题是无法接收deepin官方的更新。如果deepin-wine是独立的源就好了。
给Debian/Ubuntu加上deepin的源,再安装deepin-wine,会不会更方便些呢
这也是一个方案,各有优缺点。装spark版本,只能下载spark应用商店的wine程序,因为脚本调用的是/opt/spark-wine10-stable以及/opt/sparkwine/tools下的脚本,deepin商店下载的是访问/opt/deepin-wine10-stable。
由于各种原因,暂时无法使用deepin23/25作为生产主力???
麻烦说下出于哪些问题?这样官方也好进一步改进,也能知道自己的不足在哪?
由于各种原因,暂时无法使用deepin23/25作为生产主力???
麻烦说下出于哪些问题?这样官方也好进一步改进,也能知道自己的不足在哪?
wayland,全面落后于主流发行版,甚至落后隔壁一大截。第二显示器无法调整分辨率。
磐石,导致EasyConnect无法启动,这是办公必备的工具,天天用。
在桌面下部右键,菜单经常被任务栏遮挡,或者部分超出屏幕之外,无法选择。
https://deepin-wine.i-m.dev/
这里直接安装就行了
wayland,全面落后于主流发行版,甚至落后隔壁一大截。第二显示器无法调整分辨率。
磐石,导致EasyConnect无法启动,这是办公必备的工具,天天用。
在桌面下部右键,菜单经常被任务栏遮挡,或者部分超出屏幕之外,无法选择。
Treeland目前还是处于实验特性,计划是Q4可以作为默认桌面环境使用;
磐石可以通过命令关闭:sudo deepin-immutable-writable enable -d /usr
右键菜单被遮挡的问题,在beta和正式版之后已经完全修复,这个bug是在alpha上出现的,请问是没有升级到最新版本嘛?
这也是一个方案,各有优缺点。装spark版本,只能下载spark应用商店的wine程序,因为脚本调用的是/opt/spark-wine10-stable以及/opt/sparkwine/tools下的脚本,deepin商店下载的是访问/opt/deepin-wine10-stable。
spark版的有做处理,可以正确运行使用 deepin-wine-helper 的程序,而且也会处理 .desktop 的问题
而且我记得星火没有 spark-wine10-stable,只有 spark-wine10 和 deepin-wine10-stable
wine10的中文体验没有deepin-wine10-stable好,deepin-wine团队掌握了wine的字体解析和渲染,解决了各种程序的中文乱码问题和显示不完整问题,中文支持和显示优于其它wine版本。
另外,deepin-wine的内存占用开销也更优秀哈,可以对比。😂
给Debian/Ubuntu加上deepin的源,再安装deepin-wine,会不会更方便些呢
二奶机上混源玩一下还行,工作环境升级一下可能系统就崩了
Popular Ranking
ChangePopular Events
More
一、下载应用,分析依赖包
登录deepin 23/25,下载一个wine应用,例如云视讯,我们从应用商店可以看到,该应用的包名为:cn.10086.ipower.uc.deepin
下载deb文件:
我们得到文件:cn.10086.ipower.uc.deepin_3.16.0deepin4_wine6-i386.deb
使用dpkg --info分析依赖关系(重点关注蓝色字体部分):
``
Package: cn.10086.ipower.uc.deepin
Depends: deepin-wine6-stable:amd64 (>= 6.0.0.51-1), deepin-wine-helper:amd64 (>= 5.2.4), deepin-elf-verify:amd64 (>= 1.1.10-1)
``
从输出可以看出,云视讯是基于deepin-wine6打包的,同时还依赖deepin-wine-helper及deepin-elf-verify。
下载这三个deb文件
得到三个deb文件(具体版本号会因为deepin官方升级组件而有所不同):
deepin-elf-verify_1.2.0.6-1_amd64.deb
deepin-wine6-stable_6.0.0.68_amd64.deb
deepin-wine-helper_5.4.7-1_amd64.deb
用dpkg --info分别查看三个文件的依赖:(关注蓝色部分)
Package: deepin-elf-verify
Depends: libc6 (>= 2.14), libelf1 (>= 0.131), libglib2.0-0 (>= 2.31.8), libssl1.1 (>= 1.1.1), libsystemd0 (>= 221), ca-certificates
Package: deepin-wine6-stable
Depends: deepin-wine-runtime (>= 0.1.8), libasound2 (>= 1.0.16), libatk1.0-0 (>= 1.12.4), libc6 (>= 2.27), libcairo-gobject2 (>= 1.10.0), libcairo2 (>= 1.2.4), libgcc1 (>= 1:3.0), libgdk-pixbuf2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.16.0), libgphoto2-6 (>= 2.5.10), libgphoto2-port12 (>= 2.5.10), libgstreamer-plugins-base1.0-0 (>= 1.0.0), libgstreamer1.0-0 (>= 1.4.0), libgtk-3-0 (>= 3.0.0), liblcms2-2 (>= 2.2+git20110628), libmpg123-0 (>= 1.6.2), libopenal1 (>= 1.14), libpango-1.0-0 (>= 1.14.0), libpangocairo-1.0-0 (>= 1.14.0), libpcap0.8 (>= 0.9.8), libpulse0 (>= 0.99.1), libudev1 (>= 183), libusb-1.0-0 (>= 2:1.0.21), libvkd3d1 (>= 1.0), libx11-6, libxext6, libxml2 (>= 2.9.0), ocl-icd-libopencl1 | libopencl1, libasound2-plugins, libncurses6 | libncurses5 | libncurses, deepin-elf-verify (>= 1.1.10-1)
Package: deepin-wine-helper
Depends: p7zip-full, libc6 (>= 2.4), libdtkcore5 (>= 5.2.0), libdtkgui5 (>= 5.2.0), libdtkwidget5, libgcc1 (>= 1:3.0), libgl1, libqt5core5a (>= 5.11.0~rc1), libqt5gui5 (>= 5.7.0), libqt5widgets5 (>= 5.0.2), libstdc++6 (>= 4.1.1), libx11-6, fonts-noto-cjk, python3-dbus, x11-utils, deepin-elf-verify (>= 1.1.10-1)
Package: deepin-wine-runtime
Depends: deepin-elf-verify (>= 1.1.10-1)
deepin-elf-verify依赖的libssl1.1在高版本的Linux发行版(Debian12/13、Ubuntu 22.04等)中已经被删除,取而代之的是高版本的libssl3,如果apt search libssl1.1搜索不到相关的组件,那么您需要手动下载安装,可直接从deepin仓库下载,也可以网络搜索,从ubuntu网站下载相关文件(本文使用ubuntu网站的deb文件)。
另外,还需要wqy字体文件fonts-wqy-microhei,否则,wine应用部分汉字显示为框框。
这样,我们一共得到如下文件:
deepin-elf-verify_1.2.0.6-1_amd64.deb
deepin-wine-helper_5.4.7-1_amd64.deb
deepin-wine-runtime_0.1.11_amd64.deb
deepin-wine6-stable_6.0.0.68_amd64.deb
fonts-wqy-microhei_0.2.0-beta-3.1_all.deb
libssl1.1_1.1.1f-1ubuntu2.23_amd64.deb
如果想要安装deepin-wine8-stable或deepin-wine10-stable,还需要下载相关的deb文件并进行分析依赖关系:
Package: deepin-wine10-stable
Depends: libasound2 (>= 1.0.16), libc6 (>= 2.26), libcapi20-3, libdbus-1-3 (>= 1.9.16), libgcc1 (>= 1:3.0), libglib2.0-0 (>= 2.37.3), libgphoto2-6 (>= 2.5.10), libgphoto2-port12 (>= 2.5.10), libgstreamer-plugins-base1.0-0 (>= 1.8.0), libgstreamer1.0-0 (>= 1.4.0), libpcsclite1 (>= 1.3.3), libpng16-16 (>= 1.6.2-1), libpulse0 (>= 0.99.1), libsane (>= 1.0.24), libudev1 (>= 183), libusb-1.0-0 (>= 2:1.0.21), libx11-6, libxext6, ocl-icd-libopencl1 | libopencl1, ocl-icd-libopencl1 (>= 1.0) | libopencl-1.2-1, libasound2-plugins, libncurses6 | libncurses5 | libncurses, deepin-elf-verify (>= 1.1.10-1)
其中,libsane在Debian 13已经改为libsane-1,如果需要安装在Debian 13上,需要修改依赖文件。具体修改方法:
得到如下的目录结构:
进入tmp_files/DEBIAN目录,编辑control文件,将其中的libsane (>= 1.0.24) 改为:
保存。(也可以将deepin-elf-verify这个依赖也去掉,在deepin上是一个哑包,没有实际用途,在UOS上才有用),重新打包:
二、开始部署
至此,deepin-wine6-stable部署成功(我是把deepin-wine6-stable、deepin-wine8-stable、deepin-wine10-stable都部署了,因为我们不知道某个wine应用是用哪个版本的deepin wine打包的)。
三、安装应用
以云视讯为例:
因为deepin/UOS有自己标准的deb打包标准,他会把desktop文件和icon文件放入/opt/apps/package_name/entries/applications及icons下,DDE会扫描这些目录,并把菜单加入启动项,标准的Debian及Ubuntu没有这个机制,需要把文件同步拷贝到/usr/share/applications及/usr/share/icons下,才能正确显示菜单项。
解决办法:
方法一:把/opt/apps/package_name/entries/applications下的desktop文件拷贝到/usr/share/applications下,把/opt/apps/package_name/entries/icons下的目录(hicolor起到具体的png/svg文件)一起拷贝到/usr/share/icons目录下(保持目录结构不变),或者拷贝到当前用户的~/.local/share/applications及~/.local/share/icons下,即可在启动器看到菜单项。
优点:简单。
缺点:每次都要拷贝文件,卸载后/usr/share/applications及icons下有残留文件。
方法二:参考前面修改依赖关系的方法,解包后在tmp_files目录下创建:
usr/share/applications、usr/share/icons目录,将上述desktop文件和图标文件拷贝到这两个目录下,保持目录层次结构不变。调整过后的目录结构如下:
应用安装到/opt/apps/package_name目录下,desktop文件和图标文件安装到/usr/share对应的目录下。
重新打包安装。
优点:一次搞定,卸载无残留。
缺点:每次wine应用更新,需要重新打包,需要一定技能。
四、运行应用及问题解决
点击应用菜单项,启动应用。在Debian 12上正常解压并执行!不幸的是,在Debian 13、Ubuntu 24.04上,解压缩失败,运行失败!
经分析,deepin 23/25、UOS v20、Debian 12自带的7z版本较低(16.02),而Debian 13、Ubuntu 24.04自带的7z应用版本较高(>=23),增强了安全检测,不允许链接中出现相对路径导致。
进一步分析,Ubuntu 24.04带的p7zip组件包没有具体可执行文件,只有文档,感觉p7zip已逐渐被废弃,改用7zip组件包了。/usr/bin/7z脚本引用的是/usr/lib/7zip/7z,而UOS、deepin、Debian 12引用的是/usr/lib/p7zip/7z。
解决方案:
方案一:
从deepin、UOS或Debian 12仓库下载p7zip、p7zip-full版本为16.02的组件包,拷贝到Ubuntu 24.04或Debian 13,进行安装:
注:此方案不推荐,可能apt update & apt upgrade会升级,导致老旧的p7zip被删除,/usr/bin/7z引用改回为/usr/lib/7zip/7z。
方案二【推荐】:
从deepin、UOS或者Debian 12中拷贝/usr/lib/p7zip目录到Ubuntu 24.04或Debian 13,
修改/usr/bin下面的7z、7za、7zr三个脚本,将/usr/bin/7zip/7z改为/usr/bin/p7zip/7z,7za、7zr类似。
碰到的问题:
运行7z x files.7z时,报错:
Can't load '/usr/lib/p7zip/7z.dll' (/usr/lib/p7zip/7z.so: 无法打开共享目标文件: 权限不够)
原因:
从deepin打包过来时权限变了,修改为跟源系统一致的权限。
修复:
cd /usr/lib/p7zip
sudo chmod 755 7z*
sudo chmod 644 7z.so # 重要!
五、总结
目前整体稳定,当然毕竟官方不是基于Debian/Ubuntu开发,多少有一些小问题,如云视讯偶尔会崩溃,自己打包的一个应用窗口显示不全,需要双击标题条最大化,然后才能正常显示窗口等,但总体能满足需求了,希望deepin-wine的兼容性越来越好!