嗯,看起来很简单但我做不到。
我创建了一个模板用户,用来创建或更新其他用户的配置。
要将配置从用户模板更新到另一个用户,我运行:
sudo cp -r --preserve /home/template/.config /home/user1/.config
sudo chown -R user1:users /home/user1/.config
我没有看到任何错误。但是当我使用 user1 登录时,我意识到 XFCE 桌面配置没有改变,我的意思是,它没有用模板配置更新。我特别注意到,桌面配置上的任何更改都被忽略了。
我究竟做错了什么?
答案1
我收到了错误,它很明显,但我没有看到它。
当我跑步时
sudo cp -r --preserve /home/template/.config /home/user1/.config
效果是创建一个新的目录 .config里面/home/user1/.config。
正确的脚本应该是:
sudo cp -r --preserve /home/template/.config /home/user1/
答案2
在某些情况下(甚至可能总是如此),退出 xfce4 会话后xfconfd
守护进程仍在运行。您需要登录user1
到普通终端会话并pkill xfconfd
。然后,如果您启动 xfce4 会话,您将看到已应用新的 xfce4 设置。
答案3
详细地说,当您以“模板”身份登录时,一切看起来都很好?并且“模板”的主页在/home/template
?
当我备份我的 XFCE 主页配置文件(我认为它们都在 ~/.config 中,只有 .local 或 .gconf 中的几个特定于应用程序的文件)和一个.gtkrc-xfce
似乎只是“XfdesktopIconView”桌面设置的文件时,可能并不重要但是...
除非我退出正在备份的用户,否则它并不总是有效。
我使用普通的tar -cf
,但 cp 应该也可以。
您要将所有者更改为新用户,那$1
您 chown 中一定是他们吗?我不知道组是否重要,但根据chown
您刚才使用的chown -R user: [files]
意思:
“如果用户名后面有冒号但没有组名,则该用户将成为文件的所有者,并且文件的组将更改为该用户的登录组。”
新文件和旧文件的权限是否相同?
以下是我之前备份 XFCE 用户设置的操作:
sudo tar --xz --one-file-system -cvf /tmp/userHome-bak.tar.xz -C /home/user/ --files-from=/home/add.txt
在 add.txt 中(每行一个,绝对不需要全部,有些可能是从旧 DE 中保留下来的):.config
.gconf
.gnome2
.gnome2_private
.linuxmint
.local
.bashrc
.gtk-bookmarks
.gtkrc-xfce
.ICEauthority
.xscreensaver
然后恢复到新用户的主目录后,确保:chown -R newuser /home/newuser