배쉬 대 Gnu 화면 : Ctrl-A를 Ctrl-Shift-A로 바꿉니다. GNU Screen을 사용 해보고 싶다. 아시다시피,

저는 GNU Screen의 새로운 사용자입니다. 나는 오랫동안 Bash를 사용해 왔으며 GNU Screen을 사용 해보고 싶다.

아시다시피, GNU Screen은 ‘Ca'(Control-A)를 명령 문자로 사용합니다. 문제는 Bash의 Control-A가 행의 시작 부분으로 이동하기 때문에 Bash (및 GNU Readline)의 행 편집 기능을 방해한다는 것입니다. “

“^ Q”또는 ““”(Backtick)와 같은 다른 키 시퀀스로 명령 문자를 설정할 수 있지만 아직 사용하지 않는 다른 키 시퀀스를 찾는 데 문제가 있습니다 (^ Q는 터미널에서 사용됨) , 백틱은 쉘 스크립트를 작성할 때 사용됩니다). 명령 문자의 길이는 한두 문자 만 될 수 있습니다. GNU 화면 제어 문자를 “Control-Shift-A”와 같은 것으로 설정할 수 있습니까?

(아직 하나 이상의 하이퍼 링크를 사용할 수 없으므로 Bash 설명서에 연결할 수 없습니다)



답변

문제는 ControlShiftA대부분의 터미널 에뮬레이션 프로그램에 의해 하나 개 보냈습니다에서에 대해 서로 다른 코드를 전송하지 않는 것이다 ControlA, 그래서있는 방법이 없을 것 화면 의 차이를 말할 수 있습니다.

stty -ixontty에서 “소프트웨어 흐름 제어”를 비활성화 하면 Cq를 사용할 수 있습니다 . 나는 보통 이것을 사용하여 C를 사용하여 명령 줄을 검색 할 수 있습니다.

일반적으로 언 바운드 된 것처럼 보이기 때문에 C- ^를 고려할 수 있습니다. 그것은이다 ControlShift6US 키보드 레이아웃에 있지만, 다른 레이아웃에 입력하기 어려울 수 있습니다.

대부분의 사람들은 SIGQUIT를 보내기 위해 tty 제어 문자 C- \를 사용하지 않습니다. 이를 사용하려면 with를 사용하여 tty 기능을 비활성화하고 stty quit undef접두사 키로 바인딩하십시오. quit 키가 stty 로 비활성화되지 않은 tty에서 C- \를 누르면 screen 을 활성화하는 대신 포 그라운드 프로세스를 종료 할 수 있기 때문에 약간 위험 합니다.

얼마 전 tmux 로 전환했습니다 . 그것의 기본은의 Cb입니다 그것은하에 개발 되었기 때문에 화면 과 방해하지 않은 화면 의 기본 . 나는 Cb가 나에게 잘 작동한다는 것을 알았다. 나는 보통 쉘 명령 행에서 단일 문자 이동을 위해 화살표 키를 사용한다.

또한, tmux 의 작성자는 기본 세션에서 Ca를 사용하고 항상 tmux 세션에 관계없이 Ca를 두 번 입력 합니다 . 이 습관을 기꺼이 받아들이려고한다면, 두 번째 Ca가 대부분의 Emacs와 같은 편집 컨텍스트에서 아무 문제가 없어야하기 때문에 괜찮은 타협처럼 보입니다. 두 번째 Ca가 no-op가 아닌 화면 외부에서 프로그램 / 컨텍스트를 자주 사용하는 경우에는 효과 가 없습니다.

기본적으로 칼슘 칼슘이 결합되어 다른 명령 (가장 최근에 활성화 된 화면으로 전환) 화면 . Ca Ca가 실제 Ca를 보내고 Ca o 스위치 윈도우를 갖도록하려면 다음을 입력하십시오 .screenrc.

escape ^A^A
bind o other

답변

해결 방법이 필요 없습니다.
bash에서 screen을 사용하는 동안 줄의 시작 부분으로 이동하려면

ControlA(출시 후)A

일반적으로 화면 제어 문자가 bash 바로 가기와 충돌하는 경우 bash 바로 가기의 첫 번째 문자 ControlControlA

다른 줄 편집 바로 가기도 마찬가지입니다.


답변

화면에 C- \를 사용하고 충분하지 않습니다. 우연히 다른 키 정의에 부딪 칠 수 있지만 일반적으로 C- \는 아닙니다. 그것이 내가 좋아하는 것입니다.


답변

나는 이것을 사용한다.screenrc

escape ^bb

예 : 분리하려면 ctrl-b d


답변

screen / tmux와 함께 ctrl-_ (ctrl + 7 및 일반적으로 ctrl + /로 생성 할 수도 있음)을 사용합니다.


답변

나는 대부분 ctrl-z를 사용하지만 일부는 ctrl-x를 사용합니다. 나는 ‘stop’인터럽트를 많이 사용하지 않지만 필요할 때 ^ zz를 입력 할 수 있습니다. 또한 기본 ctrl-a를 사용하는 원격 서버에서 보조 화면 세션을 시작할 수 있습니다. 그리고 세 번째 세션 (세 번째 서버에서)을 시작하면 ctrl-x를 사용할 수 있습니다. Ctrl-x는 잠금 화면 기능으로, 많은 환경에서 화면이 터미널 에뮬레이터 내에서 종종 실행되므로 일반적이지 않은 환경입니다.