快贴,是一个跨平台的剪切板同步软件,之前小众软件已经推荐过了。
该软件除了支持 WIndows、macOS、iOS、Android 外,其实也支持 Ubuntu。不过 Ubuntu 版本比较特殊,一是年久失修,其依赖的许多库在最新版的 Ubuntu 软件源中已经被移除了;二是 Ubuntu 版的快贴是基于命令行的,不能直接与桌面环境的剪切板交换数据。
至于依赖的问题,软件作者说 Linux 版还在开发,日后会提供不依赖外部库的版本。
这里提供了一些关于在 Ubuntu 上安装快贴,以及使其与桌面环境的剪切板之间通信的方法。
特别说明:由于快贴的 Linux 版本尚在开发中,未来该软件的操作方式可能发生很大的变化,届时本文给出的方法很可能也会失效。
1 安装快贴
首先,下载快贴的几个依赖包,并安装它们:
https://mirrors.tuna.tsinghua.edu.cn/ubuntu/pool/main/i/icu/libicu66_66.1-2ubuntu2_amd64.deb
https://mirrors.tuna.tsinghua.edu.cn/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb
https://mirrors.tuna.tsinghua.edu.cn/ubuntu/pool/universe/libz/libzip/libzip5_1.5.1-0ubuntu1_amd64.deb
可把上述链接保存到
urls.txt
文件中,然后用wget
批量下载:wget -i urls.txt
然后,下载快贴的安装包,并安装之。下载链接如下:
https://apt.clipber.com/debian/pool/main/c/clipd/clipd_1.0.2_amd64.deb
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 -U login
- 激活端到端加密,以便在各平台之间同步剪切板:
clipctl -e active
如果之前登录过,后来登出了,但再次登录时提示连接错误,可删除主目录下的
.clipd
文件夹,然后再次运行clipctl -U login
进行登录。
4 实现快贴与桌面剪切板之间的通信
首先,我们需要安装两个软件包:
sudo apt install jq
sudo apt install xsel
-
jq
用于解析 JSON 数据。快贴命令行版提供的剪切板内容是以JSON格式提供的。 -
xsel
可在命令行下操控桌面环境的剪切板,类似于 Windows 系统中的CLIP
命令。
然后,写两个脚本,分别用于将快贴云剪切板中最新的内容发送到桌面剪切板中,以及将系统剪切板中的内容发送到云剪切板中。
接收云剪切板内容:clipber-get.sh
#!/bin/sh
clipctl -g $(clipctl -l | jq -r ".[0].id")|xsel -ib
向云剪切板发送内容:clipber-send.sh
#!/bin/sh
xsel -ob|clipctl -t
为了方便使用,可以为这两个脚本绑定快捷键。例如,我把接收剪切板的脚本绑定到小键盘的 Insert
键上,而发送剪切板的脚本绑定到小键盘的 Del
键上。
参考资料:
- 快贴剪切板作者提供的使用说明:https://blog.clipber.com/docs/linux/linux-about/
- xsel功能介绍:https://dbigr.com/article/481411/
- 使用 systemd 管理普通用户的服务:https://zhuanlan.zhihu.com/p/386255961