在 Linux 上把 Canva 做成桌面应用
Canva 的下载页提供 Mac 和 Windows 桌面版,没有提到 Linux,所以 Linux 上通常是在浏览器标签页里打开 canva.com。Pake CLI 可以把同一个网站放进一个独立窗口,任何带 WebKitGTK 的发行版上一条命令就能构建,产物是 .deb、.rpm、AppImage 或 Arch 包。Canva 列出的受支持浏览器是 Chrome、Firefox、Safari、Edge 和 Opera,并不包括内嵌的 WebKitGTK,所以构建之后先测编辑器、上传和导出,再决定要不要依赖它。
Canva 在桌面端提供什么
Canva 的下载页只有 Mac 版和 Windows 版两个下载入口,Windows 页面写的是支持 Windows 10 及更高版本,两页都没有提到 Linux。Canva 的桌面应用帮助文章说应用适用于 macOS 和 Windows,功能和在浏览器里用 Canva 一样,截至 2026 年 11 月,这些页面上没有 Linux 版。
Canva 的技术要求列出了支持的浏览器,Chrome 99 及以上、Firefox 102 及以上、Safari 15.4 及以上、Edge 99 及以上、Opera 86 及以上,并且要开启 JavaScript。所以在 Linux 上,受支持的做法是用 Chrome、Firefox 或 Edge 这类正常浏览器。Pake 窗口不在这份名单里,它用的是 GNOME Web 背后的 WebKitGTK,页面能打开也不代表受支持。
什么时候值得用 Pake 窗口
Canva 的标签页本身就是完整的编辑器,对很多人已经够用,想让 Canva 出现在切换窗口和启动器里,而不是淹没在三十个标签页中,或者想让它的登录状态和日常浏览器分开,独立窗口才有用。它不会给 Canva 添加任何东西,窗口里就是网页版编辑器,浏览器版做不到的,这里也做不到。
也有第三方项目把 Canva 封装成 Flatpak。canva-linux 的 README 说它是非官方的 Linux 桌面应用,给 Canva 网页版一个独立窗口,依赖里列了 WebKitGTK(gir1.2-webkit-6.0),并声明和 Canva 没有关联,也没有得到 Canva 的认可或赞助。canvadesktop 说自己是一个轻量的 Electron 封装,两个 README 都没有提供现成的安装包,都是用 flatpak-builder 从仓库本地构建 Flatpak。
哪个 Pake 适合你的系统
Pake CLI 能给任何带 WebKitGTK 的 Linux 发行版构建,不需要 Node.js 和 Rust 的 Pake 桌面版只支持 x86_64 的 Arch 和 Omarchy,见安装说明。在 Ubuntu、Fedora 或 openSUSE 上用 CLI,在 Arch 或 Omarchy 上两个都行,桌面版是填表构建,CLI 的选项更全,包括下载目录。
用 CLI 构建
需要 Node.js 20.9 或更新、Rust 1.85 或更新,以及 WebKitGTK 开发包。Ubuntu 上的清单在进阶用法里,其中有 libwebkit2gtk-4.1-dev、libgtk-3-dev 和 libayatana-appindicator3-dev,缺了 appindicator 那个包,构建会停在 "Can't detect any appindicator library",CLI 常见问题里有说明。
npm install -g pake-cli
pake https://www.canva.com --name Canva --width 1400 --height 900 --download-dir '~/Pictures/Canva'
--name 在 Linux 上会转成小写,所以文件叫 canva。--width 和 --height 是起始大小,默认 1200 × 780。--download-dir 指定下载保存的位置,加引号的 ~ 会在运行时解析成运行这个应用的用户的家目录,目录不存在会在第一次下载时创建,目录写不进去时下载会失败,而不是悄悄存到别处。
默认的包格式取决于发行版,Pake 读 /etc/os-release,Debian 和 Ubuntu 上出 .deb 和 AppImage,Fedora、RHEL、Rocky、AlmaLinux 和 openSUSE 上出 .rpm 和 AppImage。想只出一种格式就用 --targets 指定 deb、rpm 或 appimage,Arch 上指定 zst 得到原生的 pacman 包。第一次构建要几分钟,各格式的安装命令在 Linux 上的 ChatGPT 和 Claude 里讲得更细。
用桌面版在 Arch 或 Omarchy 上构建
用 pacman 安装 Pake 的包,打开后在创建页的输入框里粘贴 https://www.canva.com,在打开的应用页上点创建应用,各选项见创建应用。无痕浏览保持关闭,因为它每次都从干净的会话开始,不保留登录。桌面版的选项里没有下载目录,需要的话就用 CLI。
登录
如果用 Google 登录 Canva,要知道 Google 不允许它的登录页出现在内嵌的 WebView 里,这是 Google 的政策,不是 Pake 的设置,见 Google 登录排查。Mac 和 Linux 上 Pake 让登录弹窗在当前窗口里打开,用 Apple 登录则保留原生弹窗。自己常用的登录方式先测一遍,不行就换 Canva 登录页上的其他方式,或者用浏览器。
引擎为什么重要
Linux 上的 Pake 应用是一个 Tauri 外壳,用系统的 WebKitGTK 绘制页面,引擎版本就是你的发行版带的那个。如果编辑器在拖动或缩放时变慢,先看引擎版本,常见问题里说一个重页面在 WebKitGTK 里可能占几百 MB 内存,这个数字由引擎和页面决定,不是 Pake。Pake 在 Linux 上默认发送 Safari 风格的 User Agent,--user-agent 能改这个字符串,改不了引擎。
AppImage 在 niri 这类纯 Wayland 合成器下点击和按键没反应时,常见问题建议用 PAKE_LINUX_WEBKIT_SAFE_MODE=0 启动,窗口因此空白就改用 PAKE_LINUX_WEBKIT_SAFE_MODE=1:
PAKE_LINUX_WEBKIT_SAFE_MODE=1 ./canva.AppImage
WebKitGTK 2.52 及以上,Pake 用共享内存渲染,不再关掉渲染器,视频需要的硬件加速得以保留,更老的版本沿用兼容参数。
依赖它之前要测什么
在你实际干活的那台机器上,用一份真实的设计去测,不要用空白画布。
- 编辑器。 打开一份已有设计,拖动元素、缩放、编组、撤销重做,再缩放画布,留意卡顿、闪烁或画布不再刷新。
- 上传。 先用文件对话框添加一张图片,再从文件管理器里拖一张进来,拖文件上传不用加参数。
- 字体。 打开一份用了多种字体的设计,包括你自己上传的,和同一份设计在浏览器里的样子对比,文字排版不一样说明字体或引擎渲染得不同。
- 导出。 按 Canva 的帮助,打开分享,选择下载,选文件类型,再点下载。PNG、PDF 和你会用到的视频格式都试一遍,检查下载目录里的文件能正常打开。Canva 的格式包括 JPG、WebP、PNG、SVG、PDF、PPTX、DOCX、GIF 和 MP4,部分选项需要付费套餐。
- 保持登录。 退出再打开一次,确认 Canva 还认得你。
视频、演示和带音频或摄像头的内容要单独测,因为 Pake 的 --camera 和 --microphone 只在 Mac 上生效。
出问题时
验证页面一直循环过不去,说明这道检查在拒绝这个引擎,常见问题里说 Pake 这边没有可靠的办法,只能换受支持的浏览器。Chrome 里能用、窗口里不能用的功能,问题多半在 WebKitGTK,常见问题建议先换一个 --user-agent 重新构建试试。窗口空白时用上面的 PAKE_LINUX_WEBKIT_SAFE_MODE=1。
Mac 和 Windows 的读者
在 Mac 或 Windows 上,Canva 自己的应用更省事,它是官方构建,技术要求里写的是 macOS 12 及以上、Windows 10 1909 及以上,在浏览器里点个人资料图标打开账户菜单,选在桌面应用中打开就能切到它。只有想要一个登录状态独立的第二个窗口、自定义大小、托盘图标或自己注入的 CSS 时,才值得在那里构建 Pake 应用,见自定义窗口和把网站变成桌面应用。
常见问题
Canva 有官方的 Linux 应用吗?
没有,Canva 的下载页上没有,页面只列了 Mac 和 Windows,Linux 上受支持的做法是用受支持的浏览器。
Pake 桌面版能在 Ubuntu 上跑 Canva 吗?
不能,桌面版只支持 x86_64 的 Arch 和 Omarchy,Ubuntu 上用 Pake CLI 构建。
窗口里能离线用 Canva 吗?
不能,窗口加载的是网站,需要联网,Canva 的帮助文章没有说它自己的桌面应用能不能离线用。
