Deepin Linux 下安装千牛工作台

一、背景介绍
千牛工作台是一款淘宝卖家客户端程序,有Windows及其它平台,没有Linux客户端。我在淘宝上作Linux远程技术服务,而我使用的主力系统是Deepin Linux,于是有了电脑上安装千牛工作台的需要。Deepin 仓库里有:com.taobao.work.deepin 9.59.05deepin,但不能使用。

二、技术要点概览
我是利用 deepn 25.2.2/20.9 Linux 仓库里的“统信Windows应用兼容引擎”安装最新Windows版的"千牛工作台",然后导入单独的注册表修复补丁完成。后面还讲了解决方法的发现过程。最后是给“统信Windows应用兼容引擎”软件的一点建议。

三、具体步骤
下面的步骤是以 Deepin 25.2.2 Linux 为例,同样的步骤在 Deepin 20.9 也测试通过。

1、下载安装“统信Windows应用兼容引擎”
可以在“应用商店”搜索“统信Windows应用兼容引擎”安装,也可以执行下列命令在终端安装:

sudo apt update
sudo apt install deepin-wine-builder

2、下载安装“Windows版千牛工作台”
官方下载网址:https://work.taobao.com/download.html,下载其中的 Windows 版本,当前下载下来的文件名是:AliworkbenchQNDownload_(1.0.2.1).exe,大小只有1.3MB,应该只是主程序的下载器。

双击桌面的“统信Windows应用兼容引擎”图标打开程序,选择左侧菜单栏的“全部应用”,在顶部中央搜索框中输入“千牛”回车搜索,会出来“千牛工作台”项目,点击右侧的安装。点击中间下部的“+”,选择前面下载的AliworkbenchQNDownload_(1.0.2.1).exe。点击右下角的“安装”。这一过程中会下载真正的主程序,如当前下载下来的是:qianniu_(9.97.74N)_NK_64.exe,并打开下载文件夹展示下载的文件。关闭打开的下载文件夹,继续在安装窗口上选择“同意许可协议”,并点击立即安装。安装完成后,关闭安装窗口。进行必须的下一步设置,否则,在千牛与来客对话时,出现的所有文字对话内容一律会显示为“暂不支持的消息类型”,导致根本无法正常使用。

在“统信Windows应用兼容引擎”左侧点击“我的应用”,确保千牛没有在运行,主窗口的“千牛工作台”右侧显示的是“运行”。点击右边的三个小点,选择“快捷工具”->“导入注册表”。把包含下面文字内容的注册表补丁文件(比如保存为文件名:qianniu-dlloverrides-fix.reg)导入进去,会自动添加17项的“原生优于内建”的dll项目。这期间可能会有黑色的终端窗口闪现几次,稍等片刻等导入完成后,点击右上角的“x”关闭“统信Windows应用兼容引擎”。
注册表补丁文件 qianniu-dlloverrides-fix.reg 内容:

REGEDIT4

; ============================================================
; 千牛工作台「暂不支持的消息类型」修复补丁
; ------------------------------------------------------------
; 问题:统信 Windows 应用兼容引擎(deepin-wine-builder)新建的 bottle
;       没有继承 VC++ 运行库的原生优先声明,导致千牛只能使用 Wine 自研的
;       msvcp140 / vcruntime140 等内置实现,消息文本在 C++ 侧序列化时
;       静默失败,界面统一显示「暂不支持的消息类型」(图片、表情正常)。
;
; 作用:把 17 个运行库标记为 native,builtin(先找原生,找不到退回内置),
;       使千牛加载自己程序目录里自带的那套微软原生运行库。
;
; 适用:千牛 9.97.x + deepin-wine10 + 统信兼容引擎 bottle
; 日期:2026-11-02   已验证有效
;
; 用法:先完全退出千牛,再导入本文件,然后重新启动千牛。
;       导入后不需要重启电脑。
; ============================================================

