Midnight Commander의 Ctrl-Enter는 Fedora의 X 터미널에서 작동하지 않지만 OpenSuse에서는 작동합니다.

Midnight Commander의 Ctrl-Enter는 Fedora의 X 터미널에서 작동하지 않지만 OpenSuse에서는 작동합니다.

저는 미드나잇 커맨더를 좋아합니다. 아마도 그것은 러시아가 90년대 초반에 DOS 시스템을 사용하기 시작했다는 사실과 관련이 있을 것입니다. 하지만 지금은 명령줄과 두 패널 파일 목록의 통합이 정말 마음에 듭니다. 주요 기능은 Ctrl+Enter를 누르면 현재 선택된 파일이나 디렉터리의 이름을 실행하지 않고 명령줄에 복사한다는 것입니다.

불행하게도 Fedora(26 및 27)에서는 Konsole과 다른 모든 X 기반 터미널에서 실패합니다. 가상 콘솔에서는 작동합니다. Ctrl-Alt-F3을 누를 수 있습니다.

OpenSuse Leap(42.1, 42.2, 42.3)에서는 Ctrl+Enter 기능이 완벽하게 작동합니다. 차이점을 찾을 수 없습니다. (저는 두 가지 모두에서 KDE를 사용하고 있습니다. 제가 이해한 바로는 Fedora에는 Wayland가 아니라 X.org가 있다는 뜻입니다.)

Fedora에서 Ctrl+Enter를 작동시키는 방법은 무엇입니까? 아니면 이것이 가능하지 않은 경우 Midnight Commander의 다른 키 조합에 매우 유용한 기능을 재할당할 수 있는 방법이 있습니까?

(Midnight Commander 자체에 대한 대안도 고려하고 있지만 콘솔 창에서 실행되는 대안은 없는 것 같습니다. MC를 사용하여 명령 공식화를 지원하므로 그래픽 2패널 파일 관리자가 필요하지 않습니다. 빠르게).

답변1

Alttl;dr: + Enter( ESC접미사 라고도 함) 를 사용하는 것이 일반적입니다 Enter.

Ctrl+ Enter터미널 에뮬레이터와 정확히 동일한 시퀀스를 생성하므로 Enter애플리케이션은 둘을 구별할 수 없습니다. 글쎄요, 터미널 에뮬레이터에서 받은 입력 스트림을 보면 방법이 없습니다.

mc"X11 지원"이라는 흥미로운 기능이 있습니다. 터미널 에뮬레이터에서 받은 바이트를 볼 뿐만 아니라 (이 지원으로 컴파일되고 런타임에 X11 연결이 사용 가능한 경우) X11 서버에 수정자 키의 상태를 쿼리합니다.

기본적으로 다음과 같이 진행됩니다. "와, 터미널 에뮬레이터에서 Enter 키를 눌렀습니다. X11 서버님, 지금 Ctrl 키를 누르셨나요?"

귀하에게 적합하지 않은 몇 가지 방법이 있습니다.

Fedora는 mcX11 지원 없이 컴파일될 수도 있습니다. 모르겠습니다. 출력을 확인하십시오 mc --version. "X11 이벤트 지원"이 포함되어 있습니까?

su, sudo, screen또는 tmux유사한 도구는 X11 연결을 사용할 수 없는 경우(예: 자격 증명이 ssh또는에 의해 올바르게 설정/전달되지 않거나 다른 X 서버에 분리했다가 다시 연결하여 전달되지 않음을 표시하는 경우) 이 기능을 중단할 수도 있습니다.susudoscreentmuxssh

이 기능은 Wayland에서도 작동하지 않습니다. 보안 모델로 인해 Wayland에서 구현할 수 없거나 적어도 일부 핵심 Wayland 구성 요소에 대한 플러그인/확장 없이는 구현할 수 없을 것 같습니다. 그러나 수정자의 상태를 감지하는 것이 가능하더라도 mc.

답변2

아직 대체할 사람이 없어요Ctrl-Shift-EnterWayland의 MC에서.

하나가 누락되었으므로 다음을 사용하는 것이 좋습니다.Alt-m대신에. 때문에입력하다동일합니까?Ctrl-m, 이는 다음을 의미합니다.

  • Alt-Ctrl-m, 즉.Alt-Enter, 을 위한파일 이름 붙여넣기.
  • Alt-m~을 위한전체 경로 이름을 붙여넣으세요..

기본적으로 참고해주세요Alt-m할당우편작업을 수행하므로 해당 매핑이 손실되지만 성공적인 거래처럼 보입니다.

/etc/mc/mc.keymap다음은 기본 키맵(파일)에 이 새로운 매핑을 적용하는 (재생 가능한) 스크립트입니다 :

sudo sed -ri '/PutCurrentFullSelected/s/=( alt-m;)?/= alt-m;/' /etc/mc/mc.default.keymap
sudo sed -ri '/Mail = alt-m/s/= alt-m/=/;' /etc/mc/mc.default.keymap

또는 패치:

diff --git a/mc/mc.default.keymap b/mc/mc.default.keymap
--- a/mc/mc.default.keymap
+++ b/mc/mc.default.keymap
@@ -33,7 +33,7 @@ Shell = ctrl-o
 PutCurrentPath = alt-a
 PutOtherPath = alt-shift-a
 PutCurrentSelected = alt-enter; ctrl-enter
-PutCurrentFullSelected = ctrl-shift-enter
+PutCurrentFullSelected = alt-m; ctrl-shift-enter
 ViewFiltered = alt-exclamation
 Select = kpplus
 Unselect = kpminus
@@ -313,7 +313,7 @@ Help = f1
 Refresh = ctrl-l
 Goto = alt-l
 Sort = alt-t
-Mail = alt-m
+Mail =
 ParagraphFormat = alt-p
 MatchBracket = alt-b
 ExternalCommand = alt-u

관련 정보