이 질문에 대한 약간의 배경 지식을 제공하기 위해 저는 Raspberry Pi에서 이것을 실행하고 있습니다. 기본 OS는 Debian Raspbian GNU/Linux 10(buster), 커널: Linux 4.19.97-v7l+입니다.
현재 시스템이 부팅되어 TTY 2에서 모노로 사용자 정의 .exe 파일을 실행합니다. 모든 것이 작동하지만 사용자 인터페이스는 매우 간단하고 제한적입니다(이것은 사람들이 문제를 일으키지 않도록 의도적으로 수행되었습니다). 터미널 이외의 실행 파일 및 도구 작업을 쉽게 수행할 수 있도록 다른 tty의 백그라운드에서 실행될 데스크탑 환경이 있어야 합니다.
현재 다른 tty(4를 사용 중)로 이동하여 명령을 실행하면 startx /usr/bin/startlxde --:8
LXDE가 부팅됩니다. 내가 원하는 것은 tty4의 백그라운드에서 이 명령을 실행하고 tty4에서 LXDE를 자동으로 시작하는 것입니다. 내가 해야 할 일은 Ctrl+Alt+F4를 누르는 것뿐입니다. 그러면 LXDE가 실행될 것입니다.
내 .xinitrc
파일도 여기에 있습니다.
feh /home/pi/program/loading.jpg &
setterm -blank 0
xset s off
xset -dpms
xinput set-prop 6 'Coordinate Transformation Matrix' -1 0 1 0 1 0 0 0 1
mono /home/pi/program/test-11-20.exe**
startx /usr/bin/startlxde --:8** # this part is not doing what I was hoping it would do.
답변1
.xinitrc
X
내가 옳다면 다음과 같이 작동해야 합니다 .
case $XDG_VTNR in
2) exec mono /home/pi/program/test-11-20.exe ;; # or gnome-session, or whatever the command would actually be
4) exec /usr/bin/startlxde ;;
*) echo "You've not told me what to do on this tty!" ;;
esac
스니펫을 찾았습니다.여기.
XOrg
그러나 일부 메커니즘을 사용하여 시작 해야 할 수도 있습니다 TTY4
. TTY로 변경하고 입력하는 것이 startx
가장 간단한 방법입니다(그러나 자동화할 수 있음).
X 자동 실행
X를 시작하려면 다음을 수행하면 됩니다.넣다startx
.bashrc
이는 로그인할 때 실행됩니다. 그러나 조건을 다시 입력해야 합니다. 그렇지 않으면 모든 로그인 쉘에서 발생합니다.
# start x if we are on tty2 or 4
[[ -z $DISPLAY && $XDG_VTNR -eq 2 ]] && exec startx
[[ -z $DISPLAY && $XDG_VTNR -eq 4 ]] && exec startx
또한 자동 로그인을 활성화할 수도 있지만 이는 보안 문제가 될 수 있습니다.이 답변Debain Buster에서 작동해야 합니다( NAutoVTs
두 가지 모두에서 자동 로그인을 원할 경우 tty2와 4를 그대로 두고 편집하세요).