내가 노력하는 스크립트를 실행할 때 나는 라즈베리 파이 부츠습니다. 나는 것처럼 웹 브라우저를 열고 자동으로 해제됩니다.
을 찾을 수 있는 간단한 솔루션,(같은 많은 스크립트에서는 몇 가지"startup"디렉토리 또는 이와 유사한)그러나 나는 보지 않는 것 같습니다.
나는신지만,나는'm 을 파악하는 데 어려움을 겪고 어떻게 작동되는지 확인합니다. 어떤 스크립트 I've 려고 일하지 않을 때 나는 그들을 테스트니다.
실행하기 위한 미도리에서 시작,살펴이 자. DIY 솔루션을 읽는다.
추가할 수 있습니다 당신의 스크립트를 실행하는 명령의 바닥.bashrc
는 것이다실행하는 스크립트의 모든 시간 터미널(또는 실행하는 새 인스턴스의bash
).
pi
폴더: $cd~
$sudo nano 위 첨자
저장하고 나가:Ctrl+XYEnter
열린다.bashrc`for configuration:
.bashrc
은NOT하기위한 실행 스크립트가 있습니다.
그것은 각각 실행 시간 비 로그인호가 시작되고 구성하는 데 사용합니다.
~/.bashrc:에 의해 실행되는 강타(1)비 로그인 쉘
.
$ sudo nano .bashrc
맨 아래로 스크롤하고 줄을 추가합니다:./위 첨자
저장하고 나가:Ctrl+XYEnter
는 경우는 솔루션을 찾고 있에서 작동 부팅하는 콘솔살펴이 링크. 기본 설명:
$sudo nano/etc/init.d/위 첨자
저장하고 나가:Ctrl+XYEnter
스크립트를 실행:
$sudo chmod755/etc/init.d/위 첨자
$sudo 업데이트 rc.d 기본값 위 첨자
당신이 원하는 스크립트를실행하면으로 부팅하도록 한환경할 수 있습을 살펴이 Raspberry Pi 포럼 게시:
탐색하는~/.config/lxsession/하도록 한-pi
을 열고시작
파일에는 폴더:
$sudo 나노 autostart
추가@미도리
에 새로운 라인입니다. 하려면 실행하고 python 스크립트를 넣어 같은 것@python mypython.py
새로운 라인입니다. 실행하는 스크립트 파일 것@./위 첨자
,그러나 어떤 이유에서 스크립트가 실행되는 무한 루프(아마도 이]4것을 중단).
저장하고 나가:Ctrl+XYEnter
를 다시 시작하는 라즈베리 파이로 여러 프로세 environment.
방법는've seen 대부분의 사람들은 그것은(보 라즈베리 파이 포럼)및 수행과 함께 자신의 성공은 사용하는/etc/rc.로컬
.
당신이해야 할 모든 당신이 여기에 넣./노
에서 rc.지역 텍스트 파일입니다. 경's python,putpython myscript.py
.
이제 그"는 간단한 솔루션,(같은 많은 스크립트에서는 몇 가지"startup"디렉토리 또는 이와 유사한)"-어쩌면 검색에서 포럼을 때'다시 질문을 가지고 뿐만 아니라,이 솔루션가 최초의 4 결과의 google 검색!
는 경우 스크립트를 시작하려면 필요 xorg 세션을 수도 있습니다 다음을 시도 다음freedesktop 자동 spec수있는 또는 작동하지 않을 수도 있습에 따라 환경 데스크탑 당신이 사용하고 있습니다.
또한,타겟팅할 수 있습니다 당신의 특정 데스크탑 환경로에서 설명 https://wiki.archlinux.org/index.php/autostarting.
는 경우 스크립트에 맞는 설명하는 데몬 또는'비스',그리고 시스템의 실행systemd의 경우 raspbian 에하고 가장 현대적인 linuces,다음 구성할 수 있습니다 스크립트로 실행 systemd 서비스—이 제공하는 세밀하게 제어할 수명 주기 및 실행 환경뿐만 아니라,을 위한 전제조건(다)시작하는 스크립트와 같은 네트워크되는 실행됩니다. 그것은 또한 가능하도록 서비스를 구성하는 다시 시작에서 실패하는 경우(다시 시작=항상
,그리고 사이에 지연을 다시 시작 예를 들어RestartSec=10
).
시스템-광범위한 사용을 만들 systemd 장치 파일을/etc/systemd/시스템
등과 같vim/etc/systemd/시스템/autossh.서비스
:
[Unit]
Description=Autossh keepalive daemon
## make sure we only start the service after network is up
Wants=network-online.target
After=network.target
[Service]
## use 'Type=forking' if the service backgrounds itself
## other values are Type=simple (default) and Type=oneshot
Type=forking
## here we can set custom environment variables
Environment=AUTOSSH_GATETIME=0
Environment=AUTOSSH_PORT=0
ExecStart=/usr/local/bin/ssh-keep-alive.sh
ExecStop=/usr/bin/killall -9 autossh
### NOTE: you can have multiple `ExecStop` lines
ExecStop=/usr/bin/killall ssh
# don't use 'nobody' if your script needs to access user files
# (if User is not set the service will run as root)
#User=nobody
# Useful during debugging; remove it once the service is working
StandardOutput=console
[Install]
WantedBy=multi-user.target
도 참조하십시오:
-[유닛
]구성
-[서비스
]구성
이제 우리는 테스트를 준비하는 서비스:
systemctl start autossh
검사 서비스의 상태:
systemctl status autossh
중 서비스:
systemctl stop autossh
면 검증 서비스가 예상대로 작동하도록 설정으로:
systemctl enable autossh
참고:보안을 위해
systemd
이 스크립트를 실행에 제한된 환경과 유사한 방법crontab
스크립트를 실행므로,don't 어떤 가정에 관한 기존의 시스템 변수입니다. 사용하는환경
키 스크립트를 필요로 특정한 변수를 정의할 수 있다. 추가 설정x
에서 최고의 bash 스크립트를 실행하는systemctl 상태 my_service
데 도움이 될 이유를 식별하는 스크립트가 실패하게 됩니다. 의 규칙으로 tumb,항상 사용하여 절대 경로에 대한 모든 것을 포함한에코
와고양이
또는 명시적으로 정의하$PATH.
고 싶을 던져서 두 센더라도,이것은 오래된 질문이지만 일반적으로 묻는지 간단한 것-자동 시작. 나는 모든 제안된 솔루션에는 모든 대답을 이 질문입니다. 그들의 아무도 나를 위해 일했습니다. 내가 사용하는 라즈베리 파이 모형과 2raspbian 에.
의 수 있는 유일한 방법은 나의 응용 프로그램은 자동으로 시작하여 성공적으로 스크립트를 통해 다음과 같습니다. 내가 말을 성공적으로 때문에 내 응용 프로그램을 시작으로 예상되지 않고 어떤 문제로 시작하는 잘못된 작업 경로입니다.
1.만들어 파일 확장자를 가진.sh 고 그것을 당신이 무엇을 원합니다.
2.복사 및 붙여 다음과 같은 정확히 제외하고 변화"응용 프로그램 이름"하는 스크립트는 이름만 만들어집니다.
#! /bin/sh
### BEGIN INIT INFO
# Provides: noip
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Simple script to start a program at boot
### END INIT INFO
#change /direct/path/to/your/application to the path your application is in.
cd /direct/path/to/your/application # example cd /home/pi/myprogram/
#change YourProgramExactName to Exact name of your program that you want to auto start
./YourProgramExactName
exit 0
그런 다음,스크립트 파일을 저장합 내에서의 응용 프로그램 폴더
그런 다음,open/home/pi/.config/자동
폴더에 있습니다. 그것은 다를 수 있습니다. 그것은 홈 폴더로 사용하 보기 숨겨진 폴더에 있습니다. open.config/자동
. 지 않는 경우't 참조 자동 폴더를 만들라는 폴더 내에서 자동 시작.config 폴더에 있습니다.
에서 자동 시작 폴더를 필요로 할 것이 바로 가기를 만들의 스크립트 파일을 만든 다음과 같습니다. 만들어 파일 확장자를 가진`.하고 있습니다.
복사 및 붙여넣기 다음에 빈 데스크톱을 제외하고 파일로 변경해야 합니다의견
,이름
,Exec
,경로
과아이콘
분야's value.
[데스크탑 항목] 댓글= Exec=/path/to/Your/응용 프로그램/이름의-스크립트-파일(.sh) 아이콘=/Path/to/Your/응용 프로그램/아이콘/IconName 이름=YourApplicationEXACTNAME Path=/Path/to/Your/응용 프로그램-만 Type=응용 프로그램
*참고:이것은 스크립트 데비안 LSBInit 규격: https://wiki.debian.org/LSBInitScripts
실행하는 명령에 자동으로 로그인을 넣어 명령으로 라는 이름의 파일
.bashrc
사용자 디렉토리에 있는(예를 들어/home/pi)
.bashrc
은NOT하기위한 실행 스크립트가 있습니다.
그것은 각각 실행 시간 비 로그인호가 시작되고 구성하는 데 사용합니다.
~/.bashrc:에 의해 실행되는 강타(1)비 로그인 쉘
.
예를 들어,파일은 다음을 포함할 수 있습니다
chromium-browser --kiosk www.google.com
실행하는 크롬에서 전체 화면키 www.google.com
편집을 시작시 자동으로 실행할 프로그램 file:
sudo nano /etc/xdg/lxsession/LXDE/autostart
주석으로 모든 것을 사용하는'#'의 시작에서 각 라인에 추가한 다음 다음과 같은 줄을
@xset s off
@xset -dpms
@xset s noblank
@midori -e Fullscreen -a http://google.com
필요한 경우 사용하여 구성 도구를 사용하려면 자동 실행하의 GUI 에 전원을 켤
sudo raspi-config
필요하신 경우에는 출구를 다시 명령 프롬프트 CTRL+ALT+F1
CTRL+ALT+F2
만들.sh 파일 명령'python/path/to/your/스크립트입니다.py' 유형'sudo nano/etc/rc.local'고의 경로를 입력합니다.sh 파일
기
exit 0
또는 당신은 단지 입력
crontab -e
나
sudo crontab -e
당신이 원하는 스크립트를 실행 시작
내부에서 원하는 파일 형식
@reboot python /path/to/your/script.py &
이것은 내가 무슨 일반적으로 않습니다.
sudo nano.bashrc
.bashrc
은NOT하기위한 실행 스크립트가 있습니다.
그것은 각각 실행 시간 비 로그인호가 시작되고 구성하는 데 사용합니다.
~/.bashrc:에 의해 실행되는 강타(1)비 로그인 쉘
.
sudo python mycode.py
sudo python mycode.py >>output.py
Hope this helps!