ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 라즈베리파이 5 GUI 프로그램 전원 연결 시 바로 실행시키기
    파이썬 2024. 7. 3. 14:45

    https://learn.sparkfun.com/tutorials/how-to-run-a-raspberry-pi-program-on-startup/all#method-2-autostart

     

    How to Run a Raspberry Pi Program on Startup - SparkFun Learn

    Introduction The Raspberry Pi is a great single board computer, but like most computers, its functions rely mostly on human input. That means whenever you start up (or boot) your computer, it waits for your input to run programs. That's great, but how do w

    learn.sparkfun.com

     

    해당 글 참조하였습니다. 

     

    여러 블로그를 참고 해 봤는데 

    센서 연결 후 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); 

    이 문장까지는 주석처리하지 않아도 된다고 하셨던 거 같아요.

     

Designed by Tistory.