[HKEY_CURRENT_USER\Software\Wine\DllOverrides]

; --- 微软 VC++ 2015-2022 运行库 ---
"msvcp140"="native,builtin"
"msvcp140_1"="native,builtin"
"msvcp140_2"="native,builtin"
"vcruntime140"="native,builtin"
"vcruntime140_1"="native,builtin"
"concrt140"="native,builtin"
"vcomp140"="native,builtin"
"atl140"="native,builtin"
"msvcr140"="native,builtin"

; --- Universal CRT 的 API Set 转发层 ---
"api-ms-win-crt-conio-l1-1-0"="native,builtin"
"api-ms-win-crt-heap-l1-1-0"="native,builtin"
"api-ms-win-crt-locale-l1-1-0"="native,builtin"
"api-ms-win-crt-math-l1-1-0"="native,builtin"
"api-ms-win-crt-private-l1-1-0"="native,builtin"
"api-ms-win-crt-runtime-l1-1-0"="native,builtin"
"api-ms-win-crt-stdio-l1-1-0"="native,builtin"
"api-ms-win-crt-time-l1-1-0"="native,builtin"

; 说明:vcomp140 / atl140 / msvcr140 千牛目录里不一定有,
;       native,builtin 会自动退回内置版本,不会报错。

3、运行“千牛工作台”
双击桌面上的蓝色白色牛头图标即可运行。启动期间也会有黑色的终端闪现几次。然后就出现登录界面,叉掉中间出现的“新增入口”小框,就可以用密码或手机端扫码登录使用了。

4、卸载“千牛工作台”
在“统信Windows应用兼容引擎”中左侧菜单栏点击“我的应用”,点击出现的“千牛工作台”右侧的三个小点,在弹出的菜单中选择卸载就行。位于 ~/.local/share/deepin-wine-bottles/bottles 里面的容器文件夹会被整体删除。

四、难点的解决
这次安装的难点是那个补丁文件的获取。

实际上,之前我就发现仓库里的“千牛工作台”不能正常使用,我在偶然的尝试中,在已经安装好了的“央视影音”客户端(com.cctv.deepin)的容器里安装“千牛工作台”成功。使用的关键命令是:“env WINEPREFIX="$HOME/.deepinwine/com.cctv.deepin" deepin-wine10-stable uninstaller”。但是后来“千牛工作台”升级后,扫码登录不能使用,窗口页面不加载。这样,一段时间就停止了在 Deepin Linux 上使用。前几天,我用 WorkBuddy 诊断,从容器原来的 deepin-wine8-stable 换成 deepin-wine10-stable 就正常了。

然后,我尝试用“统信Windows应用兼容引擎”安装千牛,结果就是前面说的与客户对话文字消息显示为“暂不支持的消息类型”。我用 WorkBuddy 让它比较基于“央视影音”客户端容器和“统信Windows应用兼容引擎”安装的实例的区别,并修复兼容引擎安装实例。WorkBuddy 从字体设置、dll版本、数据目录、启动参数、DirectX 等各方面调试都不成功,中途甚至劝我说既然基于“央视影音”客户端容器可以正常工作就不要折腾了。我让它继续,最后终于发现是统信 bottle 的 DllOverrides 只有 1 条,“央视影音”容器有 18 条。这18条是让Wine使用Windows原生dll优先于Wine内建dll。然后就给出了上面的 注册表补丁文件 qianniu-dlloverrides-fix.reg 。前后花了差不多3个小时。

如果你在使用“统信Windows应用兼容引擎”的过程中有问题,不妨试试上面的补丁。

五、存在的问题
我发现了2个不影响正常的小问题。
一是有时窗口显示不出来内容,点击窗口顶部的刷新图标就行。二是悬浮小窗口四周有黑边,这可以忽略,也可以通过Deepin系统方面的设置解决。这里就不详细展开了。

六、给“统信Windows应用兼容引擎”的一点建议
如果程序需要进一步设置的话,可以在兼容引擎程序的页面上补充相应的设置说明和相应的补丁文件。

