统信UOS用户模板设置指南
通过/etc/skel目录配置新用户默认环境
本文介绍如何在统信UOS系统中通过修改用户模板(/etc/skel目录)实现新用户创建时自动配置桌面文件、开机自启服务、Bash变量等常用设置,适用于系统运维与批量部署场景。

本公众号所有内容仅在测试环境中进行,如您要使用文章中的内容对您的环境进行操作,请您务必知晓:所有的操作都会带来一定的风险,可能导致系统崩溃等多种问题,切勿盲目操作,本公众号为您提供一种操作的思路,不对您的任何操作行为负责,请您知晓。切记:谨慎操作,非必要不操作[k]。
以下操作基于统信UOS桌面专业版(系统版本20,内核4.19.0-arm64-desktop),其他版本可参考执行。
1. 系统环境确认
pdsyw@pdsyw-PC:~/Desktop$ cat /etc/os-version
[Version]
SystemName=UOS Desktop
SystemName[zh_CN]=统信桌面操作系统
EditionName=Professional
EditionName[zh_CN]=专业版
MajorVersion=20
MinorVersion=1060
OsBuild=11014.100.100
pdsyw@pdsyw-PC:~/Desktop$ uname -a
Linux pdsyw-PC 4.19.0-arm64-desktop #6030 SMP Tue Jun 27 15:28:10 CST 2023 aarch64 GNU/Linux
2. 用户模板目录说明
/etc/skel 是系统创建新用户时的模板目录,所有位于此目录下的文件和配置将在用户首次登录时自动复制到其家目录下[k]。
3. 桌面文件自动创建(测试一)
将目标文件(如pdsyw.doc)放入 /etc/skel/Desktop/ 目录,新用户登录后桌面将自动生成该文件。
root@pdsyw-PC:~# cd /etc/skel/Desktop/
root@pdsyw-PC:/etc/skel/Desktop# touch pdsyw.doc
root@pdsyw-PC:/etc/skel/Desktop# ls -ltr
总用量 16
-rw-r--r-- 1 root root 15360 11月 20 14:08 pdsyw.doc
创建新用户pdsyw2并登录后,桌面已显示pdsyw.doc文件[k]。

4. 开机自启服务配置(测试二)
通过将桌面快捷方式复制至 /etc/skel/.config/autostart/ 目录,可实现新用户登录后自动启动指定程序。
示例:配置浏览器(org.deepin.browser.desktop)开机自启:
root@pdsyw-PC:~# cd /etc/skel/.config/autostart/
root@pdsyw-PC:/etc/skel/.config/autostart# cp /usr/share/applications/org.deepin.browser.desktop ./
root@pdsyw-PC:/etc/skel/.config/autostart# ls -ltr
总用量 16
-rw-r--r-- 1 root root 336 5月 26 15:52 dde-first-run.desktop
-rw-r--r-- 1 root root 9398 11月 20 14:10 org.deepin.browser.desktop
创建新用户pdsyw3并登录后,浏览器自动打开[k]。

5. Bash环境变量设置(测试三)
修改 /etc/skel/.bashrc 文件可为新用户预设Bash环境,包括别名、提示符、环境变量等。
查看原始配置:
root@pdsyw-PC:/etc/skel# cat .bashrc
# ~/.bashrc: executed by bash(1) for non-login shells.
...
用户可根据需要添加自定义命令或变量,保存后新用户将继承该配置[k]。
Linux系统中通过配置用户模板实现自动化设置
基于/etc/skel目录对新用户环境进行初始化配置
9.3 在.bashrc文件末尾添加echo "pdsyw"

9.4 执行以下命令操作:
root@pdsyw-PC:~# cd /etc/skel/root@pdsyw-PC:/etc/skel# vi .bashrcroot@pdsyw-PC:/etc/skel# cat .bashrc | grep pdsywecho "pdsyw"root@pdsyw-PC:/etc/skel#

9.5 创建pdsyw4用户

9.6 使用pdsyw4用户登录终端后,显示pdsyw

10.1 测试四:配置.bash_logout文件

10.2 在.bash_logout文件末尾添加echo "bye pdsyw"

10.3 执行以下命令操作:
root@pdsyw-PC:/etc/skel# vi .bash_logoutroot@pdsyw-PC:/etc/skel#root@pdsyw-PC:/etc/skel# cat .bash_logout# ~/.bash_logout: executed by bash(1) when login shell exits.# when leaving the console clear the screen to increase privacyif [ "$SHLVL" = 1 ]; then[ -x /usr/bin/clear_console ] && /usr/bin/clear_console -qfiecho "bye pdsyw"root@pdsyw-PC:/etc/skel#

10.4 创建pdsyw6用户

10.5 使用SSH连接pdsyw6用户并退出后,显示bye pdsyw
pdsyw@pdsyw-PC:~/Desktop$ ssh pdsyw6@localhostpdsyw6@localhost's password:验证成功Welcome to UnionTech OS Desktop 20 Professionalhomepage:https://www.chinauos.com/bugreport:https://bbs.chinauos.com/pdsywpdsyw6@pdsyw-PC:~$ exit注销bye pdsywConnection to localhost closed.pdsyw@pdsyw-PC:~/Desktop$

11.1 测试五:配置.profile文件

11.2 在.profile文件底部添加指定内容

11.3 执行以下命令操作:
root@pdsyw-PC:/etc/skel# vi .profileroot@pdsyw-PC:/etc/skel#root@pdsyw-PC:/etc/skel# cat .profile | grep dde#cp $HOME/.config/dde-printer.ini to desktopif [ -f "$HOME/.config/dde-printer.ini" ] ; thencp $HOME/.config/dde-printer.ini $HOME/Desktop/root@pdsyw-PC:/etc/skel#

11.4 修改后的.profile文件内容如下:
root@pdsyw-PC:/etc/skel# cat .profile# ~/.profile: executed by the command interpreter for login shells.# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login# exists.# see /usr/share/doc/bash/examples/startup-files for examples.# the files are located in the bash-doc package.# the default umask is set in /etc/profile; for setting the umask# for ssh logins, install and configure the libpam-umask package.#umask 022# if running bashif [ -n "$BASH_VERSION" ]; then# include .bashrc if it existsif [ -f "$HOME/.bashrc" ]; then. "$HOME/.bashrc"fifi# set PATH so it includes user's private bin if it existsif [ -d "$HOME/bin" ] ; thenPATH="$HOME/bin:$PATH"fi# set PATH so it includes user's private bin if it existsif [ -d "$HOME/.local/bin" ] ; thenPATH="$HOME/.local/bin:$PATH"fi#cp $HOME/.config/dde-printer.ini to desktopif [ -f "$HOME/.config/dde-printer.ini" ] ; thencp $HOME/.config/dde-printer.ini $HOME/Desktop/firoot@pdsyw-PC:/etc/skel#
11.5 创建pdsyw7用户

11.6 使用pdsyw7用户登录后,桌面成功生成dde-printer.ini文件


