====== ComfilePi 유저 프로그램 자동시작 ====== 최초 구매시 ComfilePi를 켜면 그래픽 Desktop 화면이 표시됩니다. 현장에 설치된 뒤에는 이 Desktop 화면이 필요없습니다. 유저가 작성한 프로그램이 바로 실행되어야 합니다. ===== 부팅시 콘솔모드로 부팅하는 방법 ===== 우선 부팅시 그래픽 Desktop 으로 진입하지 않도록 해야합니다. - 그래픽 Desktop의 console/terminal 에서 ''sudo raspi-config''를 입력하세요. - 3번 Boot Options에서 B1 Desktop / CLI --> B1 Console을 선택하세요. {{ :comfilepi:auto-start:raspi_config_1.png?nolink |}} {{ :comfilepi:auto-start:raspi_config_2.png?nolink |}} {{ :comfilepi:auto-start:raspi_config_3.png?nolink |}} Finish를 누른후, ''Would you like yo reboot now?''를 물어보는 화면에서 Yes를 선택하시면 콘솔모드로 리부트 됩니다. ===== 자동시작할 프로그램을 등록하기 ===== - 텍스트 에디터를 사용해서 //{program_name}.service// 파일을 하나 생성해야 합니다. 평소 자주사용하는 에디터를 쓰시면 됩니다. - 작성된 파일을 ''/etc/systemd/system/''폴더에 카피하세요. - 자동실행할 파일과 필요한 부속파일도 ComfilePi 내의 적당한 위치에 사전에 카피해두십시오. - 아래 예에서는 //dashboard.service// 파일을 텍스트 에디터로 만들었습니다. ''/opt/Qt5.8/examples/quickcontrols/extras/dashboard''을 자동시작하도록 하였습니다. [Unit] Description=Dashboard example program [Service] ExecStart=/opt/Qt5.8/examples/quickcontrols/extras/dashboard/dashboard Restart=always [Install] WantedBy=multi-user.target * ''Description'' 는 설명문입니다. 실행에 영향을 주지 않습니다. * ''ExecStart'' 는 실행할 파일이 들어있는 경로와 파일명입니다. 바로 이 프로그램을 자동시작합니다. * ''Restart=always'' 는 프로그램이 강제종료되어도 자동시작한다는 뜻입니다. * ''WantedBy'' 는 실행 모드입니다. Multi-user.target는 다중사용자 모드를 뜻합니다. ''sudo systemctl enable dashboard.service'' 명령을 실행시켜야 자동시작이 활성화됩니다. 그리고 전원을 껏다 켜면 자동시작되는 것을 보실 수 있습니다. ==== 다른 명령 ==== * ''sudo systemctl enable dashboard.service'' - 자동시작 서비스를 활성화 합니다. 다음 Reboot부터 자동시작됩니다. * ''sudo systemctl disable dashboard.service'' - 자동시작 서비스를 비활성화 합니다. * ''sudo systemctl start dashboard.service'' - 곧바로 프로그램을 시작합니다.. ===== Qt EGLFS 프로그램을 위한 환경변수 관련 ===== Qt EGLFS 프로그램을 쓰시는 분들만 아래 내용을 참고하시기 바랍니다. Qt EGLFS 프로그램을 실행하기 위해서는 아래와 같이 환경변수를 사전에 정의해야 합니다. [Service] Environment="QT_QPA_EGLFS_HIDECURSOR=1" Environment="QT_QPA_EGLFS_DISABLE_INPUT=1" Environment="QT_QPA_GENERIC_PLUGINS=evdevmouse:abs" Environment="QT_QPA_EGLFS_PHYSICAL_WIDTH=154" Environment="QT_QPA_EGLFS_PHYSICAL_HEIGHT=86" Environment="QT_QPA_EGLFS_WIDTH=800" Environment="QT_QPA_EGLFS_HEIGHT=480" ExecStart=/opt/Qt5.8/examples/quickcontrols/extras/dashboard/dashboard