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

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

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

  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 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 键上。

参考资料:

1 个赞

手动啊? :sob:

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

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

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

1 个赞

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