如何将wifi密码移动到新安装
我有一台Acer Aspire ZG5上网本,目前正在运行Jolicloud,但我认为它不适合我,并打算转用Lubuntu或Xubuntu。
但是,我做了很多旅行,并为不同的办公室,酒店,咖啡馆,餐馆,朋友和亲戚家等提供了许多保存的wifi密码。要求并重新输入所有这些密码会非常烦人。
有没有办法将我保存的wifi密码从旧安装转移到新安装?
在我的12.04系统上,WiFi连接和密码(明文)存储在/ etc / NetworkManager / system-connections /中的文本文件中
停止网络管理器,将这些文件复制到新计算机,还原权限并重新启动网络管理器对我有用。
sudo stop network-manager sudo cp /backup/path/etc/NetworkManager/system-connections/* /etc/NetworkManager/system-connections/ sudo chown root.root /etc/NetworkManager/system-connections/* sudo start network-manager
您的密码存储在~/.gnome2/keyrings
。 默认情况下,它们受您的登录密码保护。 如果您将该文件夹复制到新系统并使用相同的登录密码,那么您应该拥有所有密码,包括您的WiFi连接。
你的密码
您可以在密码和加密密钥应用程序中查看密码。 它们应该在一个名为login
的密钥环下。 您可以搜索“网络密码”以仅显示wifi密码。
mv ~/.gnome2/keyrings ~/old_keyrings cp ~/backup/keyrings ~/.gnome2/keyrings
但是,要使网络管理员使用您的密码,它需要具有匹配ID号的gconf设置。 您可以通过以下两种方式执行此操作:复制旧的gconf设置或创建新连接并更改其ID号。
复制旧的gconf设置
这很简单:
# network-manager will overwrite your changes if you don't terminate it sudo stop network-manager # back up old settings mv ~/.gconf/system/networking/connections ~/old_connections cp /media/old_install/.gconf/system/networking/connections ~/.gconf/system/networking/connections sudo start network-manager
不幸的是,这种方法对我不起作用。 我的测试用例是exception的,所以希望它适合你。
创建新连接
如果以上内容对您不起作用,那么在您的旧机器上:
- 打开密码和加密密钥
- 右键单击您的默认钥匙串
- 选择更改密码
- 将密码设置为空白
- 将〜/ .gnome2 / keyrings / default.keyring复制到〜/ old_passwords.keyring
- 现在您可以连接到网络并在〜/ old_passwords.keyring中查找密码(因为您删除了密码,它将是纯文本文件)。
(您也可以创建连接并修改其uuid以匹配现有密码,但除非您可以编写脚本,否则这样做太多了。)
在Ubuntu 16.04上 ,从/etc/NetworkManager/system-connections/
复制文件是不够的。 这些文件包含wlan接口MAC地址 ,我还必须更正它以使其工作。
以下过程可以帮助我从原来的12.04系统导入无线配置到新的16.04安装。
# Stop Network Manager sudo /etc/init.d/network-manager stop # copy the files from your old system (adapt as needed) sudo rsync -va -c /media/$YOUR_OLD_SYSTEM/etc/NetworkManager/system-connections/ /etc/NetworkManager/system-connections/ # Get your new MAC address, and verify it is right. # For example, this should work if you have only one wireless interface export MAC=$(iw dev | grep addr | awk '{print $2}') echo $MAC # Replace the MAC address in all the system-connections files sudo perl -i.bak -pe 's/^(mac-address=)(.*)/$1$ENV{MAC}/' /etc/NetworkManager/system-connections/* # Restart NetworkManager, and wait for nm-applet to also start and connect sudo /etc/init.d/network-manager start # Delete the backup files with the old MAC addresses sudo rm /etc/NetworkManager/system-connections/*.bak
如果出于某种原因,您希望保留系统连接文件的原始时间戳而不是更改MAC地址时的时间戳,则可以选择以下两种方式,假设您有旧的和当前连接文件的2个单独文件夹:
old=/etc/NetworkManager/system-connections.old new=/etc/NetworkManager/system-connections for f in $old/*; do b="$(basename "$f")"; perl -pe 's/^(mac-address=)(.*)/$1$ENV{MAC}/' "$f" > "$new/$b"; touch -r "$f" "$new/$b"; done
-
关闭NetworkManager
sudo /etc/init.d/network-manager stop pkill nm-applet
- 复制$ {HOME} /。gconf / system / networking / connections /
-
重启网络管理器:
sudo /etc/init.d/network-manager start
按Alt + F2并输入nm-applet –sm-disable以启动applet。
可能是一个过时的litte。
JoliCloud 基于10.04 ,所以我假设它使用网络管理器来组织无线密码。 大部分配置存储在.gconf/system/networking/
– 不确定密码是存储在那里还是其他地方。