![시작 시 Python 스크립트를 실행할 때 "qt.qpa.screen: 디스플레이에 연결할 수 없습니다" 오류 발생](https://linux55.com/image/163474/%EC%8B%9C%EC%9E%91%20%EC%8B%9C%20Python%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A5%BC%20%EC%8B%A4%ED%96%89%ED%95%A0%20%EB%95%8C%20%22qt.qpa.screen%3A%20%EB%94%94%EC%8A%A4%ED%94%8C%EB%A0%88%EC%9D%B4%EC%97%90%20%EC%97%B0%EA%B2%B0%ED%95%A0%20%EC%88%98%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4%22%20%EC%98%A4%EB%A5%98%20%EB%B0%9C%EC%83%9D.png)
이 문제를 온라인에서 검색했지만 해결할 수 없었습니다. 저의 미숙함을 용서해주세요. PyQt5 라이브러리를 사용하여 창을 생성하는 시작 시 Python 스크립트를 실행하려고 합니다. 저는 라즈베리 파이 3 모델 b+를 사용하고 있고, 라즈베리 파이 3 모델을 lxde와 함께 사용하고 있습니다. 다음과 같이 쉘 스크립트를 작성했습니다.
#! /bin/bash
sleep 10
python3 /home/pi/Desktop/workfolder/mainwindow.py
그런 다음 crontab에 추가했습니다.
@reboot /home/pi/Desktop/workfolder/startup.sh > /home/pi/Documents/error.log 2>&1
재부팅하면 오류 로그에 다음 오류가 표시됩니다.
qt.qpa.screen: QXcbConnection: Could not connect to display
Could not connect to any X display.
해결할 수 있는 다른 문제가 몇 가지 더 있는데 이 문제에만 매달렸습니다. 터미널을 통해 스크립트를 실행하면 화면이 시작됩니다. 내가 아는 한, Xorg는 lxde가 실행될 때 설치됩니다. 또한 스크립트가 너무 일찍 실행되는지 확인하기 위해 sleep 10을 sleep 30으로 변경했습니다. 하지만 여전히 같은 오류가 발생합니다.
답변1
시간 초과는 가장 큰 문제가 아닙니다.
DISPLAY=:0
창의 표시 위치를 지정 하는 데 사용됩니다 .
@reboot DISPLAY=:0 /home/pi/Desktop/workfolder/startup.sh > /home/pi/Documents/error.log 2>&1