exawind 安装要点

前段时间帮人安装了 exawind( https://github.com/Exawind/exawind-driver ),一套风能模拟的程序,非常的难搞。分别在在一台 virt-manager 中的 Ubuntu 20.04、NVIDIA P106-100 和物理机 Ubuntu 24.04、NVIDIA RTX 4060Ti 成功安装 exawind、nalu-wind、amr-wind套件,3个都有 cuda 支持,后2个有 openfast 支持。事先声明,我对这套专业软件完全不懂,只是应人要求进行了一番折腾。下面总结一下安装过程中的要点备忘。

Continue reading "exawind 安装要点"

超强免费的Linux文件恢复工具R-Linux简介

(首发地址:学习日记 https://www.learndiary.com/2024/12/r-linux/)

一、Linux 误删除文件恢复的要点

  1. 删除文件后到恢复结束前,所在分区尽量避免进一步写操作;
  2. 选择恰当的恢复工具。如: ext4magic、photorec。这里介绍一款恢复效果更好的 R-Linux 6.3 build 191253。

视频讲解:【超强免费的Linux文件恢复工具R-Linux简介】https://www.bilibili.com/video/BV1xB6VYdEkE/

Continue reading "超强免费的Linux文件恢复工具R-Linux简介"

使用 PhotoRec 恢复磁盘丢失文件

(首发地址:学习日记 https://www.learndiary.com/2024/05/photorec/)
(2024.12.28更正:除了ext2/ext3/ext4、 FAT12/FAT16/FAT32 和 NTFS分区可以只恢复被删除的指定类别文件,其余文件系统只能同时恢复出被删除和还存在的指定类别文件。参见官方文档:https://www.cgsecurity.org/wiki/PhotoRec_Step_By_Step#Carve_the_partition_or_unallocated_space_only)。
(2024.12.30更新:推荐使用 R-Linux 恢复 EXT2~4 分区误删除文件,参见:https://www.learndiary.com/2024/12/r-linux/ )
大家好,我是淘宝网学习日记小店中的 Linux 服务者 learndiary。今天,我将重点介绍一下 TestDisk 孪生软件 PhotoRec(https://www.cgsecurity.org/wiki/PhotoRec) 是如何帮助用户恢复丢失文件的。在此之前,我们曾探讨过“TestDisk用于恢复磁盘丢失分区”的方法(https://www.learndiary.com/2024/05/testdisk/),而PhotoRec则更专注于根据文件特征恢复各种不同格式的文件。视频演示:【使用 PhotoRec 恢复磁盘丢失文件】https://www.bilibili.com/video/BV1ND421N75e/

大家好,我是淘宝网学习日记小店中的 Linux 服务者 learndiary。今天,我将重点介绍一下 TestDisk 孪生软件 PhotoRec(https://www.cgsecurity.org/wiki/PhotoRec) 是如何帮助用户恢复丢失文件的。在此之前,我们曾探讨过“TestDisk用于恢复磁盘丢失分区”的方法(https://www.learndiary.com/2024/05/testdisk/),而PhotoRec则更专注于根据文件特征恢复各种不同格式的文件。视频演示:【使用 PhotoRec 恢复磁盘丢失文件】https://www.bilibili.com/video/BV1ND421N75e/

Continue reading "使用 PhotoRec 恢复磁盘丢失文件"

使用 TestDisk 恢复磁盘丢失分区

(首发地址:学习日记 https://www.learndiary.com/2024/05/testdisk/ )

在本文中,我将向您介绍如何使用名为 TestDisk 的强大工具来恢复丢失或损坏的分区,并通过一个详细的示例操作流程来展示其实际应用。我是来自淘宝网学习日记小店的 learndiary,专注于 Linux 服务相关工作。

今天我给大家推荐两款由 CGSecurity 开发的实用软件—— TestDisk 和它的孪生软件 PhotoRec。TestDisk 主要用于找回丢失或损坏的分区结构,而 PhotoRec 则擅长依据文件特征恢复丢失的文件。您可以通过访问官方网站( https://www.cgsecurity.org/ )获取更多详尽的文档资料。

接下来,我演示如何按照“TestDisk Step by Step”指南( https://www.cgsecurity.org/wiki/TestDisk_Step_By_Step )使用 TestDisk 进行分区恢复。本次演示分为如下三个关键步骤。演示视频地址:https://www.bilibili.com/video/BV1Wm421p73U/

Continue reading "使用 TestDisk 恢复磁盘丢失分区"

Linux技术内容创作实战:从视频制作到文章生成的高效流程分享

(首发地址:学习日记 https://www.learndiary.com/2024/04/speed-video-blog-making/)

作为淘宝网“学习日记小店”的 Linux 服务提供者,我在此分享一下如何高效制作 Linux 技术视频及配套文章的心得体会。我采用 Deepin 20.9 Linux 操作系统,搭配 i7-4770 处理器和一块 Nvidia P106-100 矿卡作为硬件环境。视频演示:【Linux技术内容创作实战:从视频制作到文章生成的高效流程分享】https://www.bilibili.com/video/BV1AJ4m1L7BU/

Continue reading "Linux技术内容创作实战:从视频制作到文章生成的高效流程分享"

JAVA 生物信息软件 Flux Simulator、Astalavista、Flux Capacitor 源码临时修复及编译

今天分享一套依赖破坏的开源 JAVA 生物信息软件 Barna 项目的临时修复及编译。这套软件包括:Flux Simulator、Astalavista、Flux Capacitor,主页地址:https://confluence.sammeth.net/。在我接触到这套软件的2021年底,这套软件的源代码还可以通过一定的变通方法从 git 仓库下载到。不过却根本无法编译通过,因为其依赖的网络上的各种包和文件链接失效。但是,我发现现在已经无法从 git 仓库下载源码了。所幸,我当初下载的源码还在。于是,我将原来下载的源码和修复上传到 github( https://github.com/learndiary/barna-df )。这里,借此软件的修复,小结一下 JAVA Gradle 编译软件依赖包的修复。视频演示地址:https://www.bilibili.com/video/BV12V4y1p7Ec?share_source=copy_web&vd_source=d1925b070926f23b2b6676137251e9ea

Continue reading "JAVA 生物信息软件 Flux Simulator、Astalavista、Flux Capacitor 源码临时修复及编译"

Linux 上非 root 用户 Conda 编译安装 ISCE2(含 RelaxIV 、GPU 加速等全部可选项,2023年4月8日更新)

今天演示一下 Linux 上非 root 用户 Conda 编译安装 ISCE2(含 RelaxIV、GPU 加速等全部可选项)。本文的演示环境是 Nvidia A100 GPU 云服务器、Ubuntu 18.04 Linux、Miniconda3 版本 conda 23.3.1、ISCE2 2.6.1。分为 ISCE2 编译安装和简单测试两部分。

重要提示:isce2 这款软件对各组件的版本特别敏感,conda 默认会安装有效的最新版本,导致 isce2 安装失败。本文已于 2023年4月8日更新了 isce2 编译运行所需要的 Conda 环境安装方法,所以视频中的Conda 环境安装部分已经过时。本文的首发网址为:学习日记 https://www.learndiary.com/2022/08/linux-conda-isce2/ 。若有更新会第一时间发布在首发网址中。

视频演示地址:https://www.bilibili.com/video/BV1La411o785?share_source=copy_web&vd_source=d1925b070926f23b2b6676137251e9ea

提示:本演示视频分为“编译安装”和“简单测试”如下两部分:

Continue reading "Linux 上非 root 用户 Conda 编译安装 ISCE2(含 RelaxIV 、GPU 加速等全部可选项,2023年4月8日更新)"