저는 현재 터치패드가 있는 Raspberry Pi용 GUI를 사용하여 애플리케이션을 작성 중입니다. 현재 개발 환경이 있는 PC에서 pi로 새로운 바이너리를 전송할 때마다 키보드를 pi에 연결하고 실행 애플리케이션을 사용해야 합니다 startx /path/to/binary
. 이것은 잠시 후에 약간 짜증이 나기 때문에 SSH를 통해 개발 PC에서 GUI를 시작할 수 있기를 바랍니다.
이미 실행 중인 X 서버가 있는 경우 X 서버를 원격으로 시작하는 방법을 이미 알고 있습니다. 불행하게도 이것은 클라이언트 프로그램이 종료되자마자 종료되기 때문에 X 서버를 열어 둘 수 없기 때문에 지금까지 나에게 도움이 되지 않았습니다. 하지만 단일 응용 프로그램 창만 필요하기 때문에 데스크톱이나 창 관리자를 실행하고 싶지 않습니다.
이제 내 질문에 대답하겠습니다. X 서버를 열어두는 방법은 무엇입니까? 지금까지 간과했던 옵션이나 다른 해결 방법이 있습니까? 아니면 내 문제에 대한 더 나은 해결책이 있지만 전혀 관련이 없습니까?
답변1
.xinitrc
예를 들어, 수면 끝에 반무한 수면을 추가할 수도 있나요 sleep 5000000
? &
명령 끝에는 문자가 없습니다 .
일반적으로 여기에 창 관리자나 세션 관리자 명령을 넣을 수 있지만 그 중 하나가 필요하지 않다고 하셨으므로 Xserver를 활성 상태로 유지하려면 또 다른 장기 실행 프로그램이 필요합니다.
수면은 자원을 소비하지 않습니다.
답변2
X 서버를 열어두는 대신 X 서버를 자동으로 다시 시작할 수 있습니다. Pi에서 실행
while :; do startx /path/to/binary; done
이렇게 하면 바이너리를 업데이트할 때마다 이를 종료할 수 있으며 X 서버는 새 바이너리로 다시 시작됩니다.
이를 중지해야 하는 경우 다음과 같은 조건을 추가할 수 있습니다.
until [ -f /tmp/stop ]; do startx /path/to/binary; done
루프를 종료하고 싶을 때마다,
touch /tmp/stop
그런 다음 프로그램을 종료하면 다시 시작되지 않습니다.