Ubuntu双实例切换后重复要求输入WiFi密码的原因及密码存储位置咨询
Ubuntu双实例切换后重复要求输入WiFi密码的原因及密码存储位置咨询
为什么每次切换都要输WiFi密码?
其实核心原因很简单:你安装的U1和U2是完全独立的两个Ubuntu系统,它们各自拥有一套独立的系统配置文件、用户数据和加密存储区域,互相之间没有任何共享。哪怕是同一个WiFi网络,U1里存储的密码只属于U1,U2根本访问不到,反过来也是一样。所以每次切换到另一个系统时,它都相当于第一次连接这个WiFi,自然会要求你输入密码。
WiFi密码在Ubuntu里存在哪儿?
Ubuntu里的WiFi密码主要存在两个地方,取决于你的桌面环境和配置:
- NetworkManager 配置文件:如果是用NetworkManager管理网络,密码可能以加密形式存在
/etc/NetworkManager/system-connections/目录下的对应WiFi连接文件里(文件名一般是你的WiFi SSID)。这些文件的权限通常是root才能读取,内容里的psk字段就是加密后的密码。 - GNOME Keyring(或其他桌面密钥环):如果你用的是GNOME桌面(Ubuntu默认桌面),密码会被存在用户的密钥环里,这个密钥环是和用户账户绑定的,存储位置在
~/.local/share/keyrings/目录下。每次登录用户账户时,密钥环会解锁,这样NetworkManager就能读取里面的WiFi密码,不用重复输入。但因为U1和U2是独立系统,各自的密钥环完全分开,所以互相看不到对方存储的密码。
有没有办法解决重复输入的问题?
如果不想每次切换都输密码,你可以手动把其中一个系统里的WiFi配置文件复制到另一个系统里:
- 在已保存密码的系统(比如U1)里,先获取
/etc/NetworkManager/system-connections/下对应WiFi的配置文件,注意这个文件属于root,需要用sudo权限复制。 - 把这个文件复制到U2的相同目录下,然后修改文件的权限和所属用户组为
root:root,权限设为600(因为NetworkManager要求配置文件必须是只读的,且只有root能访问)。 - 重启U2的NetworkManager服务:
sudo systemctl restart NetworkManager,这样U2应该就能自动连接WiFi,不用再输密码了。
备注:内容来源于stack exchange,提问作者jatinBatra
相关产品推荐
相关产品推荐

