WLAN 状态由 systemd 服务启用,但在作为用户授权后不起作用

WLAN 状态由 systemd 服务启用,但在作为用户授权后不起作用

我有一个 Debian 破坏者。我的任务是在授权之前打开 Wi-Fi 并连接到接入点。为此,我想使用一项systemd服务。我写了一个脚本:

/usr/sbin/ip link set wlo1 up
/usr/sbin/wpa_supplicant -B -D wext -i wlo1 -c /etc/wpa_supplicant.conf
/usr/sbin/dhclient wlo1

当我从服务运行它时systemd,它说脚本运行成功。但授权为用户后,WLAN 状态为 DOWN。如此ip a show wlo1说。因此,例如,ping 8.8.8.8connect: Network is unreachable

我的脚本肯定有效,因为如果我以具有超级用户权限的用户身份手动运行它,我将成功设置 WLAN 状态并连接到接入点。

我的系统服务:

[Unit]
BindsTo=sys-subsystem-net-devices-wlo1.device
After=sys-subsystem-net-devices-wlo1.device
[Service]
Type=oneshot
ExecStart=/path/to/my_script.sh
[Install]
WantedBy=multi-user.target

我会澄清。我的systemd服务按预期在系统启动时启动。systemctl status表示该服务完成了现场的所有命令ExecStart并成功完成了工作。我不想知道如何以另一种方式解决我的问题。我想了解为什么这个方法不起作用。

答案1

默认值为,因此当您的脚本退出时,KillMode=control-groupsystemd 会终止您的进程,如所规定的wpa_supplicant一次性类型单元进入非活动状态。

相关内容