2022년 10월 11일 화요일

자동 시작을 사용하는 방법 - 라즈베리 파이 OS (데스크탑)

출처: 스티커 : 자동 시작을 사용하는 방법 - 라즈베리 파이 OS (데스크탑) - 라즈베리 파이 포럼 (raspberrypi.com) 

자동 시작 사용 방법 - 라즈베리 파이 OS (데스크탑)


아래에 설명 된 설정과 기본값은 Raspbian 'Buster'및 이후 RPi OS 릴리스에서 찾을 수 있습니다.
Raspbian 'Stretch'와 릴리스 전에는 아래에 설명 된대로 다른 기본값을 사용했습니다.

자동 시작 기능을 사용하여 부팅 시 모든 앱, 스크립트 또는 명령(사용자 로그인)을 자동으로 시작할 수 있습니다. 데스크톱(GUI)으로 부팅을 사용하도록 설정해야 합니다.

자동 시작은 데스크톱 앱 또는 데스크톱(GUI)이 필요한 스크립트를 실행해야 할 때 특히 유용합니다.

rc.local 또는 cron @reboot과 같은 다른 방법은 GUI 프로그램이 데스크톱이 준비되기 전에 앱을 시작하려고 시도하여 열리지 못하게하므로 GUI 프로그램을 쉽게 처리하지 못합니다.

4 가지 자동 시작 방법 또는 옵션이 있습니다 : • 시스템 (모든 사용자) *** '버스터'및 이후 OS 릴리스의 기본값 *** • 사용자 (특정 사용자) *** '스트레치'및 이전 OS 릴리스의 기본값 *** • .desktop 파일을 사용하는 기존 (모든 사용자)

• .desktop 파일을

사용하는 기존 (특정 사용자) 시스템 방법 :


System 메소드는 필요한 자동 시작 파일이 이미 존재하고 간단한 편집으로 명령을 쉽게 추가 할 수 있으므로 가장 쉽습니다. 기본적으로 시스템 자동 시작은 모든 사용자에게 적용되며 사용자가 로그인할 때마다 실행됩니다. 시스템 자동 시작 파일은 여기에 있습니다.
/etc/xdg/lxsession/LXDE-pi/

nano 편집기를 사용하여 시스템 자동 시작을 열려면:

코드: 모두 선택

sudo nano /etc/xdg/lxsession/LXDE-pi/autostart
아래의 자동 시작 파일 및 샘플 자동 시작 파일 사용을 참조하십시오.


사용자 메서드:
사용자 메서드는 System 메서드와 거의 동일하게 작동하지만 각 사용자에 대해 고유한 또는 사용자 지정 자동 시작 파일을 허용합니다. 한 명의 사용자 (pi) 만 있거나 여러 사용자가 로그인 / 부팅시 시작된 다른 앱이나 스크립트를 필요로하지 않는 경우 사용자 방법을 수행하는 데 이점이 없습니다.

사용자 자동 시작 파일 및 연관된 경로는 기본적으로 존재하지 않습니다.

파이 사용자 자동 시작은 /home/pi/.config/lxsession/LXDE-pi/ (사용자 pi가 아닌 경우 사용자 이름을 pi /home/{user}/.config/lxsession/LXDE-pi/로 대체합니다).

먼저 lxsession 및 LXDE-pi 하위 디렉토리를 작성한 다음 시스템 자동 시작을 사용자 위치에 복사해야합니다.

사용자 파이의 경우 :

코드: 모두 선택

mkdir /home/pi/.config/lxsession
mkdir /home/pi/.config/lxsession/LXDE-pi
cp /etc/xdg/lxsession/LXDE-pi/autostart /home/pi/.config/lxsession/LXDE-pi/
참고: 사용자 자동 시작 파일이 /home/pi/.config/lxsession/LXDE-pi에 있는 경우 시스템 자동 시작 파일은 완전히 무시됩니다(해당 사용자의 경우).

nano 편집기를 사용하여 사용자 자동 시작을 열려면:

코드: 모두 선택

nano /home/pi/.config/lxsession/LXDE-pi/autostart
아래의 자동 시작 파일 및 샘플 자동 시작 파일 사용을 참조하십시오.

자동 시작 파일(시스템 또는 사용자) 사용: 기본 시스템 자동 시작 파일:


코드: 모두 선택

@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@xscreensaver -no-splash
• 처음 2 줄은 중요하며 제거해서는 안되며 User 메서드를 수행하는 경우에도 존재해야합니다. 이러한 줄 없이 자동 시작 파일을 만든 경우 바탕 화면이 공백(Openbox) 화면으로 부팅됩니다. 복구하려면 화면의 아무 곳이나 마우스 오른쪽 버튼으로 클릭하고 메뉴에서 터미널을 선택하십시오. 그런 다음 자동 시작을 편집하고 해당 2 줄을 추가하십시오.

• xscreensaver 명령은 xscreensaver를 설치 한 경우에만 관련이 있습니다. 그렇지 않은 경우 제거하거나 무시할 수 있습니다.

• @ 선택 사항입니다. @present를 사용하면 첫 번째 시도에서 오류가 발생하면 시스템은 포기하기 전에 명령을 최대 4 번 더 실행하려고 시도합니다.

• 자동 시작 파일은 bash 스크립트가 아니며 다르게 처리됩니다. 자동 시작 파일의 명령은 거의 동시에 병렬 방식으로 독립적으로 처리됩니다. 또는 시스템은 다음 명령을 시작하기 전에 이전 명령이 완료될 때까지 기다리지 않습니다. 특정 순서로 실행되는 데 의존하는 명령이 여러 개인 경우 bash 스크립트에 명령을 넣은 다음 자동 시작에서 bash 스크립트를 호출해야합니다.

