내 Raspberry Pi에서 Raspbian을 실행 중이고 시작 시 브라우저가 표시되기를 원합니다. 시작 시 올바른 페이지로 Midori 창을 열 수 있지만 문제는 인터넷에 연결되지 않은 경우 발생하는 오류와 같은 "호스트 이름을 확인할 수 없습니다" 오류가 발생한다는 것입니다. 위에 나열된 지침을 따랐습니다.http://www.niteoweb.com/blog/raspberry-pi-boot-to-browser명령줄에 다음을 입력하세요.
$ sudo nano /etc/xdg/lxsession/LXDE/autostart
모든 내용을 주석 처리하고 다음 줄을 추가합니다.
@xset s off
@xset -dpms
@xset s noblank
@midori -e Fullscreen -a http://google.com
이 프로세스가 시작되면 Midori 창이 열리지만 위의 오류가 발생합니다. 페이지를 새로 고치면 작동하지만 마우스나 키보드 없이 URL을 불러올 수 있기를 원합니다. 부팅이 시작될 때 인터넷이 연결되지 않을 수 있다는 내용을 읽었으므로 Midori 창을 열기 전에 프로세스를 20초 동안 지연시키는 bash 스크립트를 만들었습니다. 이것도 작동하지 않고 동일한 오류가 지속됩니다. 또한 크롬 프로세스를 사용해 보았지만 아무 소용이 없었습니다.
답변1
내 Pi에는 다른 작업을 수행하기 전에 IP 주소가 있는지 확인하는 스크립트가 있습니다:
IP.py
수입소켓 시간에서 수면 가져오기 데프 체크네트워크(): 아이피 = 거짓 노력하다: s = 소켓.소켓(소켓.AF_INET, 소켓.SOCK_DGRAM) s.connect(('google.com', 0)) ip = s.getsockname()[0] s.닫기() 소켓 오류를 제외하고: 반환 오류 기타: IP 반환 데프 메인(): x = 네트워크 확인() x == False인 경우: "네트워크 확인 중..." 인쇄 x = 네트워크 확인() 잠 (1)
이것은 단순히 알려진 주소로 소켓을 열려고 시도하며 실제로 연결되기 전에 실패합니다. 실행 가능하게 만드세요:
chmod +x ip.py
그런 다음 /etc/rc.local에 추가하여 시작 시 추가해야 합니다.
#!/bin/sh -e # #rc.로컬 # # 이 스크립트는 각 다중 사용자 런레벨이 끝날 때 실행됩니다. # 성공이나 다른 상황에서 스크립트가 "0으로 종료"되는지 확인하세요. # 오류값. # # 이 스크립트를 활성화하거나 비활성화하려면 실행 방법을 변경하면 됩니다. # 조금. # # 기본적으로 이 스크립트는 아무 작업도 수행하지 않습니다. /usr/bin/python/directory/where/you/put/ip.py 0번 출구
도움이 되길 바랍니다
답변2
무선 네트워크 키를 입력하지 않고 AP 공유기의 버튼 옵션을 이용하여 이 문제를 해결했습니다. 무선 키보드와 마우스(전원 공급 USB 허브를 통해)를 사용해도 즉시 연결하면 더 이상 문제가 발생하지 않습니다.
답변3
ifconfig를 사용하여 IP 주소를 감지하고 IP 주소(예: $? == 0)를 얻을 때까지 기다립니다(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
그건,
#!/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"
답변4
/etc/xdg/lxsession/LXDE/자동 시작:
@lxpanel --profile LXDE
@pcmanfm --desktop --profile LXDE
@xscreensaver -no-splash
@midori --inactivity-reset=60 -e Fullscreen -a http://www.google.com
나를 위해 일해