Fedora

Ctrl-Enter for Midnight Commander 在 Fedora 的 X 終端中不工作,在 OpenSuse 中工作

  • March 12, 2019

我喜歡午夜指揮官。可能與 90 年代初在俄羅斯使用 DOS 機器有關,但現在我真的很喜歡命令行與兩面板文件列表的集成。一個關鍵特性是 Ctrl+Enter 將目前選擇的文件或目錄的名稱複製到命令行中,而不啟動它。

不幸的是,在 Fedora(26 和 27)上,這在 Konsole 中失敗了,顯然在所有其他基於 X 的終端中也是如此。它確實在虛擬控制台中工作,我按 Ctrl-Alt-F3 得到 py。

在 OpenSuse Leap(42.1、42.2、42.3)上,Ctrl+Enter 功能完美執行。我想不出任何區別。(我在兩者上都使用 KDE,據我所知,這意味著在 Fedora 上我有 X.org,而不是 Wayland)。

如何讓 Ctrl+Enter 在 Fedora 上工作?或者,如果這是不可能的,有沒有辦法將非常有用的功能重新分配給 Midnight Commander 中的其他組合鍵?

(我也會考慮 Midnight Commander 本身的替代品,但是在控制台視窗中執行的那些,似乎沒有。我不需要圖形雙面板文件管理器,因為我使用 MC 來協助快速製作命令)。

tl;dr:習慣於Alt+ Enter(又名ESC後跟Enter)。

Ctrl+Enter在終端仿真器中生成與 完全相同的序列Enter,因此應用無法區分這兩者。好吧,沒有辦法通過查看它從終端仿真器接收到的輸入流。

mc有一個有趣的功能叫做“X11 support”。它不僅查看從終端仿真器接收到的字節,而且(如果已編譯此支持,並且如果 X11 連接在執行時可用)查詢 X11 伺服器以獲取修改鍵的狀態。

所以基本上它是這樣的:“哇,我從終端模擬器收到一個 Enter。嘿,X11 伺服器,現在按下 Ctrl 了嗎?”

有多種方法可能不適合您。

我不知道Fedora 的mc編譯可能沒有 X11 支持。檢查輸出mc --version,它是否包含“支持 X11 事件”?

su, sudo, screen, tmux,ssh或類似工具也可能會破壞此功能,以防 X11 連接在它們內部不可用(例如憑據未正確設置/由suor轉發sudoscreentmux從另一個 X 伺服器分離和重新連接;顯示未由 轉發ssh) .

該功能也不適用於 Wayland。我懷疑它無法在 Wayland 中實現,因為它的安全模型,或者至少在沒有對某些核心 Wayland 組件的一些外掛/擴展的情況下不能實現。但是即使可以檢測到修飾符的狀態,它還沒有在mc.

引用自:https://unix.stackexchange.com/questions/414413