나는 netctl을 사용하여 eth0과 wlan0 사이에 브리지를 설정했습니다. 부팅 시 eth0 및 wlan0을 구성하도록 지시한 다음 부팅 후 브리지를 수동으로 시작하면 제대로 작동합니다. 브리지가 자동으로 시작되도록 지시하면 어떤 이유로 WLAN 어댑터가 액세스 포인트에 연결할 수 없습니다. 따라서 전체 시스템 부팅이 완료된 후 1분 정도 실행하려면 "netctl startbridge"가 필요합니다. 내가 무엇을 해야 할지 아시나요?
추신. 이것은 헤드리스 시스템이며 xorg가 없기 때문에 xorg가 시작될 때 실행하면 작동하지 않습니다.
답변1
systemd 타이머를 사용하여 시작 후 1분 동안 스크립트를 실행할 수 있습니다.
먼저 서비스 파일(/etc/systemd/system/myscript.service)을 만듭니다.
[Unit]
Description=MyScript
[Service]
Type=simple
ExecStart=/usr/local/bin/myscript
그런 다음 타이머(/etc/systemd/system/myscript.timer)를 만듭니다.
[Unit]
Description=Runs myscript one minute after boot
[Timer]
# Time to wait after booting before activation
OnBootSec=1min
Unit=myscript.service
[Install]
WantedBy=multi-user.target
이제 활성화하고 실행하십시오.
# systemctl enable myscript.timer
# systemctl start myscript.timer
답변2
Arch는 systemd를 사용하여 시작 프로세스(및 데몬 등)를 관리합니다.
원하는 명령을 간단히 실행하도록 스크립트를 작성할 수도 있고, 잠시 대기한 후 실행할 수도 있습니다. 그런 다음 위의 지침에 따라 시작 프로세스에 추가하세요.
수면을 추가하는 경우:
#!/bin/sh
sleep 60 # one min
netctl start bridge
그것은 잘 작동합니다. Systemd는 스크립트를 실행할 때 다른 프로세스를 생성하여 시스템이 중단되지 않도록 해야 합니다.
답변3
간단한 비차단 기능을 원한다면 /etc/rc.local에 다음을 추가하세요:
( sleep 60 && /path/to/command_or_script [opts] ) &