사용자 상호 작용이 필요하고 키가 3개만 있는 특수(USB) 키보드가 있는 일부 소프트웨어(소스 코드 있음)를 실행하는 Raspberry Pi가 있습니다. 프로그램은 프레임 버퍼(SDL)에서 실행되고 원격으로 시작됩니다. 키 누름에 반응하는 프로그램이 필요하지만 사용자가 로컬로 로그인하지 않은 경우에는 불가능한 것 같습니다.
어떡해? 이 솔루션은 많은 리소스를 사용할 수 없으며 지연 시간은 300ms 이내여야 합니다.
일반적인 사용 사례는 4~8시간 동안 10분마다 키를 누르는 것이지만, 드물게는 2초마다 키를 누르는 경우도 있습니다. 이것은 모두 Raspbian에서 실행되고 있으며 루트 액세스 권한이 있습니다.
답변1
openssh-server 설치(RPi에)
apt-get install openssh-server
-X
(다른 호스트에서) 스위치와 함께 ssh를 사용할 수 있습니다 .
ssh -X <username>@<IP_of_Rasperry_Pi>
[Enter password when prompted]
연결되면 프롬프트가 Raspberry Pi에 로컬로 로그인할 때 표시되는 메시지로 변경되어야 합니다.
연결되면 epiphany &
Raspbian과 함께 제공되는 기본 웹 브라우저를 실행하여 클라이언트 컴퓨터(Raspberry Pi 아님)에 표시하고 관련 프로그램을 실행하는 웹 사이트로 이동하여 엽니다.
[일반] 키보드를 Pi에 연결하고 눌러서 다중 사용자 모드(그래픽 없음)로 전환하고, Ctrl + Alt + F1
루트로 로그인하고 pkill X
tty(예, X를 대문자로 표기해야 함)에 입력하여 직접 연결된 GUI 디스플레이를 종료할 수 있습니다. pi에(시스템 리소스 저장) 그런 다음 SSH로 접속하여(해당 옵션을 잊지 마세요 -X
) 브라우저를 열 수 있습니다(이전과 마찬가지로). 또는 -X
스위치 없이 ssh를 사용하여 키보드를 연결하지 않고 X 서버를 종료할 수 있습니다. 한 가지 주목할 점은 이 명령이 ssh를 사용하여 설정한 모든 세션을 포함하여 pi에서 실행 중인 모든 X 세션을 종료한다는 것입니다.
이 기능은 원격 연결에 사용되는 키보드를 통해 키를 프로그램에 매핑할 수 있는 경우에만 작동합니다.
시작 시 [RPi에서 로컬로] GUI가 표시되지 않도록 설정하려면 명령을 사용 sudo raspi-config
하고 여기에 제공된 지침을 따르십시오.https://raspberrypi.stackexchange.com/a/1320
이것이 귀하의 문제를 해결하는 데 도움이 되기를 바랍니다.
답변2
나는 원시 입력 장치를 읽고 구문 분석하여 이 문제를 해결했습니다.https://stackoverflow.com/a/2554421/3530257