快贴,是一个跨平台的剪切板同步软件,之前小众软件已经推荐过了。
该软件除了支持 WIndows、macOS、iOS、Android 外,其实也支持 Linux。不过 Linux 版本比较特殊,一是年久失修,其依赖的许多库在最新版的 Ubuntu 软件源中已经被移除了 最新版本中作者已经移除了对这些过时的库的依赖,新版本系统可以直接安装了;二是 Ubuntu 版的快贴是基于命令行的,不能直接与桌面环境的剪切板交换数据。
这里提供了一些关于在 Linux 上安装快贴,以及使其与桌面环境的剪切板之间通信的方法。
特别说明:由于快贴的 Linux 版本尚在开发中,未来该软件的操作方式可能发生很大的变化,届时本文给出的方法很可能也会失效。
针对快贴 Linux 版最近一次更新做出的改动,本文已于 2023 年 9 月 3 日更新。
1 安装快贴
首先,下载快贴的安装包:
wget https://clipber.com/linux/clipd.latest.tar.gz
# 或者:curl -L -O https://clipber.com/linux/clipd.latest.tar.gz
然后,解压安装包,进入得到的目录中,运行安装命令:
make install
2 配置快贴后台服务
快贴 Ubuntu 版的是以守护进程的形式运行的。我们可以这样配置快贴后台进程。
- 进入
~/.config/systemd/user
,在其中创建名为clipd.service
的文本文件。 - 在
clipd.service
中输入如下内容:
[Unit]
Description=快贴后台进程
[Service]
ExecStart=clipd
Restart=always
RestartSec=2
[Install]
WantedBy=default.target
- 终端执行如下命令,启动快贴后台进程
systemctl --user start clipd
如需关闭快贴后台进程,请执行
systemctl --user stop clipd
;
如需重新启动快贴后台进程,请执行systemctl --user restart clipd
。
- 如需令快贴在系统启动后自动运行,请输入
systemctl --user enable clipd
如需禁止快贴开机自启动,请执行
systemctl --user disable clipd
。
3 登录快贴帐号
首先请按第2节中的方法启动快贴后台进程,然后按软件作者提供的操作指南进行即可。
- 登录命令:
clipctl config login
- 激活端到端加密,以便在各平台之间同步剪切板:
clipctl config safebox active
如果之前登录过,后来登出了,但再次登录时提示连接错误,可删除主目录下的
.clipd
文件夹,然后再次运行clipctl config login
进行登录。
4 实现快贴与桌面剪切板之间的通信
首先,我们需要安装两个软件包:
sudo apt install jq
sudo apt install xsel
jq
用于解析 JSON 数据。快贴命令行版提供的剪切板内容是以JSON格式提供的。xsel
可在命令行下操控桌面环境的剪切板,类似于 Windows 系统中的CLIP
命令。
然后,写两个脚本,分别用于将快贴云剪切板中最新的内容发送到桌面剪切板中,以及将系统剪切板中的内容发送到云剪切板中。
接收云剪切板内容:clipber-get.sh
#!/bin/sh
clipctl get $(clipctl ls | jq -r ".[0].id") | xsel -ib
向云剪切板发送内容:clipber-send.sh
#!/bin/sh
xsel -ob|clipctl add text -
为了方便使用,可以为这两个脚本绑定快捷键。例如,我把接收剪切板的脚本绑定到小键盘的 Insert
键上,而发送剪切板的脚本绑定到小键盘的 Del
键上。
参考资料:
- 快贴剪切板作者提供的使用说明:https://blog.clipber.com/docs/linux/linux-about/
- xsel功能介绍:https://dbigr.com/article/481411/
- 使用 systemd 管理普通用户的服务:https://zhuanlan.zhihu.com/p/386255961