我有一台目前正在运行Jolicloud的Acer Aspire ZG5上网本,但我已决定不适合我,并计划切换到Lubuntu或Xubuntu。
但是,我经常出差,并且为不同的办公室,酒店,咖啡馆,餐馆,朋友和亲戚的房屋等保存了许多wifi密码。不得不要求并重新输入所有这些密码会很烦人。
有没有办法将我保存的wifi密码从旧安装转移到新安装?
我有一台目前正在运行Jolicloud的Acer Aspire ZG5上网本,但我已决定不适合我,并计划切换到Lubuntu或Xubuntu。
但是,我经常出差,并且为不同的办公室,酒店,咖啡馆,餐馆,朋友和亲戚的房屋等保存了许多wifi密码。不得不要求并重新输入所有这些密码会很烦人。
有没有办法将我保存的wifi密码从旧安装转移到新安装?
Answers:
在我的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
network-manager
如果您使用以下方法,也可以停止/启动服务:(sudo /etc/init.d/network-manager start
或stop
)
start
/ stop
用于initctl
与Upstart初始化守护进程进行通信。使用系统方式:sudo systemctl stop NetworkManager.service
。
在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
您的密码存储在中~/.gnome2/keyrings
。默认情况下,它们受您的登录密码保护。如果将该文件夹复制到新系统并使用相同的登录密码,则应该拥有所有密码,包括wifi连接。
您可以在“密码和加密密钥”应用程序中看到您的密码。他们应该在名为的钥匙圈下login
。您可以搜索“网络机密”以仅显示wifi密码。
mv ~/.gnome2/keyrings ~/old_keyrings
cp ~/backup/keyrings ~/.gnome2/keyrings
但是,要使网络管理员使用您的密码,它需要一个具有匹配ID号的gconf设置。您可以通过两种方式进行操作:复制旧的gconf设置或创建新的连接并更改其ID号。
这真的很简单:
# 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
不幸的是,这种方法对我不起作用。我的测试用例异常,因此希望它对您有用。
如果以上方法都不适合您,请在您的旧计算机上:
(您也可以创建连接并修改其uuid以匹配现有密码,但是除非您可以编写脚本,否则这将花费太多精力。)
关闭NetworkManager
sudo /etc/init.d/network-manager stop
pkill nm-applet
重新启动网络管理器:
sudo /etc/init.d/network-manager start
按Alt + F2并输入nm-applet --sm-disable以启动小程序。
可能已经过时了。