netctl을 사용하여 eth0과 wlan0 사이에 브리지를 설정했습니다. 시작 시 eth0 및 wlan0을 구성하고 부팅 후 브리지를 수동으로 시작하도록 지시하면 제대로 작동합니다. 어떤 이유로 브리지가 자동으로 시작되도록 지시하면 WLAN 어댑터가 액세스 포인트에 연결되지 않습니다. 따라서 전체 시스템 부팅이 완료된 후 1분 정도 실행하려면 "netctl start bridge"가 필요합니다. 어떻게 해야 할지 아시나요?
추신. 이것은 xorg가 없는 헤드리스 시스템이므로 xorg 시작 시 실행하면 작동하지 않습니다.
답변1
시스템 타이머를 사용하여 부팅 후 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] ) &