X의 가상 콘솔 증가/감소를 위한 키 바인딩

X의 가상 콘솔 증가/감소를 위한 키 바인딩

Ctrl가상 콘솔(또는 가상 터미널, VT)은 ++(등을 나타냄)을 눌러 변경할 수 있습니다 Alt. 또한 실행 중이 아닐 때 및 화살표 키를 눌러 VT(가상 터미널 감소 및 증가)를 순환할 수 있습니다.FnFnF1F2XAltAltAlt

그러나 VT 중 하나에서 실행 중인 경우 일반적으로 화살표 키 바인딩이 설정되지 않으며 다른 VT로 변경 하려면 ++ X로 돌아가야 합니다 .CtrlAltFn

나는 일반적으로 VT를 변경하기 위해 화살표 바인딩을 사용하는 것을 선호합니다. 키 바인딩 간을 전환하지 않으려면(++는 CtrlVT가 있는 VT를 의미하고 화살표는 VT가 없는 VT를 의미함) 에서 VT를 줄이거나 늘리기 위해 바인딩할 수 있는 명령은 무엇입니까?AltFnXAlt←/→X

대답이 시스템에 따라 다르다면 저는 debian을 실행하고 dwm과 openbox를 창 관리자로 사용하고 있습니다.

답변1

나는 당신에게 더러운 해결책만을 말할 수 있습니다. 사용xbindkeys다음에 추가되었습니다 ~/.xbindkeysrc:

"sudo chvt $(($XDG_VTNR-1))"
   alt + c:113

"sudo chvt $(($XDG_VTNR+1))"
   alt + c:114

XDG_VTNR 변수가 없으면 이전/다음 vt를 하드코딩해야 합니다.

또한 다음을 수행해야 합니다 /etc/sudoers.

USER ALL=NOPASSWD:/bin/chvt

답변2

VT에서 X11로 전환하고 그 반대로 전환할 때 동일하게 유지되는 한 가지는 "낮은 수준" 일반 Linux 입력 장치 처리 하위 시스템입니다. C에는 예제가 있습니다.Linux USB 입력 하위 시스템그리고2 부리눅스 매거진에서. 시스템에 Python 라이브러리가 있을 수 있습니다.파이썬-evdev패키지를 사용하면 이 작업이 더 쉬워집니다.

가능한 것을 시험해 보기 위해 evtest주어진 입력 장치에 대한 간단한 이벤트 덤프를 사용할 수 있으며, 스크립트 awk나 이와 유사한 것을 사용하여 관심 있는 키 누르기 상태를 추적하고 chvt명령을 실행하도록 할 수 있습니다.

답변3

XLATE 모드에 있는 경우 Alt+화살표 키를 사용할 수 있습니다. 그렇지 않은 경우 다음 명령을 사용하여 활성화할 수 있습니다.마법의 sysrq 키: X가 잠겨 있을 때 커널에서 해치를 탈출합니다.

먼저 다음과 같이 켜져 있는지 확인하세요.

cat /proc/sys/kernel/sysrq

출력은 숫자이며, 1이거나 비트마스크 0x4가 설정된 경우 XLATE로 전환할 수 있습니다 x == 1 || x & 0x4.원천

둘 다 사실이 아닌 경우 이 번호를 루트로 변경할 수 있습니다.

echo 1 > /proc/sys/kernel/sysrq

Arch Linux에서는 다음과 같은 작업도 수행할 수 있습니다.

sysctl kernel.sysrq=1

마지막으로 Alt+SysRq+R또는 키를 눌러 다음 명령을 실행합니다.

echo r > /proc/sysrq-trigger

이제 XLATE 모드에 있습니다. 재부팅할 때까지 키 바인딩을 사용할 수 있을 만큼 운이 좋습니다! 발생할 수 있는 부작용에 대해서는이것 좀 봐.

누군가 이 기능을 영구적으로 켤 수 있는지 알려주세요.

관련 정보