在 Ubuntu 桌面中使用快贴的一些小技巧

快贴,是一个跨平台的剪切板同步软件,之前小众软件已经推荐过了。

该软件除了支持 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 版的是以守护进程的形式运行的。我们可以这样配置快贴后台进程。

  1. 进入 ~/.config/systemd/user,在其中创建名为 clipd.service 的文本文件。
  2. clipd.service 中输入如下内容:
[Unit]
Description=快贴后台进程

[Service]
ExecStart=clipd

Restart=always
RestartSec=2

[Install]
WantedBy=default.target
  1. 终端执行如下命令,启动快贴后台进程
systemctl --user start clipd

如需关闭快贴后台进程,请执行 systemctl --user stop clipd
如需重新启动快贴后台进程,请执行 systemctl --user restart clipd

  1. 如需令快贴在系统启动后自动运行,请输入
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 键上。

参考资料:

1 Like

手动啊? :sob:

你要是打算在局域里面搞 pc 剪贴板同步,可以考虑用我写的软件,更加专用:

  1. 同步文件、图片和文本
  2. 密码不同步。可设置超大文件不同步。
  3. 纪录剪贴板历史纪录。
  4. 传输加密。

我目前只提供了 windows 版本,既然是 linux,你可以自己编译一下,只依赖于 Qt

1 Like

感谢大佬!不过我用快贴,就是因为需同步剪切板的各设备之间是跨网络的……