2个不稳定版本
0.2.0 | 2023年8月3日 |
---|---|
0.1.0 | 2022年11月15日 |
#375 in Unix API
39KB
802 行
Clipboard Sync
在同一台机器上同步多个X11和wayland实例的剪贴板。
使用案例
- 提高Wayland兼容性:您已经在系统中启用了对wayland的支持,但您的计算机无法在X11和wayland窗口之间同步剪贴板。clipboard-sync可以解决这个问题。 更多详情
- VNC:您运行了一个VNC服务器,并希望同一用户的所有主机和客户端登录共享相同的剪贴板。
- 多显示器:您在多个ttys中运行了两个或更多桌面环境或窗口管理器,使用ctrl-alt-F*在桌面之间切换。
- 嵌套Wayland:您在一个窗口中运行了wayland合成器。示例
- 您主要使用KDE,但在窗口中运行sway以将所有消息应用合并到一个单独的平铺/选项卡窗口中。
- 您使用GNOME并为GNOME开发扩展,因此您运行一个嵌套的GNOME环境进行测试。
安装
使用系统的包管理器安装clipboard-sync。如果您的系统不受支持,请在相应的问题上投票,或者如果不存在则创建一个。
Arch Linux
clipboard-sync 在Arch用户仓库中可用。
Ubuntu & Debian
从官方仓库安装
sudo wget -P /etc/apt/sources.list.d/ https://raw.githubusercontent.com/dnut/deb/master/dnut.list
sudo apt update && sudo apt install clipboard-sync
高级安装
如果您的系统不受支持,您还有两种其他选择
- 通用Linux
- 自动干净地安装或卸载整个包。
- 需要额外的步骤来获取源代码。
- Cargo
- 仅安装可执行文件,需要手动运行。
- 如果需要,需要额外的步骤手动编辑和安装systemd服务。
- 如果您使用cargo-update,它可以使更新可执行文件更容易。
通用Linux
从源码构建,然后安装系统范围内或仅对当前用户
sudo make install # system
make user-install # user
可以轻松卸载
sudo make uninstall # system
make user-uninstall # user
Cargo
clipboard-sync已发布到crates.io,因此可以像普通二进制crate一样安装。
- 安装rust: https://rust-lang.net.cn/tools/install
- 安装clipboard-sync
cargo install clipboard-sync
- 如果您希望它在后台运行,可以使用tmux,或者您可以手动下载systemd服务文件并将其复制到systemd文件夹。您可以使用此命令将其下载到正确路径,之后可能需要手动编辑文件以指向正确的二进制位置
wget -P "$HOME/.config/systemd/" https://raw.githubusercontent.com/dnut/clipboard-sync/master/clipboard-sync.service
可以轻松卸载
cargo uninstall clipboard-sync
rm -r "$HOME/.config/systemd/clipboard-sync.service"
Ubuntu & Debian (高级)
除了从官方仓库安装外,您还可以从源码构建并安装deb包。按照说明从源码构建,然后创建deb文件并安装
make deb && sudo apt install ./dist/deb/clipboard-sync_*.deb
从源码构建
- 确保您有构建依赖项:rust make gcc libc libxcb
- 使用rustup安装rust: https://rust-lang.net.cn/tools/install
- 其余部分
- arch linux:
sudo pacman -Syu make gcc libxcb
- debian/ubuntu:
sudo apt install make gcc libxcb1-dev libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev
- arch linux:
- 从发布页面下载源码并解压。或者,选择以下命令之一下载源码
wget -O- https://github.com/dnut/clipboard-sync/archive/refs/tags/0.2.0.tar.gz | tar xvz
curl -L https://github.com/dnut/clipboard-sync/archive/refs/tags/0.2.0.tar.gz | tar xvz
git clone https://github.com/dnut/clipboard-sync.git --branch stable
- 编译程序
cd clipboard-sync*
make
可执行文件在这里
./target/release/clipboard-sync
用法
典型的设置并忘记的方法是启用服务
systemctl --user enable --now clipboard-sync
如果您不希望它持续运行,仅在需要时运行,请不要使用systemd。根据需要直接调用二进制文件
clipboard-sync
您还可以使用tmux而不是systemd将clipboard-sync守护化。这些命令的~/.bashrc别名可能很有用。
tmux new-session -ds clipboard-sync clipboard-sync # start in background
tmux attach -t clipboard-sync # view status
ctrl-b, d # while viewing status, send back to background
ctrl-c # while viewing status, terminate the process
依赖项
~10–24MB
~309K SLoC