如何解决debian的LXQT桌面必须登录才能自动连接WIFI

包含网卡/无线网的网络问题和ADSL/校园网/宽带拨号支持及代理/共享等网络使用问题
回复
lihaha28
帖子: 24
注册时间: 2014-06-19 11:48
系统: ubuntu

如何解决debian的LXQT桌面必须登录才能自动连接WIFI

#1

帖子 lihaha28 » 2021-05-18 23:27

目前的问题是,开机启动到sddm登录界面,不登录账户就不会自动连接WIFI
首先,我想到的是sudo systemctl enable network-manager和sudo systemctl enable connman,但是好像任选其一都会互相冲突导致开关机network-wait-online等待很久,没有成功
然后,我想要做到开机自动登录,但是按照sddm的wiki说法没有成功,里面的说法针对的是KDE桌面
头像
astolia
论坛版主
帖子: 6514
注册时间: 2008-09-18 13:11

Re: 如何解决debian的LXQT桌面必须登录才能自动连接WIFI

#2

帖子 astolia » 2021-05-19 9:49

首先不要同时使用多个网络管理软件。

然后我没用过connman,也没有用过debian+lxde的组合,所以我下面的内容都是基于ubuntu上的network manager来说的。

在network manager创建wifi网络时,不管是用它图形界面的nm-applet还是字符界面的nmtui,默认都会勾选上自动连接到网络和允许所有用户连接到此网络。只要这两个勾选上了,就能够在不登录的情况下连到wifi。除非wifi设备没有被network manager托管,可以用nmcli查看对应设备后面有没有写未托管/unmanaged字样。如果是未托管,在没有其他网络管理软件插手的情况下,一般是在/etc/network/interfaces里面写了对应设备的配置。

而network-wait-online的等待长,那大多是network manager配置没弄好。比如处在没有ipv6的网络环境下或是在系统中设置了disable_ipv6=1,创建配置时又没去改默认的自动获取ipv6地址,那就可能会一直等到超时

至于sddm自动登录,我不知道你说的“但是按照sddm的wiki说法没有成功,里面的说法针对的是KDE桌面”是什么意思。是说wiki里让你在某个kde桌面的某个设置对话框里弄?linux上面,这都只是图形前端,你自己直接手动修改对应的配置文件效果一样的。sddm就是直接编辑 /etc/sddm.conf,加上

代码: 全选

[Autologin]
Relogin=false
User=用户名
Session=session名
session名可以到/usr/share/xsessions/看文件名.desktop前面的部分
funicorn
帖子: 1318
注册时间: 2005-09-13 4:56
系统: Ubuntu Jammy Jellyfi

Re: 如何解决debian的LXQT桌面必须登录才能自动连接WIFI

#3

帖子 funicorn » 2021-05-19 10:55

ubuntu的wifi管理器是NetworkManager,systemd定义其在muti-user.target阶段启动,早于登陆管理器启动的graphical.target阶段,因此默认环境下在用户登录前就启动了wifi连接

所以从启动机制上,wifi连接建立于哪个阶段,和登陆管理器没关系,关键是网络服务定义在system的哪个阶段

/etc/systemd/system/multi-user.target.wants/NetworkManager.service
[Unit]
Description=Network Manager
Documentation=man:NetworkManager(8)
Wants=network.target
After=network-pre.target dbus.service
Before=network.target

[Service]
Type=dbus
BusName=org.freedesktop.NetworkManager
ExecReload=/usr/bin/busctl call org.freedesktop.NetworkManager /org/freedesktop/NetworkManager org.freedesktop.NetworkManager Reload u 0
#ExecReload=/bin/kill -HUP $MAINPID
ExecStart=/usr/sbin/NetworkManager --no-daemon
Restart=on-failure
# NM doesn't want systemd to kill its children for it
KillMode=process
CapabilityBoundingSet=CAP_NET_ADMIN CAP_DAC_OVERRIDE CAP_NET_RAW CAP_NET_BIND_SERVICE CAP_SETGID CAP_SETUID CAP_SYS_MODULE CAP_AUDIT_WRITE CAP_KILL CAP_SYS_CHROOT

ProtectSystem=true
ProtectHome=read-only

[Install]
WantedBy=multi-user.target
Also=NetworkManager-dispatcher.service

# We want to enable NetworkManager-wait-online.service whenever this service
# is enabled. NetworkManager-wait-online.service has
# WantedBy=network-online.target, so enabling it only has an effect if
# network-online.target itself is enabled or pulled in by some other unit.
Also=NetworkManager-wait-online.service
回复