最小キオスクブラウザが起動時にxinitで機能しない


0

Raspberry Piの起動シーケンスに問題があります。私の目標は、ブートシーケンスで最小キオスクブラウザー(kweb)を実行することです。そのために、スクリプト/etc/rc.localに変更を加えました。

(...)
sh /home/lustron/Lustron/starter.sh   &
sleep 5s
python /home/lustron/Lustron/sensor5.py  &


exit 0

およびstarter.shスクリプト:

#!/bin/bash

xinit /usr/bin/kweb -KHCUA+-zbhrqfpoklgtjneduwxy file:///var/www/index.php &

残念ながら、RPiを起動すると、/ etc / rc.localファイルをまったく使用していないように、ユーザーLustronのコマンドラインで終了します。コマンドを実行するsudo sh /etc/rc/localと、スクリプトが起動し、xserverが起動するのを確認できますが、白い「ウィンドウ?」しかありません。画面の3/4部分。私が見ることができる唯一のエラーはFATAL: module g2d_23 not found 、他のスクリプト(sensor5.py)が正常に動作していることです。

ここで問題は何ですか?ここには明らかに2つの問題があります。-xinitが正しく初期化されていない-/etc/rc.localが起動時に実行されていない


nodm飾り気のない自動ログイン表示マネージャーとして使用することを検討するかもしれません。IMOはXを直接実行するよりも優れています。これは、「通常の」方法(GDBまたはその他の方法でユーザーがログを記録する)を使用して作成されるため、適切なXセッションをセットアップするだけで自動的に実行されるためです。
kostix

回答:


1

/etc/rc.local実行可能(chmod a+rx)であることを確認してください。エラーをログファイルにリダイレクトする行を最初に追加できます:

exec 2>>/tmp/rc.errors

Linuxにはいくつかの仮想端末があります。一度に画面に表示できるのは1つだけです。X11サーバーもVTを使用します。ファイルに/etc/inittabは、次のような各VTの行があります。

2:23:respawn:/sbin/getty 38400 tty2

これらが後で機能しているときに抑制したい場合があります。キーボードからVTを切り替えることができます。altF7たとえば、通常はgetty(inittabから)使用されない唯一のVT 7(tty7)に到達するため、X11サーバーがオンになります。

chvtコマンドを(ルートとして)使用してVTを変更することもできます。


だから、chmod a+rxrc.localに問題を手伝ってくれましたし、今、すべてのスクリプトは、ブートシーケンスで実行されています。問題はまだxinit側にありますが、ウィンドウマネージャーを追加する必要があるかもしれません。matchbox-window-managerで試しましたが、うまくいきませんでした。問題は、このためにキーボードを使用したくないということです。このプロセスを自動化する:キオスクモードのブラウザーでPHPでウェブサイトを起動して開く。
ターザンノ

1

次のソリューションを使用しました:http : //blogs.wcode.org/2013/09/howto-boot-your-raspberry-pi-into-a-fullscreen-browser-kiosk/

以下を/etc/rc.localに追加しました:

if [ -f /boot/xinitrc ]; then
    ln -fs /boot/xinitrc /home/pi/.xinitrc;
    su - pi -c 'startx' &
fi

および/ boot / xinitrcに:

#!/bin/sh
while true; do

    # Clean up previously running apps, gracefully at first then harshly
    killall -TERM chromium 2>/dev/null;
    killall -TERM matchbox-window-manager 2>/dev/null;
    sleep 2;
    killall -9 chromium 2>/dev/null;
    killall -9 matchbox-window-manager 2>/dev/null;

    # Clean out existing profile information
    rm -rf /home/pi/.cache;
    rm -rf /home/pi/.config;
    rm -rf /home/pi/.pki;

    # Generate the bare minimum to keep Chromium happy!
    mkdir -p /home/pi/.config/chromium/Default
    sqlite3 /home/pi/.config/chromium/Default/Web\ Data "CREATE TABLE meta(key LONGVARCHAR NOT NULL UNIQUE PRIMARY KEY, value LONGVARCHAR); INSERT INTO meta VALUES('version','46'); CREATE TABLE keywords (foo INTEGER);";

    # Disable DPMS / Screen blanking
    xset -dpms
    xset s off

    # Reset the framebuffer's colour-depth
    fbset -depth $( cat /sys/module/*fb*/parameters/fbdepth );

    # Hide the cursor (move it to the bottom-right, comment out if you want mouse interaction)
    xwit -root -warp $( cat /sys/module/*fb*/parameters/fbwidth ) $( cat /sys/module/*fb*/parameters/fbheight )

    # Start the window manager (remove "-use_cursor no" if you actually want mouse interaction)
    matchbox-window-manager -use_titlebar no -use_cursor no &

    # Start the browser (See http://peter.sh/experiments/chromium-command-line-switches/)
    chromium  --app=http://URL.of.your/choice.html

done;
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.