Linux 剪贴板是一个文件吗?

Linux 剪贴板是一个文件吗?

我们都知道这句话:在 Linux 中,一切皆文件

我的问题是:Linux 中如何处理剪贴板?它是一个可访问且明确的文件吗?例如,是否可以用 cat 读取它或使用重定向写入它?(假设您有足够的权限)

如果我的假设是正确的,那么它位于哪里,并且它是否特定于实现分布?

答案1

不可以,除非您有第三方程序将剪贴板的内容复制到某个文件中。

以下是askubuntu 的剪贴板内容存储在哪里?

您似乎对 Linux 中的剪贴板缺乏了解。通常有 3 个剪贴板可供用户使用。

这些剪贴板被称为“选择”

有:

  • PRIMARY - 通常用于鼠标中键 = 复制/粘贴
  • SECONDARY - 通常不怎么使用,但确实存在。通常作为应用程序内特定的复制和粘贴。
  • 剪贴板-通常是Ctrl+cCtrl+v样式的复制和粘贴。

默认情况下,它们都存储在控制应用程序的内存中(通常是 Xorg,但并非总是如此)。并且每个子应用程序都可以访问它。

剪贴板监视器和管理器可以监视剪贴板并将其内容存储在文件中,或者更常见的是,让您查看剪贴板历史记录。


以下是一些有趣的信息剪贴板上的 archlinux wiki

历史

在 X10 中,引入了剪切缓冲区。这些是存储任意文本的有限缓冲区,大多数应用程序都会使用它们。但是,它们效率低下,并且实现方式各不相同,因此引入了选择。剪切缓冲区早已被弃用,尽管某些应用程序(例如 xterm)可能对它们有旧版支持,但不太可能也不建议使用它们。

选择

自由桌面网描述两个主要选择如下:[1]

  • 基本的

    用于当前选定的文本(即使未明确复制)以及鼠标中键单击粘贴。在某些情况下,也可以使用键盘快捷键进行粘贴。

  • 剪贴板

    用于涉及键盘快捷键或菜单项的显式复制/粘贴命令。因此,它的行为类似于 Windows 上的单剪贴板系统。与 PRIMARY 不同,它还可以处理多种数据格式。

大多数项目韓國, 包括QtGTK+应用程序,请遵循此行为。虽然国际商会联合会还定义了一个 SECONDARY 选择,但它没有一致同意的用途。尽管有这样的名字,但所有三个选择基本上都是“剪贴板”。与旧的“剪切缓冲区”系统不同,在旧系统中,任意应用程序都可以修改存储在剪切缓冲区中的数据,一次只有一个应用程序可以控制或“拥有”一个选择。这可以防止选择操作不一致。

查看键盘快捷键页面其中列出了许多程序中的默认快捷方式。

同样重要的是要意识到,根据选择协议,没有任何内容是被复制的直到粘贴为止。例如,如果您在终端窗口中选择某个单词,关闭终端,然后想将其粘贴到其他地方,这将无法工作,因为终端消失了,文本没有被复制到任何地方。如果您想在关闭终端窗口后保留该单词,请考虑安装剪贴板管理器

笔记剪贴板管理器可以显著改变用户体验,例如他们可以同步 PRIMARY 和 CLIPBOARD 选择来模拟单剪贴板系统。

相关内容