我想为新用户执行一些配置任务,例如应用默认设置。
例如,我想通过翻译名称创建一些默认目录(Documents
、、和,就像在 Windows 中一样)(因此,对于巴西用户,他或她实际上会获得名为、、和的Downloads
目录)。这可以使用类似 shell 脚本中的命令来实现:Music
Pictures
Videos
xdg-user-dir
Documentos
Downloads
Músicas
Imagens
Vídeos
music="`xdg-user-dir MUSIC 2>/dev/null`"
if test -z "$music"; then
music=$HOME/Music
fi
mkdir -p "$music"
我正在使用带有 KDE Plasma 5.4.2 的 openSUSE Leap 42.1。
在旧但有用的 openSUSE 13.2 上,我可以使用脚本进行此类配置/usr/share/kde4/env/startkde.suse.sh
,如您所见:
此外,可以使用 中的脚本完成 LiveCD 用户特定设置/usr/share/opensuse-kiwi/live_user_scripts/
。这在 openSUSE Leap 42.1 中仍然可行。示例:
但如果可能的话,我想为每个新创建的用户创建这些目录,包括 LiveCD 用户和/或在硬盘上通常安装 Linux 的用户。
有没有办法通过 shell 脚本或配置文件来实现这一点?只要能达到预期效果,我不介意使用与 KDE Plasma 5 或 openSUSE 绑定的解决方案。谢谢您的建议!
答案1
对于主目录的默认框架,在 Linux 中您有“/etc/skel/”目录。
部分摘录自这里:
/etc/skel 目录包含文件和目录,当 useradd 程序创建新用户时,这些文件和目录会自动复制到新用户的主目录中。
/etc/skel 允许系统管理员为计算机或网络上的所有新用户创建默认主目录,从而确保所有用户都以相同的设置或环境开始。
这是来自 rhel7 克隆的:
# ls -la /etc/skel/
total 28
drwxr-xr-x. 2 root root 4096 Apr 1 2015 .
drwxr-xr-x. 140 root root 12288 Nov 6 11:52 ..
-rw-r--r--. 1 root root 18 Mar 6 2015 .bash_logout
-rw-r--r--. 1 root root 193 Mar 6 2015 .bash_profile
-rw-r--r--. 1 root root 231 Mar 6 2015 .bashrc
您可以在此处添加任何您想要的内容,它将被复制到每个新用户的主目录
答案2
我没有使用 Suse,但是“xdg-user-dirs”和“xdg-user-dirs-gtk”这两个包似乎正是您要找的。
解决方案从这里开始: