자동으로 실행되는 스크립트 목록(어디서)과 시기는 무엇입니까?

자동으로 실행되는 스크립트 목록(어디서)과 시기는 무엇입니까?

컴퓨터를 시작할 때부터 컴퓨터를 다시 종료할 때까지 자동으로 실행되는 스크립트(리소스 목록)를 아는 사람이 있습니까?

자동으로 실행되도록 스크립트를 추가할 수 있는 곳이 몇 군데 있다는 것을 알고 있지만 어느 정도 완전한 목록을 찾을 수는 없었습니다.

예를 들어, 저는 다음을 알고 있습니다.

  • ~/.profile로그인 시 실행
  • crontab -e특정 시간 및/또는 날짜에 실행되는 스크립트를 추가하는 데 사용할 수 있습니다.

하지만 스크립트가 실행되도록 스크립트를 어디에 넣어야 할지 모르겠습니다.

  • 시작 후 X가 초기화되기 전
  • X(또는 다른 그래픽 셸)가 초기화된 후, 누군가 로그인하기 전
  • X 세션에 로그인한 후
  • 빠른 사용자 전환 전/후
  • X 세션에서 로그아웃하기 전
  • X 쉘을 닫기 전
  • X 종료 후, 시스템 정지 전
  • tty-1..6을 통해 로그인 후/로그아웃 전
  • SSH를 통해 로그인 후/로그아웃 전

그런 목록이 있나요? 그렇지 않다면 여기서 조립해도 될까요?

답변1

Ubuntu Linux의 경우 솔루션은 다음과 같습니다.

  1. 시작 후 X가 초기화되기 전:GDM(ubuntu-desktop을 사용하는 사용자의 경우) 또는 KDM(kubuntu-desktop을 사용하는 사용자의 경우)에서 Ubuntu 부팅 X-Windows

    GDM/KDM 이전에 스크립트를 실행하려면 고유한 시작 스크립트를 작성해야 합니다. 이를 위해 당신은 읽을 수 있습니다누보 리치 요리법.

  2. 사용자 전환 후:~/.bashrc파일 에 스크립트를 추가해야 합니다 .

  3. tty를 통해 로그인한 후:~/.bash_profile파일 에 스크립트를 추가해야 합니다 .

  4. SSH를 사용하여 로그인했지만 tty를 사용하여 로컬로 로그인하지 않은 경우:이 경우 동일한 파일에 스크립트도 추가해야 ~/.bash_profile하지만 이 경우에는 환경 변수가 있는지 테스트 SSH_CONNECTION하고 환경 변수가 있는 경우에만 명령을 실행합니다.

  5. tty를 통해 로그아웃하기 전에:~/.bash_logout파일 에 스크립트를 추가해야 합니다 .

  6. SSH를 통해 로그아웃하기 전에:~/.bash_logout파일에 스크립트를 추가 해야 하지만 이 경우 SSH_CONNECTION환경 변수가 존재하는지 테스트하고 존재하는 경우에만 명령을 실행합니다. 파일에 다음 줄을 추가해야합니다

    if [[ -n $SSH_CONNECTION ]]

답변2

Linux 내장 작업에 관심이 있다면 Unix System V 스타일 초기화를 구현하는 작업 모드인 Linux 런레벨을 참조할 수도 있습니다.

  • 0 시스템 종료를 중지하십시오.
  • 1 단일 사용자 모드는 관리 작업에 사용되는 모드입니다.
  • 2 다중 사용자 모드는 네트워크 인터페이스를 구성하지 않으며 네트워크 서비스를 내보내지 않습니다.
  • 네트워킹이 포함된 다중 사용자 모드는 시스템을 정상적으로 시작합니다.
  • 4 특별한 목적을 위해 미사용/사용자 정의 가능.
  • 5 적절한 디스플레이 관리자를 사용하여 시스템을 정상적으로 시작하십시오. (GUI 사용) 런레벨 3+ 디스플레이 관리자로.
  • 6 재부팅 시스템을 재부팅합니다.

예를 들어 아래에서는 Linux 프로세스 및 해당 실행 수준 설정의 일부 목록을 볼 수 있습니다.

chkconfig --list
acpid           0:off   1:off   2:on    3:on    4:on    5:on    6:off
anacron         0:off   1:off   2:on    3:on    4:on    5:on    6:off
atd             0:off   1:off   2:off   3:off   4:off   5:off   6:off
auditd          0:off   1:off   2:off   3:off   4:off   5:off   6:off
autofs          0:off   1:off   2:on    3:on    4:on    5:on    6:off
avahi-daemon    0:off   1:off   2:off   3:off   4:off   5:off   6:off
avahi-dnsconfd  0:off   1:off   2:off   3:off   4:off   5:off   6:off
.
.
.

관련 정보