私はnetctlを使ってeth0とwlan0の間にブリッジを設定しました。起動時にeth0とwlan0を設定するように指示し、起動後にブリッジを手動で起動すると正常に動作します。ブリッジを自動的に起動するように指示すると、何らかの理由で WLAN アダプタがアクセス ポイントに接続できません。したがって、システム全体の起動が完了してから1分ほど実行するには、「netctl startbridge」が必要です。私が何をすべきか知っていますか?
PS。これはヘッドレスシステムで、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] ) &