기본 TTY 단축키 변경


8

기본 단축키를 변경하여 tty로 앞뒤로 전환하고 싶습니다. 기본적으로 ctrl + alt + F #입니다. Ubuntu의 키보드 설정을 사용하여 사용자 정의 바로 가기를 만들려고했지만 tty로 다시 전환하면 작동하지 않는 그래픽 인터페이스를 사용하는 동안에 만 작동했습니다. 따라서 두 개의 TTY 사이에서 단일 키 전환을 수행하기 위해 ctrl + alt + F # 단축키의 기본 바인딩을 변경하는 방법을 알아야합니다.



"두 개의 TTY 사이에서 단일 키 전환이 가능합니까?"는 무슨 뜻입니까?
ish

다소하지만 어쩌면 정확히 :) @jacob
Rinzwind

아 예, 이것은 다른 키 세트 대신 토글하는 단일 키를 요청하는 것입니다.
Jacob Tomlinson

답변:


10

bind키를 일부 기능에 바인딩하는 데 사용할 수 있습니다 . 여기 내가 한 일이 있습니다.

bind '"\ea": ". ~/newScript.sh\n" '

다음 newScript.sh은 tty를 변경하는 파일이며 , 누를 \ea때마다 Alt+A스크립트가 실행 됨을 의미합니다 .

내용 newScript.sh은 다음 과 같습니다.

#! /bin/bash
ttyNum="$(tty)"
ttyNum=$(echo ${ttyNum##*y})
ttyNum=$(( (ttyNum +1) % 7))
chvt $ttyNum

키 바인딩을 영구적으로 저장하려면`~ / .inputrc '파일에 키 바인딩을 저장할 수 있습니다. 자세한 내용은 다음 링크를 방문하십시오. http://www.techrepublic.com/article/find-and-bind-key-sequences-in-bash/5683375

업데이트 : 파일에 bind줄을 저장하면 ~/.bashrc다시 할 필요가 없습니다.


로그인하지 않았거나 bash를 실행하지 않으면 작동하지 않습니다. remap.inc (아래 답변 참조)를 사용하는 솔루션은 로그인 여부에 관계없이 작동합니다.
1 월

7

그것에 대한 명령이 chvt있습니다.

chvt명령은 CHange Virtual Terminal을 나타냅니다. 가상 터미널이 전환하도록 지시하는 숫자 인 하나의 옵션이 필요합니다.

예를 들어, 첫 번째 가상 터미널에 로그인하고 xserver가 일반적으로 GUI를 표시하는 7로 전환하려면 chvt다음과 같이 실행하십시오 .

chvt 7

그리고 첫 번째 가상 터미널로 돌아가려면 다음을 입력하십시오.

chvt 1

따라서이 명령을 7 개의 바로 가기에 추가하기 만하면 전환 할 수 있습니다.


1
tty1에있는 동안 키를 누를 때 어떻게 하시겠습니까?
존 S Gruber

@ 존 : 바인딩. green7은 이미 설명했습니다.
Rinzwind

5

편집 : 바보 나! /etc/console-setup/remap.inc 파일을 살펴보십시오.

해당 파일에 필요한 모든 것을 찾을 수 있습니다. 어쨌든 아래에 설명이 있습니다.

불행하게도 "바인드"는 쉘 세션에서만 작동합니다.

콘솔 매핑을 변경해야합니다. "loadkeys"(man loadkeys) 프로그램을 사용하여이를 수행 할 수 있습니다. 먼저 현재 매핑을 덤프하여 파일 형식이 어떻게 표시되는지 확인하십시오.

dumpkeys > default_keys.txt

X가 아닌 텍스트 콘솔에서이를 수행해야하므로 먼저 Ctrl-Alt-F1을 눌러 하나로 전환하십시오!

해당 파일의 예제 라인은 다음과 같습니다.

alt keycode  59 = Console_1

즉, 수정 자 "alt"(해당 파일의 다른 곳에서 정의 됨)로 누른 코드 59를 생성하는 키는 "Console_1"이벤트를 생성하여 가상 콘솔 1로 전환합니다.

어떤 키가 어떤 코드를 생성하는지 알아내는 방법? 이를 위해 프로그램 쇼키를 사용하십시오. 프로그램을 시작하고 "F1"을 누릅니다 :

komp $ showkey
keycode  59 press
keycode  59 release

이 프로그램을 종료하는 유일한 방법은 눈을 감고 10 초 동안 오픈 소스의 특성을 고려하는 것입니다. 또는 10 초 동안 키보드를 건드리지 않는 것이 좋습니다. 이 방법을 사용하여 키맵 파일을 변경하여 키 맵핑을 변경해야하는 행을 찾으십시오.

"ctrl 1"을 사용하여 콘솔 1로 전환하려고합니다. 1의 키코 드는 2임을 알 수 있습니다. "myownkeys.txt"라는 파일에 다음 줄을 저장하십시오.

control keycode 2 = Console_1

텍스트 콘솔로 전환하고 (아직 수행하지 않은 경우) 실행

sudo loadkeys myownkeys.txt

Presto, Ctrl-1은 이제 콘솔 1로 이동해야합니다. 바로 가기를 위해 파일에 더 많은 행을 추가하십시오. 영구적으로 만들려면 /etc/console-setup/remap.inc 파일을 [편집] 수정할 수 있습니다

그런데 Console_n과는 별도로 "Decr_console"과 "Incr_Console"도 각각 왼쪽 콘솔과 오른쪽 콘솔로 전환합니다. 기본적으로 왼쪽과 오른쪽에 바인딩됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.