Ctrl-Enter for Midnight Commander 在 Fedora 的 X 終端中不工作,在 OpenSuse 中工作
我喜歡午夜指揮官。可能與 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 連接在它們內部不可用(例如憑據未正確設置/由su
or轉發sudo
;screen
或tmux
從另一個 X 伺服器分離和重新連接;顯示未由 轉發ssh
) .該功能也不適用於 Wayland。我懷疑它無法在 Wayland 中實現,因為它的安全模型,或者至少在沒有對某些核心 Wayland 組件的一些外掛/擴展的情況下不能實現。但是即使可以檢測到修飾符的狀態,它還沒有在
mc
.