zshell 및 Mate 데스크탑이 포함된 Fedora 20이 있습니다. 방금 이걸 봤어SysRq 키 사용에 대한 문서, 그러나 그들은 거기에 표시된 결과를 제공하지 않았습니다. Alt와 그 위에 "Print Scr"이 있는 "Home"이라는 레이블이 붙은 키를 SysRq 키 조합으로 사용합니다.
노란색 "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
일반적으로 버튼을 누르면 키보드가 키코드를 생성합니다. 운영 체제는 키코드를 수신하고 일부 키 매핑을 적용하며 기본 하드웨어와 독립적으로 키 조합을 처리하려고 시도합니다.
SysRq 메커니즘은 약간 다릅니다. 키보드는 버튼을 한 번 누르는 것처럼 조합을 캡처하고 특수 키코드를 운영 체제에 보냅니다. 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