-
라즈베리파이 5 GUI 프로그램 전원 연결 시 바로 실행시키기파이썬 2024. 7. 3. 14:45
해당 글 참조하였습니다.
여러 블로그를 참고 해 봤는데
센서 연결 후 tkinter로 GUI를 키는 프로그램 구조가 문제인지, 라즈베리파이 5 라서 동작이 안되는건지
다른 rc.local 파일이나 .bashrc 를 수정하는 방법은 통하지 않았습니다.
bashrc를 수정하는 방법은 재부팅 후 터미널을 실행시키면 프로그램이 켜지는 식으로 동작했는데
이때 os.getcwd 를 사용했던 이미지 폴더 경로는 수정해야 했어요. 프로그램 동작 경로가 /home/pi 경로로 고정되는 것 같더라구요. 또 전원연결 시에는 프로그램이 켜지지 않았습니다..
다행히 해당 글 정보 참고 후 해결했습니다.
mkdir /home/pi(유저명)/.config/autostart
nano /home/user/.config/autostart/프로그램.desktop로 .desktop 파일 만들고 거기에 이하 내용을 작성 후 저장하면 됩니다.
[Desktop Entry]
Type=Application
Name=프로그램 이름
Exec=/usr/bin/python3(실행할 환경) /home/pi/test.py(프로그램 절대경로)+ ) 추가로 라즈베리파이 부팅 로고 변경 한 방법도 적어두겠습니다.
이미지 파일 제작(png) 후 해당 파일을
/usr/share/plymouth/themes/pix/splash.png
해당 경로 파일과 교체합니다.
sudo plymouth-set-default-theme --rebuild-initrd pix &
실행시키면 로고 이미지가 바뀌는 모습을 확인할 수 있습니다.
혹시 부팅 중 메시지가 확인된다면
/usr/share/plymouth/themes/pix/pix.script 파일에서 몇 문장을 주석 처리합니다.
#message_sprite = Sprite();
#message_sprite.SetPosition(screen_width * 0.1, screen_height * 0.9, 10000);
fun message_callback (text) {
#my_image = Image.Text(text, 1, 1, 1);
#message_sprite.SetImage(my_image);
sprite.SetImage (resized_image);
}파일 가장 마지막 부분에 있는데 다른 분의 경우에는 #message_sprite.SetImage(my_image);
이 문장까지는 주석처리하지 않아도 된다고 하셨던 거 같아요.