본문 바로가기

OS/linux&ubuntu

[ubuntu] Ubuntu에서 특정 셸 스크립트를 컴퓨터 시작 시 자동으로 실행 (feat. chatgpt)

반응형
 

Ubuntu에서 특정 셸 스크립트를 컴퓨터 시작 시 자동으로 실행하려면 여러 가지 방법이 있습니다. 아래에 대표적인 방법들을 정리했습니다.


1. rc.local 파일 사용

Ubuntu는 rc.local 파일을 통해 부팅 시 실행할 스크립트를 설정할 수 있습니다. 다만, 기본적으로 최신 Ubuntu 버전에서는 rc.local 파일이 비활성화되어 있을 수 있으니 활성화가 필요합니다.

설정 방법:

  1. 파일 열기:
    bash
    코드 복사
    sudo nano /etc/rc.local
  2. 파일 끝에 스크립트 실행 명령 추가:
    bash
    코드 복사
    /경로/스크립트.sh &
  3. 실행 권한 부여:
    bash
    코드 복사
    sudo chmod +x /etc/rc.local
  4. 시스템 재부팅 후 동작 확인.

2. crontab 사용

crontab을 이용해 시스템 부팅 시 실행되도록 설정할 수 있습니다.

설정 방법:

  1. root의 crontab 열기:
    bash
    코드 복사
    sudo crontab -e
  2. 아래와 같은 줄 추가:
    bash
    코드 복사
    @reboot /경로/스크립트.sh
  3. 스크립트 실행 권한 부여:
    bash
    코드 복사
    chmod +x /경로/스크립트.sh

3. systemd 서비스 사용

systemd를 사용하면 스크립트를 더 정교하게 관리할 수 있습니다.

설정 방법:

  1. 서비스 파일 생성:
    bash
    코드 복사
    sudo nano /etc/systemd/system/my-script.service
  2. 아래 내용 추가:
    ini
    코드 복사
    [Unit] Description=My Custom Script After=network.target [Service] ExecStart=/경로/스크립트.sh Restart=always [Install] WantedBy=multi-user.target
  3. 서비스 활성화:
    bash
    코드 복사
    sudo systemctl enable my-script.service
  4. 서비스 시작:
    bash
    코드 복사
    sudo systemctl start my-script.service

4. 사용자 환경에서 실행 (Startup Applications)

Ubuntu 데스크톱 환경(GUI)을 사용한다면, "Startup Applications"에 스크립트를 추가할 수 있습니다.

설정 방법:

  1. Startup Applications Preferences 열기: 
  2. bash
    코드 복사
    gnome-session-properties
  3. "Add" 버튼 클릭 후, 실행할 스크립트를 등록.
  4. 재부팅 후 확인.

5. 프로파일 스크립트 수정

로그인 시 셸 환경에 특정 스크립트를 실행하려면 ~/.bashrc 또는 ~/.profile에 추가할 수도 있습니다.

설정 방법:

  1. 파일 열기:
    bash
    코드 복사
    nano ~/.bashrc
  2. 마지막 줄에 아래와 같이 추가:
    bash
    코드 복사
    /경로/스크립트.sh

사용 시 주의사항:

  • 경로 확인: 스크립트에서 사용하는 파일 경로가 절대 경로인지 확인하세요.
  • 권한: 스크립트에 실행 권한(chmod +x)이 부여되어 있어야 합니다.
  • 환경 변수: 부팅 시 실행되는 환경은 제한적일 수 있으므로, 필요한 환경 변수를 스크립트 내에서 명시적으로 설정하세요.

 

반응형