Super Productivity 全平台安装与下载指南:GitHub 发布版、软件仓库安装及常见问题排查
【免费下载链接】super-productivitySuper Productivity is an advanced todo list app with integrated Timeboxing and time tracking capabilities. It also comes with integrations for Jira, GitLab, GitHub and Open Project.项目地址: https://gitcode.com/GitHub_Trending/su/super-productivity
导读
本文以官方 Wiki 的「Downloads and Install」章节为核心,系统梳理 Super Productivity 在 Windows、macOS、Linux 与 Android 全平台的安装路径:既包括从 GitHub Releases 直接下载安装包,也包括 Flathub、Snapcraft、Arch 官方仓库、F-Droid、Google Play、Microsoft Store、Homebrew、WinGet、Chocolatey、Scoop 等软件仓库安装方式,并逐一解读 Snap、Flatpak、Wayland 下的已知问题与官方解决方案。读完本文,你将能按平台选择最合适的安装方式,并在遇到数据目录、GPU 启动失败、时区错位等典型问题时依据仓库源码定位并解决。
一、直接从 GitHub Releases 下载
Super Productivity 的每个正式版本都会发布到 GitHub Releases,可直接下载对应平台与 CPU 架构的安装包,无需任何软件仓库或包管理器。
| 平台 | x64 | arm64 | x86 |
|---|---|---|---|
| Windows | 安装器Super-Productivity-Setup.exe便携版 superProductivity.exe | 安装器(arm64) 便携版(arm64) | — |
| Linux / Android | superProductivity-x86_64.AppImagesuperProductivity-x86_64.rpmsuperProductivity-amd64.deb | APKapp-play-release.apk | — |
| macOS | DMGsuperProductivity-x64.dmg | DMGsuperProductivity-arm64.dmg | — |
注:上表沿用了官方 Wiki 的发布产物命名。以仓库中的 electron-builder.yaml 为准,Linux 产物实际包含 AppImage、deb、snap、rpm 四种格式,macOS 除分架构 DMG 外还提供同时包含 x86_64 与 arm64 的 universal DMG(见下文「Universal macOS DMG」小节)。
从源码的构建配置可以印证发布产物的形成方式:
- 应用名与产物命名规则定义在 electron-builder.yaml 的
appId: superProductivity、productName: Super Productivity与artifactName: ${name}-${arch}.${ext}; - Windows 的 NSIS 安装器与 portable 便携版由
win.target配置生成,且刻意去掉了架构后缀以复用同一份安装包(详见配置中关于签署配额与IsNativeARM64运行时选择的注释); - Linux 的
linux.target同时配置了AppImage / deb / snap / rpm,.deb与.rpm供 Debian/Ubuntu 与 Fedora 系使用; - macOS 的
mac.target配置了arm64 / x64 / universal三种 DMG。
为什么优先选 arm64 / x64 而不是 x86?
官方表格中 x86 列全部为「—」,表示Super Productivity 已不再提供 32 位 x86 构建。原因可以从 electron-builder.yaml 看出:Windows 目标仅配置arm64与x64,Linux/macOS 同理。现代 Electron 应用与 Chromium 渲染内核均以 64 位为主力,老旧的 32 位系统已不在支持范围内。
二、通过软件仓库安装(推荐)
对于桌面 Linux、macOS 与 Windows,官方维护了多条软件仓库渠道,便于与系统更新机制集成。下表汇总了各渠道与建议安装命令。
[!CAUTION] 下表所列命令与超链接仅为便利而提供。切勿运行你不熟悉的命令或打开你不熟悉的链接!请优先选择你信任的渠道(如发行版官方仓库、应用商店)。
| 仓库 / 安装链接 | 建议安装命令 |
|---|---|
| Flathub | flatpak install flathub com.super_productivity.SuperProductivity |
| Snapcraft | snap install superproductivity |
| Arch Linux(官方 extra 仓库) | pacman -S super-productivity |
| F-Droid | 无(F-Droid 客户端内安装) |
| Google Play | 无(商店内安装) |
| Homebrew Cask(macOS) | brew install --cask superproductivity |
| App Store(macOS / iOS) | 无(商店内安装) |
| Microsoft Store(Windows) | 无(商店内安装) |
| WinGet(Windows) | winget install -e --id JohannesMillan.superProductivity |
| Chocolatey(Windows) | choco install super-productivity --pre |
| Scoop(Windows) | scoop bucket add extras; scoop install extras/super-productivity |
各渠道要点解读
- Flathub / Snap:Linux 桌面发行版覆盖最广的两个渠道,均以沙箱方式运行,数据隔离策略不同(详见下文「数据持久化」小节);
- Arch Linux:
extra/super-productivity已进入官方仓库,由 Arch 社区从源码构建维护,取代了旧的 AUR 包superproductivity-bin; - F-Droid / Google Play:Android 端两个官方分发渠道,APK 同样可在 GitHub Releases 下载(
app-play-release.apk); - WinGet / Chocolatey / Scoop:Windows 三种命令行安装方式,其中 Chocolatey 目前因构建问题需要加
--pre使用预发布版本(见「Windows」小节); - Microsoft Store:因证书签发问题,官方 Wiki 明确推荐 Windows 用户优先使用 Microsoft Store。
从源码可进一步确认运行时分发渠道的检测逻辑:electron/shared-with-frontend/get-dist-channel.ts 通过环境变量区分win-nsis、win-portable、win-store、mac-dmg、mac-store、linux-appimage、linux-snap、linux-flatpak与linux-native九种渠道——例如 Snap 包内会设置$SNAP,Flatpak 包内会设置$FLATPAK_ID,AppImage 会设置$APPIMAGE。
三、Linux 安装后的已知问题与解决
3.1 Snap:本地文件同步需要手动连接home接口
Snap 采用 strict 严格沙箱,默认无法读写home目录之外路径以及部分本地路径。若要使用本地文件同步(Local File Sync),需要手动连接home接口:
snap connect superproductivity:home仓库中的安装钩子 snap/hooks/install 会在安装时检测并提示连接home、system-observe、login-session-observe等接口,其中login-session-observe与system-observe服务于空闲检测(idle detection),home服务于本地文件同步。同时 electron-builder.yaml 的snap.plugs还显式加入了removable-media(允许同步到外接磁盘/USB),并声明了confinement: strict、base: core22、grade: stable。
3.2 Snap:卸载时的数据持久化警告
卸载 Snap 包时,所有用户数据(任务、项目、设置)可能被一并删除。这些数据存放在~/snap/superproductivity/common/目录下。官方建议:
- 卸载前务必先导出数据(设置 → 同步与导出 → 导出数据);
- 若希望数据位于标准的
~/.config/目录,可改用 AppImage 或.deb包; - 若希望卸载时保留数据,可改用 Flatpak(数据存放在
~/.var/app/,卸载时默认保留,除非显式传入--delete-data)。
从源码看,Snap 数据目录的差异源于 electron/start-app.ts 中的专门处理:当检测到process.env.SNAP与SNAP_USER_COMMON时,应用会把 userData 目录重定向到$SNAP_USER_COMMON/.config/superProductivity,目的是避免数据被 Snap 更新过程访问(源码注释:set userData dir to common data to avoid the data being accessed by the update process)。这与常规 Linux 安装的~/.config/superProductivity/路径不同,卸载后该目录是否保留由 Snap 决定,因此才有上述警告。详细数据目录说明见 3.06-User-Data。
3.3 Flatpak:沙箱外的同步/备份目录需要授权
Flatpak 是官方文档中完全受支持的安装方式,与其它渠道地位等同,从 Flathub 安装即可:
flatpak install flathub com.super_productivity.SuperProductivity但 Flatpak 沙箱有两个需要特别注意的点:
- 沙箱外目录的同步/备份权限:若要把同步目标或备份目录放在沙箱外部,必须授予文件系统访问权限,可通过 Flatseal 或
flatpak override完成。未授权时应用会报告权限错误。沙箱内部路径~/.var/app/com.super_productivity.SuperProductivity/无需额外授权。 - 数据与其它安装格式不互通:数据保存在沙箱内而非
~/.config/,因此另一份不同格式的安装(如 AppImage、.deb)看不到这份数据。需要跨安装格式迁移时,请走「导出 → 导入」流程,而不是并排安装两份。
更新无需sudo:
flatpak update com.super_productivity.SuperProductivity3.4 Flatpak:应用内时钟偏离 UTC 偏移(时区问题)
若 Flatpak 沙箱未能检测到宿主机时区,应用会以 UTC 运行,表现为:
- 日程视图(Schedule)的「当前时间」指示器位置错误、时间整体偏移;
- 更关键的是——应用依据本地时钟推导「今天」,时区偏移会连带影响日切换(day rollover),导致临近午夜的定时任务与提醒落到错误的一天。
解决办法是显式覆盖TZ环境变量:
flatpak override --user --env=TZ=Europe/Helsinki com.super_productivity.SuperProductivity(将Europe/Helsinki替换为你自己的时区。)
NixOS 用户的根因在宿主机侧:Flatpak 通过读取/etc/localtime符号链接的目标来获取时区,而 NixOS 将其指向/etc/zoneinfo/…而非/usr/share/zoneinfo/…,且不存在可供 Flatpak 回退的/etc/timezone。在configuration.nix中追加以下配置可一次性修复所有 Flatpak 应用的时区问题:
environment.etc."timezone".text = config.time.timeZone;3.5 AppImage:Ubuntu 下的启动问题
如果在 Ubuntu 上使用 AppImage 遇到问题,官方指向了对应的 issue 评论区(issue #3193)获取说明。AppImage 为免安装的单文件分发,数据存放于标准~/.config/目录,是希望在卸载时保留数据的用户的一个不错选择。
3.6 Arch Linux:从 AUR 旧包切换到官方包
Super Productivity 现已在 Arch 官方仓库中,即extra/super-productivity,由 Arch 维护者从源码构建:
pacman -S super-productivity旧 AUR 包superproductivity-bin(重新打包的 .deb)已不再由本项目维护。若你之前安装过它,切换命令为:
pacman -S super-productivity # 会提示移除与之冲突的 superproductivity-bin切换过程中,~/.config/superProductivity/中的数据会被保留。
四、Wayland 会话下的渲染问题与 GPU 排障
这是 Linux 桌面端最值得深入的一节。Snap 构建在 Wayland 会话下会自动使用 Electron 的 X11 渲染后端,以避免已知的 Mesa/EGL 启动失败。对于其它 Linux 发行包,如果窗口空白或 GPU 进程反复启动失败,可以尝试:
# 切换 Chromium 渲染后端为 X11 superproductivity --ozone-platform=x11注意:该参数只改变 Chromium 的渲染后端,不会启用任何额外的空闲检测功能,并可能放弃 Wayland 原生行为(如分数缩放、原生输入法支持)。
如果窗口仍然不出现,可彻底禁用 GPU 加速:
SP_DISABLE_GPU=1 superproductivity环境变量的优先级关系是:SP_ENABLE_GPU=1强制重新开启 GPU 加速,且优先于SP_DISABLE_GPU。
4.1 自动崩溃恢复:.gpu-launch-incomplete标记
在 Snap 和 Flatpak 上,应用还会自行执行 GPU 崩溃恢复:当某次启动未能完成启动流程时,下一次启动会自动在无 GPU 加速状态下运行,并记录原因。若需手动清除该状态,请删除用户数据目录下的.gpu-launch-incomplete文件(用户数据目录见 3.06-User-Data)。
这一机制的源码实现位于 electron/gpu-startup-guard.ts,其原理值得展开说明:
- 启动时,若处于 Snap/Flatpak 沙箱(
$SNAP或$FLATPAK_ID存在),主进程会在 userData 目录写入内容为{ ts, electronVersion }的标记文件.gpu-launch-incomplete; - 当应用收到
IPC.APP_READY(Angular 前端完成启动)信号时调用markGpuStartupSuccess()删除该标记; - 因此,残留的标记文件意味着上一次启动没有完成引导——在沙箱场景下极可能是 GPU 进程初始化失败(如 Snap core22 运行时与 Mesa/libgbm 的 ABI 漂移、沙箱内缺少 DRI 节点);
- 判定「上次崩溃」有两个保护条件:标记时间在 5 分钟(
STALE_THRESHOLD_MS)内,且记录的 Electron 版本与当前版本一致,避免挂起/SIGKILL 或升级残留导致的误判; - 判定为崩溃后,electron/start-app.ts 会追加
--disable-gpu与--disable-software-rasterizer两个开关,并叠加--ozone-platform=x11(必须位于所有app.setPath('userData', ...)调用之后,因为标记文件就存放在 userData 目录)。
4.2 Snap 的 argv 级 X11 注入(wrapper 机制)
在 Snap + Wayland 场景下,仅靠主进程内app.commandLine.appendSwitch('ozone-platform','x11')并不总能生效。仓库通过打包钩子 tools/afterPack.js 实现了argv 级注入:打包时把真正的 Electron 二进制改名为superproductivity-bin,在原位置放一个 shell 包装脚本(build/linux/snap-wrapper.sh),在 Electron 启动之前把--ozone-platform=x11塞进 argv。这与 Signal Desktop、Mattermost Desktop 的 Snap 采用同一机制,根因分析记录在 docs/research/snap-wayland-gpu-fix-research.md。
该机制有四个关键性质:
- argv 级生效:标志位在 Chromium 解析命令行之前就已存在,绕开了
appendSwitch在 C++ 主进程PreEarlyInitialization之后写入、无人再读的结构性问题; - 仅作用于自家 Snap + Wayland:包装脚本以
$SNAP_NAME = "superproductivity"为门槛,从其它 snap 的xdg-open启动的 .deb/.rpm 安装($SNAP会泄漏到子进程环境)不会受影响,X11 会话与非 Snap 目标则直接透传; - 用户覆盖优先:若 argv 已带
--ozone-platform=...则不再注入; - 兼容
app.relaunch():重启时execPath指向包装脚本而非改名的 ELF,注入不会丢失。
4.3 哪些控制台报错可以忽略?
以下报错本身并不代表失败:
Failed to get system egl display MESA-LOADER: failed to open … Exiting GPU process due to errors during initializationChromium 会回退到软件渲染,应用依然正常运行。只有在窗口确实没有出现时,这些日志才值得报告。
五、macOS:Universal DMG 与安装提示
除分架构的superProductivity-x64.dmg与superProductivity-arm64.dmg外,官方还提供了同时包含 x86_64 与 arm64 两种架构文件的 Universal DMG(superProductivity-universal.dmg),可在任意 Apple Silicon 或 Intel Mac 上直接安装。macOS 用户还可以通过 Homebrew Cask(brew install --cask superproductivity)或 App Store 安装。macOS 的构建配置(硬运行时、公证notarize: true、darkModeSupport 等)见 electron-builder.yaml 的mac段。
六、Windows:推荐 Microsoft Store
官方文档明确指出:由于证书签发问题,Windows 端推荐使用 Microsoft Store(apps.microsoft.com搜索 Super Productivity 即可)。这可以省去处理 SmartScreen 拦截、证书信任等环节。若偏好命令行安装,可按需选择:
# WinGet(推荐,与系统更新集成) winget install -e --id JohannesMillan.superProductivity # Chocolatey(注意:目前官方构建存在问题,必须使用 --pre 预发布) choco install super-productivity --pre # Scoop(extras bucket) scoop bucket add extras scoop install extras/super-productivity值得注意的是,Windows Store 构建版的数据目录可能与安装版不同:若 Windows 对该包做了虚拟化,其AppData写入会被重定向到Local\Packages\...\LocalCache\Roaming,否则写入普通的Roaming路径。设置界面会显示实际存在的那个路径,请以应用内显示为准(详见 3.06-User-Data)。
七、数据目录速查与备份提醒
无论通过哪种渠道安装,理解数据存放位置对「安装 → 迁移 → 卸载」都至关重要。桌面端默认位置如下:
| 平台 | 默认数据目录 |
|---|---|
| macOS | ~/Library/Application Support/superProductivity/ |
| Windows | C:\Users\<用户名>\AppData\Roaming\superProductivity\(即%APPDATA%\superProductivity) |
| Linux | ~/.config/superProductivity/ |
| Snap(Linux) | $SNAP_USER_COMMON/.config/superProductivity |
| Flatpak(Linux) | ~/.var/app/com.super_productivity.SuperProductivity/config/superProductivity/ |
如果希望使用自定义数据目录,可用启动参数:
superproductivity --user-data-dir=/path/to/my/data该参数的解析位于 electron/start-app.ts(会剥离尾部斜杠,并通过app.setPath('userData', customUserDir)生效)。自动备份文件存放于{userData}/backups/,采用YYYY-MM-DD_HHmmss.json命名。更完整的目录结构(styles.css主题文件、local-rest-api-token、IndexedDB 数据库清单等)见 3.06-User-Data。
八、安装完成后的下一步
- 首次使用:参考 1.01-First-Steps 快速上手任务、计时与收尾流程;
- 配置数据同步:参考 1.02-Configure-Data-Synchronization 与 2.08-Choose-Sync-Backend 选择 WebDAV、Dropbox、SuperSync 等后端;
- 从备份恢复:参考 2.02-Restore-Data-From-Backup;
- 自行打包:若需要定制构建,可用
npm run dist(前提是已按 2.11-Run-the-Development-Server 搭好开发环境),构建与打包细节见 2.12-Package-the-App;Android 端构建见 2.14-Build-for-Android。
小结:安装方式速选表
| 使用场景 | 推荐渠道 |
|---|---|
| 想跟随官方最新版、离线分发 | GitHub Releases(electron-builder.yaml 对应产物) |
| Ubuntu/Fedora 等主流桌面 Linux | Flatpak 或 Snap(二选一,注意数据目录差异) |
| Arch/Manjaro | pacman -S super-productivity(官方 extra 仓库) |
| 希望卸载后保留数据 | AppImage / .deb(~/.config)或 Flatpak(~/.var/app,默认保留) |
| Android 手机/平板 | F-Droid、Google Play 或 GitHub Releases APK |
| macOS | DMG(含 Universal 版)、Homebrew Cask 或 App Store |
| Windows | Microsoft Store(首选)、WinGet、Scoop 或 NSIS 安装器 |
| Wayland 下窗口空白 | --ozone-platform=x11,仍无效则SP_DISABLE_GPU=1 |
【免费下载链接】super-productivitySuper Productivity is an advanced todo list app with integrated Timeboxing and time tracking capabilities. It also comes with integrations for Jira, GitLab, GitHub and Open Project.项目地址: https://gitcode.com/GitHub_Trending/su/super-productivity
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考