更新 link-cleaner v1.1.0 适配linux桌面环境

💡 原文中文,约1800字,阅读约需5分钟。
📝

内容提要

最近安装了debian trixie,使用link-cleaner程序下载jar包到本地,发现在Linux下无法将输出写入系统剪贴板。解决方法是安装xclip或xsel,并安装v1.1.0版本的jar包后运行java -jar命令。

🔎

延伸解读

Linux剪贴板机制差异

文章指出,在Linux桌面环境下,Java的AWT API无法像在Windows或macOS上那样直接将内容写入系统剪贴板。作者认为这与Linux的窗口工作机制不同有关,但具体原理尚未完全弄清。因此,依赖AWT剪贴板操作的Java程序在Linux上可能失效,需要寻找替代方案。

借助xclip实现剪贴板写入

为了解决剪贴板问题,link-cleaner v1.1.0在Linux下改为调用外部工具xclip。代码通过Runtime.exec执行bash命令,使用echo -n将文本通过管道传给xclip,并指定-selection clipboard。同时,代码对文本中的特殊字符进行了转义,以避免命令注入或解析错误。

安装与使用前提

要正常使用该功能,用户需先安装xclip或xsel。文章给出了deb系和rpm系的安装命令,如apt、yum或dnf。此外,必须使用v1.1.0版本的jar包,并确保本地已安装Java 11且配置好环境变量,这样在任意位置和用户下都能通过java -jar命令运行。

❓

Q&A

如何在Linux上使用link-cleaner将内容写入剪贴板?

需要安装xclip或xsel,并确保安装v1.1.0版本的jar包,然后使用命令java -jar运行程序。

为什么link-cleaner在Linux下无法直接写入剪贴板?

因为Linux的窗口工作机制与Windows和macOS不同,AWT API在Linux上的处理方式也不同。

如何安装xclip以解决Linux剪贴板问题?

可以使用命令sudo apt install -y xclip(Debian系)或sudo yum install -y xclip(RPM系)进行安装。

在Linux上运行link-cleaner需要什么环境?

需要安装Java 11,并确保环境变量已正确设置。

link-cleaner v1.1.0的下载地址是什么?

可以在GitHub的release页面下载,链接是https://github.com/hellodk34/link-cleaner/releases/tag/v1.1.0。

如何在Linux上使用Java命令运行link-cleaner?

在终端中输入命令$ java -jar link-cleaner-v1.1.0.jar,后面跟上要写入剪贴板的文本。

🏷️

标签

➡️

继续阅读