我有一个用户配置文件,所有设置都全部按我想要的方式设置。我想将整个配置的配置文件复制到新用户帐户。
这是我正在做的事情(用户已添加到系统中):
- 注销,切换到终端,
service gdm stop
。 mkdir /home/newuser
cp -a /home/olduser/* /home/newuser/
chown newuser:newuser /home/newuser -R
service gdm start
然后我以新用户身份登录。当我登录时,桌面看起来像是一个全新的用户配置文件,而不是我复制的自定义配置文件。
我想一切在新配置文件中。主题、停靠栏的位置和配置、桌面图标、Firefox 收藏夹等。
知道为什么这不起作用吗?我正在使用 Ubuntu 10.04
答案1
您还需要做更多。
sudo mv /home/new_user /home/new_user.bak
sudo cp -R /home/old_user /home/new_user
sudo chown -R new_user:new_user /home/new_user
登录新用户帐户。如果一切正常,删除备份
sudo rm -rf /home/new_user.bak
答案2
好的,我明白了。显然 cp /* 会跳过点文件。
您必须使用以下命令明确复制点文件:
cp -a /home/olduser/.* /home/newuser/
要复制所有内容,请执行以下操作:
cp -a /home/olduser/* /home/newuser/
cp -a /home/olduser/.* /home/newuser/
答案3
我想将我当前的个人资料克隆给新用户。我的主目录很大,几乎有 100 GB。bodhi.zazen 的回答对我来说很管用,但我花了半天的时间才弄对。以下是他的答案的扩展注释版本(我在 Ubuntu 14.04 上):
创建新用户
我刚刚使用了桌面用户界面:系统设置>用户帐户>解锁>+新用户
备份新用户主目录
现在进入命令行:
sudo mv /home/new_user /home/new_user.bak
将配置文件复制到新用户主目录
如果您的配置文件很大,我建议使用 rsync 并排除一些目录。以下是我运行的示例:
time sudo rsync -av --progress \
--exclude='VirtualBox VMs' \
--exclude='.cache/deja-dup' \
--exclude='.local/share/Trash' \
--exclude='nltk_data' \
--exclude='Downloads' \
/home/klenwell/ /home/new_user
几点说明:
--exclude
目录是源目录的子目录/home/klenwell/
。- 注意 上的结束斜线
/home/klenwell/
。错过它,您最终会得到/home/new_user/klenwell
。
我建议在离开之前进行几次快速测试。使用--dry-run
甚至运行一两次,缩短时间以再次检查一切是否按预期进行。使用排除项,我将主目录减半,但复制仍需要一个小时。
使新用户成为主目录的所有者
time sudo chown -R new_user:new_user /home/new_user
就我的情况来说,花了 5 分钟才完成。
使用新用户登录
如果您尝试以新用户身份登录而 Ubuntu 只是将您踢回到登录提示,那么您可能忘记了前面的步骤。
如果您成功登录,现在您可以清除旧的备份:
sudo rm -rf /home/new_user.bak