zshell과 Mate 데스크탑이 포함된 Fedora 20이 있습니다. 나는 방금 이것을 발견했습니다.SysRq 키 사용에 대한 기사, 그러나 거기에 표시된 결과는 제공되지 않습니다. SysRq 키 조합으로 위에 "Print Scr"이 있는 "Home"이라고 표시된 키와 함께 Alt를 사용하고 있습니다.
노란색 "FN" 키도 눌러 보았지만 별 차이가 없었습니다.
"시스템이 완전히 손상된 경우에도 재부팅" 순서가 매우 유용해 보이기 때문에 제가 뭘 잘못하고 있는지 알고 싶습니다.
답변1
SysRq 조합이 비활성화되었을 수 있습니다. 이것이 작동하려면 다음과 같은 몇 가지 사항이 충족되어야 합니다.
CONFIG_MAGIC_SYSRQ
커널 구성을 활성화 해야 합니다 .kernel.sysrq
SysRq 조합을 해석할 수 있는 값으로 sysctl을 설정 해야 합니다 .
kernel.sysrq
기능을 활성화/비활성화하는 비트마스크입니다.
- 0 - 완전히 비활성화됨
- 1 - 완전히 활성화됨
- 2 - 콘솔 로깅 수준 제어 허용
- 4 - 키보드 제어 허용
- 8 - 프로세스 덤프 제어 허용
- 16 -
sync()
통화 제어 허용 - 32 - 읽기 전용으로 다시 마운트 허용
- 64 - 프로세스 신호 허용
- 128 - 시스템 전원 상태 변경 허용(재부팅/전원 끄기 등)
- 256 - 실시간으로 실행되는 라이센스 작업 허용
모든 SysRq 기능을 활성화하려는 경우 도구를 사용하여 일시적으로 값을 설정할 수 있습니다 sysctl
.
sysctl -w kernel.sysrq=1
이 작업을 영구적으로 수행하려면 다음 줄을 추가하세요 /etc/sysctl.conf
.
kernel.sysrq = 1
/etc/sysctl.conf
그런 다음 를 실행하여 시스템이 설정을 다시 로드하도록 할 수 있습니다 sysctl -p
.
답변2
일반적으로 버튼을 누르면 키보드는 단일 키코드를 생성합니다. OS는 키코드를 수신하고 일부 키 매핑을 적용하며 기본 하드웨어와 독립적으로 키 조합을 처리하려고 시도합니다.
SysRq 메커니즘은 약간 다릅니다. 키보드는 조합을 포착하고 마치 단일 버튼을 누른 것처럼 특수 키코드를 OS에 보냅니다. Linux 커널은 X 서버와 같은 상위 수준 애플리케이션에 입력을 전달하지 않고 특수 키코드를 포착하여 내부적으로 처리합니다. 이는 두 가지 결과를 의미합니다.
키 조합은 실제로 키보드에 따라 다릅니다. 키보드는 모든 키 누르기를 자체적으로 포착해야 하며 키보드만 실제 SysRq 키가 있는 위치와 특수 키코드 전송을 트리거하는 조합을 "알고" 있습니다. 그래서:
- SysRq는 반드시 "Home" 또는 "Print Screen"과 동일한 버튼에 있을 필요는 없습니다. 검색해 보십시오. 일반적으로 "SysRq"로 명시적으로 표시됩니다.
Ctrl+Alt+SysRq+b
또는 등 의 다른 조합을 시도해 보십시오Ctrl+Alt+Fn+SysRq+b
(경고, 성공하면 시스템이 재부팅됩니다). 키가 있는 키보드에서는Fn
일반적으로 실제 키에 도달하려면 해당 키를 눌러야 하므로SysRq
조합에 키가 포함될 가능성이 높습니다Fn
.
실제로 조합이 올바른지 알 수 있습니다.
xev
터미널에서 실행하고xev
의 창에 초점을 맞춘 다음 키보드의 일부 버튼을 누르면 터미널에 이벤트가 나타나는 것을 볼 수 있습니다. 올바른 조합을 얻으면 이벤트가 커널에 의해 포착되고 X 서버로 전달되지 않기 때문에 이벤트를 받아서는 안 됩니다.
또한 다음 문서를 참조하세요.https://www.kernel.org/doc/Documentation/sysrq.txt