Я настроил мост между eth0 и wlan0 с помощью netctl. Он отлично работает, если я говорю ему настроить eth0 и wlan0 при запуске, а затем вручную запустить мост после загрузки. Если я также говорю мосту запуститься автоматически, хотя по какой-то причине адаптер wlan не подключается к точке доступа. Поэтому мне нужно, чтобы "netctl start bridge" запускался примерно через минуту после того, как вся система загрузится. Есть идеи, как это сделать?
P.S. Это безголовая система, так как в ней нет xorg, поэтому запуск ее при запуске xorg не сработает.
решение1
Вы можете использовать таймеры systemd для выполнения скрипта через минуту после загрузки.
Сначала создайте файл службы (/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] ) &