• 자동 시작으로 시작된 모든 프로그램은 백그라운드에서 실행되므로 명령 끝에서 & 사용할 필요가 없습니다.

• 자동 시작에서 스크립트에 대한 전체 경로를 사용하는 것이 중요합니다. 스크립트 내의 또한 호출에는 전체 경로가 지정되어 있어야 합니다. 설치된 앱에 대한 경로는 필요하지 않습니다.

• 스크립트를 실행 가능하게 만들어야 합니다.

• 스크립트에 키보드 및/또는 콘솔 상호 작용이 필요한 경우 lxterminal -e 명령을 사용합니다. 아래의 예제와 참고 사항을 참조하십시오.

• 명령 또는 앱에 네트워크가 필요하고 자동 시작에서 작동하지 않는 것 같으면 sudo raspi-config
에서 부팅 시 네트워크 대기 옵션을 사용하도록 설정
• 드물게 스크립트를 시작하기 전에 지연을 추가하여 앱이 시작되기 전에 데스크톱에 부팅 프로세스를 완료하는 데 더 많은 시간을 할애해야 할 수도 있습니다. 이것은 bash sleep 명령으로 수행 할 수 있습니다. 자동 시작에서 sleep 명령을 직접 추가하려고 시도하지 않으면 작동하지 않습니다. 대신 bash 스크립트에서 sleep 명령을 사용하십시오.

샘플 자동 시작 파일: 계산기를 시작하는 예:


코드: 모두 선택

@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@xscreensaver -no-splash
@galculator
브라우저를 시작하는 예:

코드: 모두 선택

@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@xscreensaver -no-splash
@chromium-browser www.raspberrypi.org
파이썬 3 스크립트를 시작하는 예제 :

코드: 모두 선택

@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@xscreensaver -no-splash
@python3 /path/my_script.py
터미널로 파이썬 3 스크립트를 시작하는 예 :

코드: 모두 선택

@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@xscreensaver -no-splash
@lxterminal -e python3 /path/my_script.py
Bash 스크립트를 시작하는 예제 :

코드: 모두 선택

@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@xscreensaver -no-splash
@bash /path/my_script
터미널로 Bash 스크립트를 시작하는 예 :

코드: 모두 선택

@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@xscreensaver -no-splash
@lxterminal -e bash /path/my_script
명령을 실행하지 않고 Lxterminal을 여는 예제:

코드: 모두 선택

@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@xscreensaver -no-splash
@lxterminal
lxterminal -e 사용에 대한 참고 사항:
(아래 노트는 lxterminal -e가 자동 시작 파일에서 직접 사용되는 경우에 적용됩니다. 언급 된 동작은 터미널 명령 줄에서 실행할 때 발생하는 동작과 다를 수 있습니다.

스크립트의 경로/파일 이름에 ' 또는 ''가 없습니다. 즉, 공백이 있는 경로나 파일 이름은 사용할 수 없습니다. 대신 bash 스크립트를 사용하십시오.

한 줄에 단 1 개의 명령. (여러 명령을 지정하는 데 사용할 수 없음). 대신 bash 스크립트에 여러 명령을 넣으십시오.

스크립트 또는 명령이 어떤 이유로 든 명령 줄로 종료되면 터미널은 즉시 닫힙니다. 즉, 오류가 있거나 프로그램이 종료되면 터미널 창이 너무 빨리 깜박이므로 어떤 일이 일어 났는지 볼 수 없습니다.


전통적인 시스템 방법 (모든 사용자) :
2020 년 12 월 릴리스부터 Raspberry Pi OS는 이제 /etc/xdg / autostart 디렉토리를 사용하여 프린터 등을위한 백그라운드 응용 프로그램을 시작합니다. 이 디렉터리를 사용하여 모든 사용자에게 적용되는 앱 또는 스크립트를 시작할 수 있습니다.
여기서 자동 시작은 파일이 아닌 디렉토리입니다.
이 메서드는 자동 시작 파일을 사용하지 않습니다. 대신 filename.desktop 파일을 사용합니다. 아래의 .desktop 파일 예제를 참조하십시오.

전통적인 사용자 방법 (특정 사용자) :
전통적인 방법에는 사용자 기반 옵션도 있습니다. 파이 사용자 /home/pi/.config/autostart/ 또는 다른 사용자 /home/{user}/.config/autostart/
존재하지

않는 경우 auotstart 디렉토리를 만들어야 할 수도 있습니다. 시스템 자동 시작 파일 또는 사용자 자동 시작 파일(있는 경우)은 .desktop 파일과 함께 실행 및 처리됩니다.

또한 시스템 /etc/xdg/autostart를 위한 .desktop 파일과 사용자 홈 디렉토리 /home/pi/.config/autostart/의 .desktop 파일이 모두 처리됩니다.

파일 관리자를 시작하는 예제 .desktop 파일:

코드: 모두 선택

[Desktop Entry]
Name=File Manager
Exec=pcmanfm
Type=Application
파일에 pcm.desktop과 같은 고유한 이름을 지정하고 모든 사용자의 경우 /etc/xdg/autostart 또는 특정 사용자의 경우 /home/pi/.config/autostart에 배치합니다.
여러 .desktop 파일을 가질 수 있습니다.

댓글 없음:

댓글 쓰기