
我一直在 Linux 系統上使用複製貼上功能。我第一次下載核心原始碼。在哪裡可以找到與複製貼上功能相關的程式碼?
我的猜測是它不屬於Linux的核心部分。如果我是對的,我可以在哪裡找到它?
答案1
你是對的,它不是 Linux 核心的一部分。內核根本不負責這樣的工作。具體是什麼取決於您的系統。在控制台上它可能是你的 tty 驅動程序,在你想到的大多數圖形環境中可能都是基於 Xorg 並使用 Xorg 選擇緩衝區和剪貼板;但您也可能正在使用 Wayland;直接幀緩衝區驅動程式或其他圖形引擎,程式碼可能位於其他地方。即使在 Xorg 的情況下,Xorg 也不負責將按鍵和其他事件綁定到操作。這將取決於您的桌面環境或視窗管理器,這可能是很多事情。
如果沒有關於您的環境的更多詳細信息,就沒有一個地方可以指向您。同時,聽起來您需要更多地了解 Linux 系統的整體架構以及哪些系統負責哪些類型的操作。您的問題的最終答案幾乎肯定會分佈在不止一層中,您需要知道它們如何結合在一起才能理解它。
答案2
若要在文字模式控制台上進行複製貼上,請drivers/tty/vt/selection.c
在核心原始碼樹(drivers/char/selection.c
在較舊的核心中)中尋找檔案。虛擬終端上剪下貼上的使用者區部分是gpm
「通用滑鼠介面」。
GUI 中的複製貼上不是由核心處理的,而是由X。
答案3
複製貼上是桌面環境(X11、GNOME 等)的一部分。在控制台上,複製貼上將/可以由gpm
在控制台模式下提供滑鼠功能的服務來完成。