네트워크 관리자를 사용하지 않고 자동으로 WiFi를 활성화하는 스크립트가 있었지만 시스템이 부팅되는 동안 스크립트를 루트로 실행하는 방법을 모르겠습니다. 부팅하는 동안 스크립트가 자동으로 실행되도록하려면 어떻게합니까?
답변
실행할 스크립트를 /etc/init.d 디렉토리에 놓고 스크립트를 실행 가능하게하십시오.
chmod 755 myscript
완료되면 사용하려는 실행 레벨 디렉토리에 기호 링크를 작성하십시오 (예 : Ubuntu의 기본 실행 레벨 인 그래픽 실행 레벨 2에서 프로그램을 실행하려는 경우 /etc/rc2.d
디렉토리에 배치 함) . 디렉토리를 배치 할 수 없으며 “S”로 시작을 표시하여 실행시기를 지정해야하며 실행 순서가 중요합니다. 더 높은 번호를 부여하여 디렉토리에있는 다른 모든 항목 뒤에 배치하십시오.
마지막으로 실행할 스크립트가 있고 rc.local
이름이 지정된 S99rc.local
경우 스크립트를로 추가해야합니다 S99myscript
.
ln -s /etc/init.d/myscript /etc/rc3.d/S99myscript
이전 버전과 호환되는 각 /etc/rc*.d
디렉토리에는 디렉토리에 대한 심볼릭 링크가 /etc/init.d/
있습니다.
답변
에 명령을 포함시킵니다 /etc/rc.local
. 사용자의 실행 수준이 변경 될 때마다 실행됩니다.
참고 : “exit 0″을 포함하는 /etc/rc.local의 마지막 행 앞에 명령을 넣어야합니다.
답변
crontab
재부팅 후 스크립트를 실행 하려면 옵션을 사용하십시오.
cron에@reboot
코드를 추가하여 할 수 있습니다
루트 사용자로 crontab을여십시오.
$ sudo crontab -e
맨 아래에 다음 레코드를 추가하십시오.
@reboot yourScriptPath
그것은 당신이 원하는 것을 할 것입니다.
답변
이것은 우분투 17.04에서 나를 위해 일했습니다.
-
disable_cdrom
편리한 위치에있는 것과 같이 둘러보기 스크립트 파일을 만듭니다 . 내 경우에는home/yterle/disable_cdrom
. 나의 경우에는:#!/bin/sh eject /dev/sr0 -i 1
-
그것을 실행 가능하게 만드십시오
chmod 775 disable_cdrom
- 파일로 이동하여 파일을
/etc/systemd/system
작성service
하십시오. 예를 들어sudo gedit /etc/systemd/system/disable_cdrom.service
내 disable_cdrom.service
모습은 다음과 같습니다.
[Unit]
Description=Disable cdrom
[Service]
Type=oneshot
ExecStart=/bin/sh /home/yterle/disable_cdrom
[Install]
WantedBy=multi-user.target
어디 ExecStart
하여 스크립트를 실행 가리키는/bin/sh
그런 다음 시스템 systemctl enable disable_cdrom.service
서비스를 사용하도록 실행 하십시오.
답변
/etc/init.d/
실행 파일 권한으로 스크립트 파일을 포함 시킨 다음 다른 실행 레벨을 설정하십시오.
$ update-rc.d script-name default
부팅시 스크립트가 시작됩니다.
답변
다음과 같은 텍스트 파일을 작성하십시오 /etc/cron.d/
.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
@reboot root yourScriptPath
( yourScriptPath
실행하려는 스크립트의 경로로 바꿔야 합니다.)
답변
스크립트를 추가 할 때주의하십시오. 스크립트 rc.local
때문에 스플래시 화면이 멈췄습니다. Alt+를 누르면 F1스플래시 화면 뒤에서 무슨 일이 있었는지 알 수 있습니다 (스크립트 rc.local
가 실행 중임).
나는 그것을 벗어날 수 없었다.
- Ctrl+ Alt+ Del또는
- Alt+ PrtSc+ K또는
- Ctrl+ Alt+F#
아무것도 작동하지 않습니다.
USB Ubuntu 이미지로 부팅하고 찾기 rc.local
하고 파일을 만들고 권한을 부여해야했습니다. 당신이하고있는 일을 모른다면 당신이하는 일을하지 말아야한다고 생각합니다.