저는 클래식 MacOS 시절부터 Mac 사용자였으며 최근에 Debian/Gnome으로 전환했습니다. 나는 이것이 새로운 UI에 적응하기 위해 상당한 조정을 필요로 한다는 것을 알고 있습니다. 20년 이상의 근육 기억력에도 불구하고 여전히 익숙해지기 어려운 것 중 하나는 키보드 단축키입니다.
Mac의 키는 Linux의 및 키와 같은 기능을 합니다 Cmd. 또한 많은 키보드 단축키가 시스템 수준에서 구현되어 모든 애플리케이션에서 작동합니다. 몇 가지 예:CtrlSuper
리눅스 | 사과 | |
---|---|---|
루프 적용 | 슈퍼탭 | Cmd-탭 |
키보드 언어 레이아웃 전환 | 슈퍼 SPC | Cmd-Spc |
창을 닫습니다 | Ctrl-w | 명령-w |
애플리케이션 종료 | ??? | 명령-q |
복사/잘라내기/붙여넣기 | Ctrl-c/x/v | 명령-c/x/v |
새로운 문서/승리 | Ctrl-n | 명령-n |
기본 설정/설정 | ??? | 명령-, |
점프 워드 | Ctrl-le/ri | 르/리 선택 |
줄 시작/끝 | ??? | 명령-le/ri |
???라는 문구가 흥미롭습니다. Linux에서 애플리케이션을 종료하려면 때로는 Ctrl- q, 때로는 Alt- 입니다 F4. 애플리케이션 기본 설정/설정은 어디에나 있습니다. Libre Office는 - Alt를 사용 F12합니다 . 다른 앱에는 단축키가 전혀 설정되어 있지 않습니다. 한 줄의 시작이나 끝으로 이동하려면 한 줄 텍스트 필드에서 /를 사용할 수 있지만 여러 줄 텍스트 편집기에서는 이 작업을 수행하는 방법을 찾지 못했습니다.ShiftCtrlsHomeEnd
그래서 두 가지 질문이 있습니다.
개념적으로 이러한 단축키는 Linux에서 어떻게 작동합니까? 각 애플리케이션이 이를 개별적으로 구현합니까? 복사/붙여넣기와 같은 작업이 각 애플리케이션에서 동일한( Ctrl- c/ ) 을 구현합니까 ? v선호도에 대한 다양한 키가 그렇게 말하는 것 같습니다. 그러나 Gnome에는 설정에 키보드 단축키 섹션이 있습니다. 그렇다면 바로가기를 정의하고 이를 애플리케이션에 "강제"하는 시스템 수준 방법도 있습니까?
Mac에서와 마찬가지로 시스템 전반에 걸쳐 균일한 동작을 생성하고 Apple Cmd키 위치와 일치하도록 키를 다시 매핑하는 방법이 있습니까?
Super여기에는 및 Ctrl키를 특정 조합에 매핑하는 수정자가 포함되어야 합니다 Alt. 위의 표를 참조하세요. 즉, 물리적 Alt키 더하기 기호를 누르면 응용 프로그램을 순환하는 반면 더하기 Tab기호 키는 창 닫기 와 같은 작업을 수행합니다 .SuperTabAltwCtrlw
다시 말하지만, 나는 Gnome을 사용하고 있으며 그것이 Wayland와 함께 작동한다는 것을 배웠습니다(아직 정확히 무엇인지는 확실하지 않지만 여러 솔루션이 작동하지 않게 만듭니다). 비슷한 해결책을 본 적이 있습니다입력 리매퍼, 그러나 하나의 소스 및 대상 키만 다시 매핑할 수 있습니다. Altand Super또는 Altand 를 전환할 수 있지만 Ctrl둘을 결합할 수는 없습니다. xmodmap에 대해서도 읽었지만 Wayland에서는 작동하지 않는 것 같습니다.동쪽 가까이에유망해 보이지만 Wayland에서도 작동하지 않습니다. 또한 xset 및 xev가 언급된 것을 보았지만 이 경우에 유효한지 및 사용 방법이 확실하지 않습니다.
답변1
서로 다른 위치에 구현된 두 가지 유형의 바로가기에 대해 문의하셨습니다.
응용 프로그램이나 창 간 전환과 같은 작업은 중앙 구성 요소에 의해 처리됩니다.창 관리자– 거의 모든 운영 체제에서. 모든 창의 위치와 쌓이는 순서는 창 관리자가 최종적으로 결정하기 때문에 Alt-Tab(창 간 전환), Alt-F4(창 닫기) 등의 단축키도 구현되어 전역적으로 구성이 가능하다.
(적어도 이 두 가지 특정 단축키는 Windows 및 이전 IBM CUA 표준과 공유됩니다.)
반면에 복사/붙여넣기나 텍스트 커서 이동 같은 것들은~ 해야 하다애플리케이션만이 처리 중인 데이터 유형과 현재 선택된 데이터를 알기 때문에 애플리케이션에 의해 구현됩니다. 그러나 가장 일반적으로 애플리케이션은 기존을 사용하여 구축됩니다.사용자 인터페이스 툴킷표준 위젯에 대한 복사/붙여넣기 구현을 담당하는 GTK 또는 Qt와 같은 것입니다. 이는 macOS의 AppKit 또는 UIKit과 유사합니다.
이러한 툴킷 중에서 Qt는논의하다전역 구성에서 다양한 툴킷 수준 키 바인딩을 로드하는 기능을 통해 전역 KDE 설정과 통합되지만(이론적으로 복사/붙여넣기 키 변경 가능) 다른 툴킷은 일반적으로 이를 수행하지 않습니다. 예를 들어 GTK 응용 프로그램은 전역 GNOME 설정을 사용하지 않으며 KDE 설정에도 관심을 두지 않습니다.
(전통적인 질문 외에도 다음과 같은 점을 언급할 가치가 있습니다.크로스 플랫폼다양한 수준의 성공을 거둔 여러 운영 체제에 적응하려고 시도한 툴킷(예: Electron, "웹 브라우저는 애플리케이션인 것처럼 가장함" 툴킷, 예: Linux에서 사용됨)그리고애플 시스템. 마찬가지로 LibreOffice는 여러 운영 체제에서 실행되며 GTK, Qt 또는 Windows UI인 것처럼 가장할 수 있는 "VCL" 도구 키트를 사용합니다. Firefox 및 Chrome과 같은 웹 브라우저도 자체 UI 툴킷을 사용하므로 이를 각 운영 체제에 적용하기 위해 더 많은 노력을 기울일 뿐입니다. )
"기본 설정" 또는 "설정"의 개념은 응용 프로그램마다 다릅니다. 각 응용 프로그램에는 설정을 저장하는 고유한 방법과 고유한 대화 상자가 있으며 이는 운영 체제에서 제공하는 것이 아닙니다. 차이점은 macOS가 표준 HIG 지침(예: Ctrl 및 "기본 설정" 용어)을 더 강력하게 추진하므로 개발자가 동일한 단축키 세트에 동의할 가능성이 더 높다는 것입니다. (GNOME은 macOS에서 영감을 받은 스타일을 채택하면서 이 부분을 천천히 개선해 왔습니다. 지금은 KDE가 어떻게 생겼는지 잘 모르겠습니다.)
...물론 macOS는 그렇습니다하나데스크탑 환경에는 일련의 지침이 있으며, Linux에는 최소한 두 가지 주요 환경(GNOME 및 KDE)이 있으며 때로는 그들의 철학이 서로 충돌합니다. GNOME 환경에서 Kate(KDE의 주 편집자)와 같은 것을 실행하거나 그 반대로 실행하면 항상 약간 어색한 느낌이 듭니다. VSCode와 같은 다양한 Electron 기반 애플리케이션은 말할 것도 없습니다.
Linux에서 애플리케이션을 종료하려면 Ctrl-q를 누르는 경우도 있고 Alt-F4를 누르는 경우도 있습니다.
Alt-F4는 다음과 같이 구현됩니다.창 관리자바로 가기(대부분의 WM은 관례에 따라 이를 사용함)이므로 애플리케이션에 관계없이 전역적으로 구성하고 모든 창에서 작동할 수 있습니다. 그러나 이는 "응용 프로그램 종료" 단축키가 아니며 실제로는 단일 창을 닫는 것뿐입니다.
반면에 Ctrl-Q는 응용 프로그램별 단축키입니다.
한 줄의 시작이나 끝으로 이동하려면 한 줄 텍스트 필드에서 Home/End를 사용할 수 있지만 여러 줄 텍스트 편집기에서는 이 작업을 수행하는 방법을 찾지 못했습니다.
각 툴킷(특히 애플리케이션 내의 사용자 정의 위젯)에는 서로 다른 단축키가 있을 수 있지만 Home/End를 지원하지 않는 툴킷은 아직 본 적이 없습니다. 이는 거의 보편적입니다. 처음으로 점프첫 번째행 또는 마지막 행 끝까지의 단축키는 Ctrl-Home/End입니다(Windows와 동일).