init 스크립트 내에서 시작된 프로세스에서 ncurses를 사용하는 기본 GUI

init 스크립트 내에서 시작된 프로세스에서 ncurses를 사용하는 기본 GUI

임베디드 설정(빌드루트)에서 실행되는 사용자 정의 작성된 애플리케이션이 있습니다. 내 응용 프로그램은 대상 장치가 부팅될 때마다 실행되어야 하므로 이를 수행하기 위해 init 스크립트를 작성했는데 제대로 작동합니다. 그러나 일부 애플리케이션에는 ncurses로 작성된 매우 기본적인 "GUI"가 있습니다. 내가 겪고 있는 문제는 직접 로그인하거나 ssh를 통해 로그인하면 제대로 작동하지만 init를 통해 바이너리가 시작되면 ncurses 코드의 기능에 액세스할 수 없다는 것입니다. 바이너리가 실행되는 콘솔이 아닌 다른 콘솔에 로그인했기 때문인 것 같습니다. 그래서 내 질문은 응용 프로그램/데몬에 연결된 콘솔이 있습니까? 그렇다면 다른 콘솔로 전송할 수 있는 방법이 있습니까?

그렇지 않다면 이 문제를 해결할 수 있는 다른 방법이 있습니까? 모니터가 장치에 연결되어 있을 때 적어도 GUI에 액세스할 수 있도록 자동 로그인을 강제로 적용한 다음 로그인 콘솔을 통해 응용 프로그램을 시작할 수도 있다고 생각했습니다.

아니면 더 좋은 방법이 있나요?

답변1

귀하의 질문을 이해했는지 잘 모르겠습니다. 나는 귀하의 응용 프로그램이 일종의 저주 GUI를 시작하고 어떻게든 원격으로 로그인하여 해당 GUI에 연결하기를 원한다고 가정합니다(그러나 응용 프로그램은 이미 실행 중입니다).

나는 스크린(http://www.gnu.org/software/screen/) 별도의 "화면"(실제로 간단한 터미널 에뮬레이터가 있는 의사 tty)에서 애플리케이션을 실행합니다. 그런 다음 로그인한 후 사용자는 "screen -D -r" 또는 그 변형을 사용하여 가상 화면에 연결할 수 있습니다.

이것을 "다른 콘솔로 이동"이라고 합니다.

추신: 이를 "올바르게" 달성하는 또 다른 방법은 서비스(항상 실행되는 부분)와 UI를 두 개의 별도 프로세스로 분리하는 것입니다. 그러나 이는 두 프로세스 사이에 일종의 IPC를 고안해야 하므로 너무 많은 문제가 될 수 있습니다.

관련 정보