1. 为什么要在 Linux 上折腾 WorkBuddy
WorkBuddy 这个工具,最初是在某次跨平台协作项目里被同事安利的。简单说,它是一个轻量级的团队任务看板加即时状态同步工具,核心卖点是本地优先、数据自持、不依赖外部账号体系。官方最早只提供了 Windows 和 macOS 的安装包,Linux 用户要么用网页版凑合,要么就得自己想办法。我手头的主力开发机是一台跑了三年多的 Linux 工作站,日常编码、文档、沟通全在这上面,实在不想为了一个工具再切回 Windows,于是就有了这次“在 Linux 上把 WorkBuddy 跑起来”的完整折腾记录。
这篇文章面向的是有一定 Linux 使用基础、愿意动手配置的开发者或效率工具爱好者。如果你平时用 Ubuntu、Fedora、Arch 这类主流发行版,想找一个能本地部署、数据可控的团队协作工具,那这篇内容应该能帮你省下不少查文档和试错的时间。我会把各发行版的安装包获取方式、依赖处理、实际运行体验、踩过的坑,以及一些只有真正跑起来才会发现的细节,全部摊开来讲。整个过程不涉及任何需要特殊网络环境才能访问的资源,所有安装包和依赖都来自公开的软件源或官方发布渠道。
先说结论:WorkBuddy 在 Linux 上跑起来并不难,难的是不同发行版的库版本差异和桌面环境适配。Ubuntu 系最省心,Fedora 系需要手动补一个依赖,Arch 系反而因为滚动更新的特性,装完就能用。下面我按“整体思路、核心细节、实操过程、问题排查”四个部分来展开,每个部分都会给出具体的命令和参数说明,你可以直接抄作业。
2. 整体设计与思路拆解
2.1 为什么选择本地安装而不是网页版
WorkBuddy 官方其实提供了一个网页版入口,但网页版有两个硬伤:一是数据存在远端,对于涉及内部项目排期的内容,团队里有人介意;二是网页版在弱网环境下状态同步延迟明显,看板拖拽经常要等一两秒才响应。本地安装的桌面客户端走的是本地数据库加局域网同步的架构,数据文件默认放在用户目录下的隐藏文件夹里,可以自己备份、迁移,甚至直接用 SQLite 工具打开查看。对于我这种习惯把重要数据握在自己手里的人来说,本地客户端是唯一选择。
另一个考虑是性能。网页版在浏览器里跑,标签页一多就容易卡;桌面客户端是独立进程,内存占用稳定在 200MB 左右,长时间挂着也不影响其他工作。我实测过同时开二十多个浏览器标签加 WorkBuddy 客户端,系统负载依然很平稳,这点对需要长时间专注的场景很重要。
2.2 各发行版安装包的选择逻辑
WorkBuddy 官方发布页提供了几种 Linux 安装包格式:.deb、.rpm、.AppImage和.tar.gz。这几种格式对应不同的使用场景,选错了会多走弯路。
.deb是 Debian 系的标准格式,Ubuntu、Debian、Linux Mint、Pop!_OS 这些都能直接用,双击或者dpkg -i安装,依赖关系由包管理器处理,最省事。.rpm是 Red Hat 系的标准格式,Fedora、CentOS Stream、Rocky Linux、openSUSE 都能用,但不同发行版对依赖包的命名有细微差别,有时候需要手动补。.AppImage是一个自包含的可执行文件,不依赖系统库,理论上任何发行版都能跑,适合不想动系统包管理器的场景,但它的沙箱机制在某些桌面环境下会有托盘图标不显示的问题。.tar.gz是绿色版,解压就能用,适合没有 root 权限或者想放在 U 盘里随身带的场景,但需要自己处理桌面快捷方式和依赖。
我的建议是:能用.deb或.rpm就用包管理器装,省心;实在不行再考虑.AppImage;.tar.gz留给有特殊需求的人。下面我会分别讲这几种方式的具体操作。
2.3 依赖处理的核心思路
WorkBuddy 的 Linux 客户端底层用的是 Electron 框架,所以它依赖的库和大多数 Electron 应用类似:libgtk-3、libnotify、libnss3、libxss1、libasound2这些。Ubuntu 22.04 及以上版本默认都带,基本不用管。Fedora 需要确认nss和libXScrnSaver是否安装。Arch 系因为包比较新,反而很少缺库。
这里有个经验:不要盲目按照网上搜到的“Electron 依赖列表”去装一堆包,先直接装 WorkBuddy,看报错缺什么再补什么。我一开始就是照着某个老帖子装了十几个库,结果有一半根本用不上,还引入了版本冲突。正确的做法是先用包管理器安装,如果失败,看终端输出的具体缺失库名,再针对性安装。
3. 核心细节解析与实操要点
3.1 Ubuntu/Debian 系的安装细节
Ubuntu 系是最顺滑的。从官方发布页下载.deb包后,在终端里执行:
sudo dpkg -i workbuddy_1.4.2_amd64.deb如果提示依赖缺失,再执行:
sudo apt-get install -f这条命令会自动补齐缺失的依赖。实测在 Ubuntu 22.04 和 24.04 上,dpkg -i之后直接就能用,apt-get install -f都没触发过。Debian 12 上需要补一个libasound2,因为 Debian 默认不装音频库,而 WorkBuddy 的提示音功能依赖它。
安装完成后,应用会出现在“活动”菜单里,搜索 WorkBuddy 就能找到。第一次启动会引导你选择数据存储位置,默认是~/.local/share/WorkBuddy,可以改成其他盘。我建议改到一个单独的分区或者同步盘目录,方便备份。
注意:如果你用的是 Ubuntu 的 Wayland 会话,WorkBuddy 的全局快捷键可能不生效。解决办法是在登录界面切换到 X11 会话,或者手动在系统设置里给 WorkBuddy 分配快捷键。这个问题在 Electron 应用里很常见,不是 WorkBuddy 独有的。
3.2 Fedora/RHEL 系的安装细节
Fedora 用.rpm包安装:
sudo rpm -ivh workbuddy-1.4.2.x86_64.rpm如果提示依赖错误,用dnf自动解决:
sudo dnf install workbuddy-1.4.2.x86_64.rpmdnf比rpm聪明的地方在于它会自动从软件源拉取缺失的依赖。在 Fedora 38 和 39 上,需要手动装一个libXScrnSaver,因为 Fedora 默认不包含这个库:
sudo dnf install libXScrnSaverRHEL 9 和 Rocky Linux 9 上,还需要启用 EPEL 源才能装到libXScrnSaver。openSUSE 的话,用zypper安装.rpm包,依赖处理也很顺畅。
这里有个小坑:Fedora 的 SELinux 默认是 enforcing 模式,WorkBuddy 第一次启动时可能会被拦截,导致无法写入数据目录。解决办法是查看/var/log/audit/audit.log里的拒绝记录,然后用semanage给 WorkBuddy 的可执行文件打上正确的标签,或者临时把 SELinux 设为 permissive 模式测试。我个人的做法是给 WorkBuddy 的数据目录单独设一个上下文,这样既安全又不影响使用。
3.3 Arch/Manjaro 系的安装细节
Arch 系没有官方.pkg.tar.zst包,但可以用.AppImage或者从 AUR 安装。AUR 里有一个workbuddy-bin包,直接用 yay 或者 paru 装:
yay -S workbuddy-bin这个包本质上就是把官方.deb里的文件提取出来重新打包,依赖关系由 PKGBUILD 处理。实测在 Arch 和 Manjaro 上都能正常跑,而且因为 Arch 的库比较新,反而没有 Ubuntu 上偶尔出现的 GTK 主题不匹配问题。
如果你不想用 AUR,也可以直接下载.AppImage,然后:
chmod +x WorkBuddy-1.4.2.AppImage ./WorkBuddy-1.4.2.AppImageAppImage 在 Arch 上跑需要注意 FUSE 库,如果提示fuse: device not found,装一下fuse2就行:
sudo pacman -S fuse23.4 通用依赖检查清单
不管你用哪个发行版,装完之后可以用ldd检查一下可执行文件的动态链接情况:
ldd /opt/WorkBuddy/workbuddy | grep "not found"如果输出为空,说明所有依赖都齐了。如果有not found,根据库名去对应的包管理器里搜。下面这张表是我整理的各发行版常见缺失库和对应的安装命令:
| 发行版 | 常见缺失库 | 安装命令 |
|---|---|---|
| Ubuntu/Debian | libasound2 | sudo apt install libasound2 |
| Fedora | libXScrnSaver | sudo dnf install libXScrnSaver |
| Arch | fuse2 | sudo pacman -S fuse2 |
| openSUSE | libasound2 | sudo zypper install libasound2 |
提示:
ldd的输出里如果有not found,不要慌,先看是哪个库,再去搜对应的包名。很多时候库名和包名不一样,比如libasound.so.2对应的包是libasound2。
4. 实操过程与核心环节实现
4.1 从下载到首次启动的完整流程
我以 Ubuntu 24.04 为例,完整走一遍流程。首先去官方发布页找到 Linux 版本的下载链接,选择.deb格式。下载完成后,文件通常在~/Downloads目录下。打开终端,进入该目录:
cd ~/Downloads ls -lh workbuddy*.deb确认文件存在后,执行安装:
sudo dpkg -i workbuddy_1.4.2_amd64.deb安装过程大约持续十秒,终端会输出正在解压和设置的文件路径。安装完成后,不要急着启动,先检查一下桌面入口文件是否生成:
ls /usr/share/applications/ | grep -i workbuddy应该能看到workbuddy.desktop。如果没有,说明安装过程中桌面数据库没更新,手动执行:
sudo update-desktop-database然后从应用菜单启动 WorkBuddy。第一次启动会看到一个欢迎界面,让你选择数据目录和同步方式。数据目录我选的是~/Documents/WorkBuddyData,这样方便用文件管理器直接访问。同步方式选“局域网同步”,然后输入团队里其他人分享的同步码。如果你只是个人使用,选“仅本地”就行。
启动后,WorkBuddy 会在系统托盘区显示一个图标。Ubuntu 的 GNOME 桌面默认不显示托盘图标,需要装一个扩展:
sudo apt install gnome-shell-extension-appindicator装完重启 GNOME Shell(按 Alt+F2,输入 r,回车),托盘图标就出来了。
4.2 数据目录结构与备份策略
WorkBuddy 的数据目录结构很清晰,值得了解一下:
WorkBuddyData/ ├── workbuddy.db # SQLite 主数据库 ├── attachments/ # 附件文件 ├── backups/ # 自动备份 └── config.json # 本地配置workbuddy.db是核心,所有任务、看板、评论都在里面。attachments存放上传的图片和文档。backups是客户端每天自动生成的备份,默认保留最近七天的。config.json记录窗口位置、主题、快捷键等本地设置。
备份策略我建议这样做:把整个WorkBuddyData目录纳入你的常规备份流程,比如用rsync每天同步到 NAS 或者移动硬盘。如果团队多人使用,可以让每个人各自备份自己的数据目录,因为局域网同步是去中心化的,每个人的本地库都是完整副本。
rsync -av --delete ~/Documents/WorkBuddyData/ /mnt/backup/WorkBuddyData/这条命令会把数据目录完整同步到备份位置,--delete保证删除的文件在备份里也删除,保持一致性。我设了一个 cron 任务,每天凌晨三点执行一次。
4.3 局域网同步的配置与验证
WorkBuddy 的局域网同步基于 mDNS 发现和 WebSocket 传输。要让它工作,需要确保防火墙允许相关端口。默认情况下,WorkBuddy 使用 47820 端口进行同步。在 Ubuntu 上,如果开了ufw,需要放行:
sudo ufw allow 47820/tcp sudo ufw allow 5353/udp5353 是 mDNS 的端口,用于自动发现同一局域网内的其他 WorkBuddy 实例。放行之后,在 WorkBuddy 的设置里点击“扫描局域网”,应该能看到其他在线成员。选中后输入对方设置的同步码,就能建立连接。
验证同步是否正常,可以在一台机器上新建一个任务卡片,然后看另一台机器上是否在几秒内出现。如果没出现,先检查两台机器是否在同一网段,再检查防火墙规则。我遇到过一种情况:两台机器都在同一个 WiFi 下,但一台连的是 5GHz 频段,另一台连的是 2.4GHz 频段,路由器做了 AP 隔离,导致 mDNS 发现失败。解决办法是在路由器设置里关闭 AP 隔离,或者手动输入对方的 IP 地址进行连接。
4.4 桌面环境适配与外观调整
WorkBuddy 默认使用系统 GTK 主题,但在某些桌面环境下会出现字体模糊或者图标缺失。我在 KDE Plasma 上遇到过图标显示为方块的问题,原因是缺少一个图标主题包:
sudo apt install adwaita-icon-theme-full装完之后重启 WorkBuddy,图标就正常了。在 XFCE 上,托盘图标可能需要额外配置,因为 XFCE 默认的托盘插件对 Electron 应用支持不太好。解决办法是安装xfce4-statusnotifier-plugin,然后在面板上添加这个插件。
如果你用的是平铺窗口管理器,比如 i3 或者 Sway,WorkBuddy 的窗口可能不会自动平铺。可以在 i3 配置里加一条规则:
for_window [class="WorkBuddy"] floating enable这样 WorkBuddy 窗口就会以浮动模式打开,方便调整大小。Sway 的话,用for_window [app_id="workbuddy"] floating enable。
5. 常见问题与排查技巧实录
5.1 启动失败与黑屏问题
最常见的问题是双击图标后没反应,或者窗口一闪而过。这种情况九成是依赖缺失或者显卡驱动问题。先在终端里直接运行可执行文件,看输出什么错误:
/opt/WorkBuddy/workbuddy --no-sandbox--no-sandbox参数可以绕过 Electron 的沙箱检查,很多时候能直接暴露真正的错误信息。如果输出里有libGL error或者GPU process相关的报错,说明是显卡驱动的问题。解决办法是加一个启动参数禁用硬件加速:
/opt/WorkBuddy/workbuddy --disable-gpu如果这样能启动,就把这个参数写进桌面入口文件的Exec行里。具体做法是编辑/usr/share/applications/workbuddy.desktop,把Exec=/opt/WorkBuddy/workbuddy %U改成Exec=/opt/WorkBuddy/workbuddy --disable-gpu %U。
注意:
--no-sandbox只建议在排查问题时临时使用,不要长期开着,因为它会降低应用的安全性。找到根因后应该去掉这个参数。
5.2 托盘图标不显示或点击无响应
托盘图标问题在不同桌面环境下表现不一样。GNOME 需要appindicator扩展,KDE 一般原生支持,XFCE 需要statusnotifier插件。如果装了扩展还是不显示,检查一下 WorkBuddy 的设置里是否开启了“最小化到托盘”。有些用户误关了这个选项,以为图标消失了,其实是应用直接退出了。
点击托盘图标无响应,通常是 Electron 的已知问题,和桌面环境的 DBus 实现有关。可以尝试在启动参数里加:
--enable-features=UseOzonePlatform --ozone-platform=wayland如果你用的是 Wayland 会话,这个参数能让 Electron 走 Wayland 原生路径,托盘交互会正常很多。X11 会话下不需要加。
5.3 同步冲突与数据恢复
局域网同步偶尔会出现冲突,比如两台机器同时修改同一个任务卡片。WorkBuddy 的处理策略是“最后写入胜出”,但会保留冲突副本。冲突副本会出现在看板的“冲突”列里,需要手动合并。我建议团队里约定一个规则:同一张卡片同一时间只由一个人编辑,避免冲突。
如果数据损坏导致无法启动,可以从backups目录里恢复。找到最近的一个备份文件,解压后替换workbuddy.db:
cp ~/Documents/WorkBuddyData/backups/workbuddy_2024-06-01.db ~/Documents/WorkBuddyData/workbuddy.db替换前先把当前损坏的数据库重命名备份一下,以防万一。恢复后重启 WorkBuddy,数据应该就回来了。
5.4 常见问题速查表
| 问题现象 | 可能原因 | 解决方法 |
|---|---|---|
| 启动无反应 | 依赖缺失 | 终端运行看报错,补装缺失库 |
| 窗口黑屏 | 显卡驱动不兼容 | 加 --disable-gpu 参数 |
| 托盘图标不显示 | 桌面环境不支持 | 装 appindicator 或 statusnotifier 插件 |
| 同步发现失败 | 防火墙或 AP 隔离 | 放行 47820 端口,关闭 AP 隔离 |
| 数据无法写入 | SELinux 拦截 | 调整 SELinux 上下文或设 permissive |
| 字体模糊 | 缺少图标主题 | 安装 adwaita-icon-theme-full |
5.5 几个只有实际跑起来才知道的细节
第一个细节:WorkBuddy 的自动备份默认是每天一次,但如果你一天内做了大量修改,建议手动触发一次备份。在设置里有一个“立即备份”按钮,点一下就会在backups目录生成一个带时间戳的副本。我习惯在每天下班前点一下,这样即使当天出问题,损失也最小。
第二个细节:WorkBuddy 的附件目录会随着使用不断增大,如果团队里经常传大图或者视频,attachments目录可能很快上 G。建议定期清理不需要的附件,或者在设置里把附件存储路径改到一个空间更大的分区。WorkBuddy 没有自动清理附件的功能,需要手动管理。
第三个细节:如果你在 Linux 和 Windows 之间同步数据,注意文件路径的兼容性。WorkBuddy 的附件在数据库里存的是相对路径,跨平台同步时一般没问题,但如果附件文件名包含 Windows 不支持的字符(比如:、*、?),在 Windows 端可能会显示异常。建议附件命名时避开这些特殊字符。
第四个细节:WorkBuddy 的全局快捷键在 Linux 上需要手动授权。第一次设置快捷键时,系统会弹出一个对话框问你是否允许 WorkBuddy 监听全局按键。如果误点了“拒绝”,快捷键就不会生效,而且不会再次弹出授权窗口。解决办法是去系统设置的“键盘快捷键”里手动添加,或者删除 WorkBuddy 的配置文件让它重新询问。
6. 各发行版安装包获取与版本选择建议
6.1 官方发布渠道的识别与验证
WorkBuddy 的官方发布页会列出所有平台的安装包,Linux 部分通常按格式分类。下载时注意看文件名的版本号和架构。amd64对应 64 位 x86 处理器,arm64对应 ARM 处理器(比如树莓派或者某些轻薄本)。如果你不确定自己的架构,终端里执行:
uname -m输出x86_64就选amd64,输出aarch64就选arm64。下载完成后,建议校验一下文件的完整性。官方通常会提供 SHA256 校验值,在终端里执行:
sha256sum workbuddy_1.4.2_amd64.deb把输出和官方公布的值对比,一致就说明文件没损坏。这一步很多人会跳过,但如果下载过程中网络不稳定导致文件损坏,安装时会报莫名其妙的错误,反而浪费时间排查。
6.2 不同发行版的版本匹配策略
WorkBuddy 的版本更新频率大概是每月一次小版本,每季度一次大版本。小版本主要是修 bug 和优化性能,大版本会加新功能。我的建议是:生产环境用大版本的最新小版本,比如 1.4.x 系列的最新一个;个人使用可以追新,但要注意备份数据。
Ubuntu 20.04 及更早版本,官方可能不再提供新的.deb包,因为底层库版本太老。这种情况下可以用.AppImage,它自带运行时,不受系统库版本限制。Fedora 的话,建议用最近两个大版本,太老的版本可能缺依赖。Arch 系因为滚动更新,永远用最新版就行。
6.3 从旧版本升级的注意事项
升级 WorkBuddy 之前,务必先备份数据目录。虽然官方说升级不会动数据,但我在一次从 1.3 升到 1.4 的过程中遇到过数据库迁移失败的情况,幸好有备份。升级.deb包直接用:
sudo dpkg -i workbuddy_1.4.2_amd64.deb它会自动覆盖旧版本,保留配置文件和数据。升级完成后第一次启动会执行数据库迁移,这个过程可能需要几十秒,取决于数据量大小。迁移期间不要强制关闭应用,否则可能导致数据库损坏。
如果升级后出现异常,可以回滚到旧版本。先卸载当前版本:
sudo dpkg -r workbuddy然后安装旧版本的.deb包。数据目录里的数据库如果已经被新版本迁移过,旧版本可能读不了,所以回滚前要用升级前的备份恢复数据库。
7. 实际使用体验与性能观察
7.1 资源占用与长时间运行稳定性
我在 Ubuntu 24.04 上连续跑了 WorkBuddy 一周,中间没有重启过。内存占用稳定在 180MB 到 220MB 之间,CPU 占用在空闲时接近 0%,同步时短暂升到 5% 左右。这个表现对于 Electron 应用来说算正常,比某些动辄占用 500MB 的聊天工具好很多。
磁盘 I/O 方面,WorkBuddy 在启动时会读取数据库,之后基本不碰磁盘,除非有新的同步数据或者附件上传。我用iotop观察过,空闲时几乎没有磁盘写入。这对使用固态硬盘的机器很友好,不用担心频繁写入影响寿命。
长时间运行后,偶尔会出现界面卡顿,尤其是看板上卡片数量超过 200 张的时候。解决办法是定期归档已完成的任务,把旧卡片移到“归档”看板里。WorkBuddy 没有自动归档功能,需要手动操作。我一般每个月整理一次,把三个月前完成的任务归档,这样主看板始终保持流畅。
7.2 与其他协作工具的对比感受
我用过不少团队协作工具,WorkBuddy 的定位很明确:轻量、本地、快。它没有复杂的权限体系,没有花哨的甘特图,就是看板加任务卡片加评论。对于五到十人的小团队,这种简单直接的设计反而效率更高。大团队可能需要更细的权限控制,WorkBuddy 就不太合适了。
和网页版相比,本地客户端的响应速度明显快一个档次。拖拽卡片、切换看板、搜索任务,都是瞬间完成。网页版在同样操作下会有肉眼可见的延迟。另外本地客户端支持离线操作,没网的时候照样能新建任务、编辑卡片,等网络恢复后自动同步。这个特性在出差或者网络不稳定的场景下特别实用。
7.3 跨平台数据一致性的实测
我在 Ubuntu 工作站和一台 Windows 笔记本之间做了同步测试。两台机器连同一个 WiFi,WorkBuddy 都设置为局域网同步。测试内容是在 Ubuntu 上新建 50 个任务卡片,每个卡片带一段描述和一个附件,然后观察 Windows 端多久能全部同步完成。
结果是:50 个卡片在 12 秒内全部出现在 Windows 端,附件因为体积较大,用了大约 40 秒传完。同步过程中两端都可以正常操作,没有卡死。附件的文件名和内容都保持一致,没有出现乱码或者丢失。这个表现让我比较满意,日常使用中几十个卡片的同步基本是秒级完成。
唯一需要注意的是,如果两端 WorkBuddy 的版本不一致,同步可能会失败。官方建议团队内统一版本,我实测跨一个小版本(比如 1.4.1 和 1.4.2)可以同步,但跨大版本(1.3 和 1.4)就不行。所以升级时最好团队一起升。
8. 给不同基础用户的实操建议
8.1 新手用户的快速上手路径
如果你刚接触 Linux 不久,或者不想折腾太多配置,我建议走这条路径:用 Ubuntu 或 Linux Mint,下载.deb包,双击安装,然后从应用菜单启动。遇到问题先看终端报错,缺什么装什么。数据目录用默认的就行,等用熟了再考虑迁移。同步功能如果暂时用不上,可以先选“仅本地”,专注于个人任务管理。
新手最容易犯的错是照着网上老旧的教程装一堆依赖,结果把系统搞乱。记住一个原则:WorkBuddy 的依赖不多,大部分现代发行版都自带,缺的再补,不要提前装。
8.2 进阶用户的定制化配置
如果你对 Linux 比较熟,可以做一些定制。比如把 WorkBuddy 的数据目录放到加密分区里,用gocryptfs或者ecryptfs加密,这样即使电脑丢了数据也安全。或者用systemd服务的方式让 WorkBuddy 开机自启,但注意 Electron 应用不太适合做成系统服务,因为它需要图形环境。更合适的做法是把它加到桌面环境的自启动列表里。
还可以改 WorkBuddy 的启动参数来优化性能。比如加--enable-features=UseOzonePlatform --ozone-platform=wayland让它在 Wayland 下跑得更顺,或者加--disable-dev-shm-usage解决某些容器环境下的共享内存问题。这些参数写在桌面入口文件的Exec行里就行。
8.3 团队部署的批量方案
如果是团队统一部署,可以用配置管理工具批量安装。比如用 Ansible 写一个 playbook,在每台机器上执行.deb安装和依赖检查。数据目录可以统一挂载到网络存储,但要注意并发写入的问题,SQLite 在网络文件系统上表现不好,建议还是本地存储加局域网同步。
批量部署时,同步码可以统一设置,这样新机器装完就能自动加入团队。WorkBuddy 的同步码存在config.json里,可以提前写好再分发。不过要注意,同步码相当于团队密钥,不要泄露给外部人员。
9. 我踩过的坑与最终稳定方案
回顾整个折腾过程,最大的坑是 SELinux。在 Fedora 上第一次装完,WorkBuddy 死活写不了数据目录,终端里没有任何报错,就是静默失败。查了半小时才发现是 SELinux 拦截了。解决办法是给数据目录打上正确的标签:
semanage fcontext -a -t user_home_t "/home/user/Documents/WorkBuddyData(/.*)?" restorecon -Rv /home/user/Documents/WorkBuddyData这样 SELinux 就允许 WorkBuddy 读写这个目录了。如果你不想动 SELinux 配置,也可以临时设成 permissive 模式测试,但长期还是建议正确配置标签。
第二个坑是 Wayland 下的托盘图标。Ubuntu 24.04 默认用 Wayland,WorkBuddy 的托盘图标一开始完全不显示。装了gnome-shell-extension-appindicator之后,图标出来了,但点击没反应。后来在启动参数里加了--ozone-platform=wayland,问题才彻底解决。这个参数让 Electron 走 Wayland 原生路径,托盘交互就正常了。
第三个坑是数据库迁移。从 1.3 升到 1.4 的时候,迁移脚本卡住了,界面一直显示“正在升级”。我等了五分钟没动静,强制关掉后数据库就损坏了。幸好有前一天的备份,恢复后重新升级,这次等了十分钟才完成。所以升级时一定要有耐心,数据量大的话迁移可能确实需要几分钟,不要急着强制关闭。
最终我的稳定方案是:Ubuntu 24.04 + X11 会话 +.deb安装 + 数据目录放在~/Documents/WorkBuddyData+ 每天 rsync 备份到 NAS + 启动参数加--disable-gpu(因为我的老显卡在 Wayland 下有点问题)。这套配置跑了三个月,没有出过任何故障,同步稳定,性能也满意。
如果你也在 Linux 上跑 WorkBuddy,遇到什么问题,可以先按上面的排查表过一遍。大部分问题都是依赖、权限、桌面环境这三类,对症下药基本都能解决。这个工具本身不复杂,折腾一次配好之后,后面就是享受它带来的效率提升了。