VNC
Windows 컴퓨터에서 Linux 컴퓨터로 연결하기 위해 뷰어/서버를 사용하고 있습니다.
Linux 시스템에서 세션 시간이 초과되고 잠금 화면이 시작된 후 나중에 VNC를 통해 GUI를 사용하여 잠금을 해제하려고 하면 화면에 텍스트 비밀번호 프롬프트를 입력할 수 없도록 영구적으로 "잠긴" 것처럼 보입니다. 보다 구체적으로, 특정 Enter
문자 스트림이 VNC를 통해 지속적으로 전송되어 로그인 프롬프트를 트리거하여 사용자가 길이가 0인 비밀번호를 계속 입력하고 있다고 생각하게 만드는 것으로 보입니다 . 첨부된 스크린샷의 "인증 오류" 문을 참고하세요. 로그인 화면이 생각한다는 것을 나타냅니다.무엇이미 입력되었습니다. 그리고 여기서 스트레스 테스트를 하면 빠르게 입력하면 '숨겨진 문자' 기호가 한두 개 나타났다가 다시 빠르게 사라집니다. 계속해서 "인증오류"가 뜹니다.
이 상황에 대해 제가 찾은 해결 방법은 Linux 상자에 직접 로그인하고 다음 스크립트를 실행하는 것이었습니다.
$ while true; do loginctl unlock-session 2 > /dev/null 2>&1; sleep 1; done
...그 숫자가 2
내 "세션 ID"입니다. 이 스크립트는 잠금 화면이 나타날 때 (1초 이내에) 닫히는 효과가 있습니다. 이것이 최선의 해결책은 아니지만 비밀번호를 입력할 수 없는 영구 잠금보다 낫습니다.
이것이 왜 필요한가요?VNC
뷰어/서버, Linux 상자의 잠금 화면 또는 기타 관련 소프트웨어에서 무슨 일이 일어나고 있는지, 그리고 Linux 로그인 화면(또는 무슨 일이 일어나고 있는지)에 특별히 Enter
전송되는 지속적인 스트림이 있는 이유를 설명해 줄 수 있는 사람이 있습니까? VNC
잠금 화면에서 잘못된 비밀번호를 입력한 것처럼 계속 "인증 오류"를 보고하게 됩니까?
잠금 화면을 지나면 bash
셸에서 원치 않는 키 입력이 전송된 것으로 나타나지 않습니다. 즉, 예상치 못한 키 입력에 방해받지 않고 입력, 명령 실행 등을 할 수 있습니다.
관련 질문:이것이 주제를 혼동하지 않는다면, 제가 실행하고 있는 스크립트가 전경에 있다는 점에 유의하세요. 즉:
$ while true; do loginctl unlock-session 2 > /dev/null 2>&1; sleep 1; done
...아니요...
$ while true; do loginctl unlock-session 2 > /dev/null 2>&1; sleep 1; done &
...스크립트의 백그라운드 버전을 사용해 보면 잠금 화면이 처음 실행될 때만 해제되고 그 이후에는 해제되지 않는 일회성 효과가 나타납니다. 이는 잠금 화면을 유지하는 것으로 보이는 스크립트의 포그라운드 버전과 비교됩니다. 영원히 사라집니다.이 경우 해결 스크립트가 배경에 있는지 전경에 있는지가 왜 중요한가요?
환경 세부정보:
$ uname -a
Linux linuxbox 5.3.11-100.fc29.x86_64 #1 SMP Tue Nov 12 20:41:25 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
.
$ vncserver -list
TigerVNC server sessions:
X DISPLAY # PROCESS ID
:1 2958
.
$ loginctl list-sessions
SESSION UID USER SEAT TTY
2 1000 user seat0 tty2
1 sessions listed.
답변1
Gnome은 이 오류를 알고 있는 것 같습니다. 여기에서 문제의 전개 과정을 볼 수 있습니다.https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2196