Navegador mínimo de quiosque não funciona com o xinit na inicialização

0

Eu tenho um problema com uma seqüência de inicialização no meu Raspberry Pi. Meu objetivo é ter um Navegador de Quiosque Mínimo (kweb) executado em uma seqüência de inicialização. Para fazer isso, fiz alterações no script /etc/rc.local:

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


exit 0

e o script starter.sh:

#!/bin/bash

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

Infelizmente, quando o meu RPi inicializa, ele termina em uma linha de comando do usuário Lustron, como se não estivesse usando o arquivo /etc/rc.local. Quando estou executando o comando sudo sh /etc/rc/local , o script está sendo inicializado e posso ver que o xserver inicia, mas existe apenas uma "janela" branca em uma parte 3/4 de uma tela. O único erro que consigo ver é: FATAL: module g2d_23 not found O outro script (sensor5.py) está funcionando bem.

Qual é o problema aqui? Obviamente, existem dois problemas aqui: - xinit não inicializado corretamente - /etc/rc.local não está sendo executado na inicialização

    
por tarzanno 08.08.2015 / 12:40

2 respostas

1

Certifique-se de que /etc/rc.local seja executável ( chmod a+rx ). Você pode adicionar ao início uma linha para redirecionar erros para um arquivo de log:

exec 2>>/tmp/rc.errors

Existem vários Terminais Virtuais no linux. Apenas 1 pode aparecer na tela por vez. O servidor X11 também usa um VT. O arquivo /etc/inittab tem uma linha para cada VT como este, por exemplo:

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

Você pode querer suprimi-las mais tarde quando as coisas estiverem funcionando. Você pode mudar entre VTs do teclado com alt F7 por exemplo, para chegar ao VT 7 (tty7), que normalmente é o único que não é usado por getty (do inittab), e então o servidor do X11 estará ligado.

Você também pode usar o comando chvt (como root) para alterar o VT.

    
por 08.08.2015 / 16:39
1

Eu usei a solução de: link

Adicionei o seguinte ao /etc/rc.local:

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

e para o / 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;
    
por 09.08.2015 / 11:15