起動時にPythonスクリプトを実行すると「qt.qpa.screen:ディスプレイに接続できません」エラーが発生する

起動時にPythonスクリプトを実行すると「qt.qpa.screen:ディスプレイに接続できません」エラーが発生する

この問題をオンラインで検索しましたが、解決できませんでした。私の未熟さを許してください。 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が実行されたときにインストールされます。また、スクリプトが早すぎるかどうかを確認するために、スリープ10をスリープ30に変更しました。しかし、まだ同じエラーが発生します。

答え1

タイムアウトは最大の問題ではありません。

DISPLAY=:0ウィンドウの表示位置を指定するために使用されます。

@reboot DISPLAY=:0 /home/pi/Desktop/workfolder/startup.sh > /home/pi/Documents/error.log 2>&1

関連情報