rc.localを使用してサーバーを起動し、Webアプリケーションを起動しますか? [コピー]

rc.localを使用してサーバーを起動し、Webアプリケーションを起動しますか? [コピー]

Pythonプログラムを介してサーバーを起動し、そのWebアプリケーションを開こうとすると問題が発生します。サーバーを開き、Webアプリも開くことができません。

0を終了する前に、rc.local次のように修正してみました。

sudo python /home/pi/Program/program.py &
sudo bash chromium-browser --kiosk https://127.0.0.1:8081/

私もこれを使ってbashrcこれを試してみましたLXTerminalを実行したときにのみサーバーが開きます。 、反対の質問です。サーバーは実行できますが、ブラウザーは実行できません。rc.localbashrcrc.local

Pythonプログラムを独自に起動でき、Webページを独自に起動できますが(ただし、明らかにサーバーがないために見つからないアドレスを提供します)、どちらも一緒に起動することはできません。

rc localをbin / sh -eに変更しようとしましたが、まだ機能しません。

私はRasbian Osを実行しています。

投稿内容では私の質問に答えることはできません。答えは、GUIの後にブラウザを起動し、既に知っている何をすべきかを教えてくれます。また、ブラウザを起動する前にサーバーを起動して実行する必要がある問題も解決されません。また、私はどのように多くのことを試しましたが、それらの何も動作しなかったことに言及することができます。自動起動とbashrcを編集してみました。

答え1

ここでは、誰もが冗長であると言いすぎるので、私自身の質問に答えています。ただし、正しい重複ではありません。

私はこれを探しています:https://raspberrypi.stackexchange.com/questions/40631/setting-up-a-kiosk-with-chromium/40745#40745?newreg=c9704e6834f541ffb621ede086bdccc2

答え2

内でXアプリケーションを実行するには、使用しているrc.localモニターを定義する必要があります。rc.local通常のシェル環境ではコマンドを実行しないためです。

まず、システムでどのモニターが使用されているかを検索します。

echo $DISPLAY

出力は次のとおりです。

:0.0

または

:1

DISPLAY変数が:1GUIアプリケーションを使用してコマンドの前に追加されたとしますDISPLAY=:1。つまり:

python /home/pi/Program/program.py &
DISPLAY=:1 chromium-browser --kiosk https://127.0.0.1:8081/

もちろん、削除はユーザーから行わsudoれます。以前も削除されました。rc.localrootbashchromium-browser

chromium-browser一般ユーザーとして実行してみてください。ユーザー名がbob次のようになっているとし、コマンドを次のように変更します。

DISPLAY=:1 sudo -u bob chromium-browser --kiosk https://127.0.0.1:8081/

bob実際のユーザー名に変更してください。

関連情報