X를 사용하지 않고 파이게임을 사용하여 프레임 버퍼에 직접 액세스하는 Python 응용 프로그램이 있습니다. 콘솔 로그인 프롬프트를 표시하는 대신 부팅 시 이 애플리케이션을 실행하고 싶습니다. 이 작업을 수행하는 방법을 설명하는 좋은 리소스를 찾지 못했습니다.
gdm이 시작되는 것처럼 콘솔 로그인 프롬프트를 표시하는 대신.
보너스 질문: 해당 애플리케이션이 충돌하면 어떻게 되나요? 콘솔 로그인 프롬프트가 표시됩니까?
편집: 저는 런레벨과 시작에 대해 읽었습니다. 아래에 더 구체적인 질문이 있습니다.
/etc/init.d
내 Python 프로그램을 시작하는 스크립트를 만들고 , rc.d를 업데이트하고, update-rc.d
마지막으로 실행되도록 우선 순위를 99로 설정하고, 실행 수준 5에서 실행되도록 설정하는 것만으로도 충분했습니다(GUI 응용 프로그램용이라고 들었습니다). 그런 다음 /etc/inittab
기본 런레벨 5를 ?
아니면 프로그램이 프레임버퍼를 사용하기 때문에 특별한 작업을 수행해야 합니까?
답변1
inittab에서 직접 실행해 볼 수 있습니다. /etc/inittab을 편집하고 교체해 보십시오.
1:2345:respawn:/sbin/getty 38400 tty1
그리고
1:2345:respawn:/usr/bin/python /srv/game/game.py
게임이 충돌하면 init가 게임을 다시 시작합니다. 게임은 tty1(또는 선택한 다른 항목)이 열려야 한다는 것을 알아야 할 수도 있습니다.
콘솔이 필요한 경우 다른 터미널은 정상이어야 하므로 ctrl+alt+F2를 누르면 로그인 콘솔로 점프해야 합니다.
런레벨을 사용하고 싶다면 올바른 길을 가고 있는 것입니다... 애플리케이션이 연결해야 할 위치를 알 수 있도록 TTY(아마도 내보내기 TTY=/dev/tty1)를 정의해야 할 수도 있습니다(inittab 및 rc 때문에) 스크립트는 TTY 정의 없이 실행됩니다. 저는 Python이나 프레임버퍼 콘솔을 모르기 때문에 Python에서 이 작업을 수행하는 방법과 그 밖에 필요한 것이 무엇인지 모릅니다(스택오버플로우에 대한 더 많은 프레임버퍼 또는 Python 직접 질문이 필요할 수 있음).