Tentando abrir um navegador na inicialização do meu Raspberry Pi

1

Tenho o Raspbian em execução no meu Raspberry Pi e quero que um navegador apareça quando for iniciado. Eu sou capaz de abrir uma janela Midori para a página direita no arranque, mas o meu problema é que eu recebo um erro "não pode resolver o nome do host", como eu iria ficar se eu não estivesse conectado à internet. Segui as instruções listadas no link que deveria ser digitado na linha de comando:

$ sudo nano /etc/xdg/lxsession/LXDE/autostart

Comente tudo e adicione as seguintes linhas:

@xset s off
@xset -dpms
@xset s noblank
@midori -e Fullscreen -a http://google.com

Este processo abre uma janela Midori na inicialização, mas com o erro mencionado acima. Se a página é atualizada, então funciona, mas eu quero ser capaz de abrir uma URL sem ter um mouse ou teclado. Eu li que no início da inicialização, a internet pode não estar conectada ainda, então criei um script que atrasava o processo em vinte segundos antes de abrir a janela do Midori. Isso também não funcionou, o mesmo erro persistiu. Eu também tentei o processo com o cromo, sem sucesso também.

    
por Andrew Briz 13.06.2013 / 22:09

4 respostas

4

No meu Pi eu tenho um script que verifica se eu tenho um endereço IP antes de fazer qualquer outra coisa:

IP.py

import socket
from time import sleep

def checknetwork():
    ip = False
    try:
        s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        s.connect(('google.com', 0))
        ip = s.getsockname()[0]
        s.close()
    except socket.error:
        return False
    else:
        return ip

def main():
    x = checknetwork()
    while x == False:
        print "Checking network ..."
        x = checknetwork()
        sleep(1)

Isso apenas tenta abrir um soquete para algum endereço conhecido e falha até que ele possa realmente obter uma conexão. Torne-o executável com:

chmod +x ip.py

Você precisa adicionar isso ao boot, adicionando-o ao /etc/rc.local:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

/usr/bin/python /directory/where/you/put/ip.py

exit 0

Espero que ajude

    
por 14.06.2013 / 16:25
0

Resolvi esse problema não inserindo minha chave de rede sem fio, mas usando a opção de pressionar o botão no roteador Ap. Conectado imediatamente sem mais problemas, mesmo usando o teclado e mouse sem fio (via hub USB alimentado)

    
por 15.10.2013 / 01:43
0

Use o ifconfig para detectar o endereço IP e espere até que você tenha um endereço IP (isto é, $? == 0) (isto assume ipv4),

$ /sbin/ifconfig |grep "inet " |grep -v "127.0.0.1"
inet 10.2.3.15  netmask 255.255.255.0  broadcast 10.2.3.255
$ echo $?
0

isto é,

#!/bin/bash
while [ 1 ]; do
    ip='/sbin/ifconfig |grep -v "127.0.0.1" |grep "inet "'
    [[ $? == 0 ]] && break;
    echo "wait for ip"; sleep 1;
done
echo "got ip: $ip"
    
por 15.10.2013 / 06:41
0

/ etc / xdg / lxsession / LXDE / autostart:

@lxpanel --profile LXDE

@pcmanfm --desktop --profile LXDE

@xscreensaver -no-splash

@midori  --inactivity-reset=60 -e Fullscreen -a http://www.google.com

funciona para mim

    
por 04.06.2014 / 22:41