一、前言

  银河麒麟操作系统作为国产操作系统,是目前国产化、信创等项目场景的主流操作系统之一,但它本质上还是基于现有的开源操作系统上的二次开发,银河麒麟服务器版是基于centos的,银河麒麟桌面版是基于debain的。既然是国产化系统自然是需要支持中文的,如果系统安装的时候选择的默认语言是英文,我们可以再后期进行调整设置。又或者我们部署了系统服务,需要通过脚本或者命令启动服务,我们希望设置服务开机自启动该如何操作。在此博文可以找到答案,博文实验环境如下:

  • 操作系统:银河麒麟桌面版V10.1
wuhs@wuhs-pc:~$ cat /etc/os-release
 NAME=“Kylin”
 VERSION=“V10.1 (juniper)”
 ID=kylin
 ID_LIKE=debian
 PRETTY_NAME=“Kylin V10.1”
 VERSION_ID=“v10.1”
 HOME_URL=“http://www.kylinos.cn/”
 SUPPORT_URL=“http://www.kylinos.cn/service.aspx”
 BUG_REPORT_URL=“http://www.kylinos.cn/”
 PRIVACY_POLICY_URL=“http://www.kylinos.cn”
 VERSION_CODENAME=juniper
 UBUNTU_CODENAME=juniper

二、系统语言设置

  银河麒麟操作系统初始化安装的时候选择了English作为系统语言,后续如果想切换系统语言改如何操作呢?博文将介绍三种设置语言的方式,以修改英文为中文为例进行介绍。

1、图形化桌面修改设置

  依次点击: start按钮–》setting按钮–》System–》Datetime --》Area–》system language --》下拉框中选择Chinese,如下截图所示。设置完成后会弹窗提示需要注销用户后生效,我们点击注销loginout,重新登录后可以看到系统显示为了中文。

银河麒麟python 镜像 银河麒麟基于debian_开机自启动


银河麒麟python 镜像 银河麒麟基于debian_银河麒麟python 镜像_02


银河麒麟python 镜像 银河麒麟基于debian_开机自启动_03


银河麒麟python 镜像 银河麒麟基于debian_银河麒麟python 镜像_04


银河麒麟python 镜像 银河麒麟基于debian_语言设置_05

2、使用dpkg-reconfigure命令设置

wuhs@wuhs-pc:~$ sudo dpkg-reconfigure locales

银河麒麟python 镜像 银河麒麟基于debian_开机自启动_06


银河麒麟python 镜像 银河麒麟基于debian_银河麒麟python 镜像_07

3、通过/etc/profile系统变量文件设置

  我们首先通过locale命令查看系统语言,也可以通过env命令查看。然后编辑/etc/profile文件,添加语言设置的环境变量,然后重启系统。这样系统语言就设置成为了中文,此方式为全局变量设置,此种方法设置了之后方法一修改语言设置后就失效了。

wuhs@wuhs-pc:~$ locale
 LANG=en_US.UTF-8
 …
 wuhs@wuhs-pc:~$ sudo vim /etc/profile
 [sudo] wuhs 的密码:
 …
 #system language
 export LANG=zh_CN.UTF-8
 export LANGUAGE=zh_CN
 …
 wuhs@wuhs-pc:~$ reboot

4、通过~/.bashrc设置用户的环境语言

  如果我们只是希望设置某个用户的环境语言为中文,其他用户保持系统默认的英文,我们可以修改~/.bashrc在文件末尾添加上,注销用户后重新登录就会发现语言设置为了中文。

sun@wuhs-pc:~$ cat ~/.bashrc
 #system language
 export LANG=zh_CN.UTF-8
 export LANGUAGE=zh_CN

5、语言环境变量参数说明

  如下locale命令查看结果所示,locale把按照所涉及到的文化传统的各个方面分成12个大类,这12个大类分别是:
1、语言符号及其分类(LC_CTYPE)
2、数字(LC_NUMERIC)
3、比较和排序习惯(LC_COLLATE)
4、时间显示格式(LC_TIME)
5、货币单位(LC_MONETARY)
6、信息主要是提示信息,错误信息,状态信息,标题,标签,按钮和菜单等(LC_MESSAGES)
7、姓名书写方式(LC_NAME)
8、地址书写方式(LC_ADDRESS)
9、电话号码书写方式(LC_TELEPHONE)
10、度量衡表达方式 (LC_MEASUREMENT)
11、默认纸张尺寸大小(LC_PAPER)
12、对locale自身包含信息的概述(LC_IDENTIFICATION)。
  Locale是软件在运行时的语言环境, 它包括语言(Language), 地域 (Territory) 和字符集(Codeset)。一个locale的书写格式为: 语言[_地域[.字符集]]。完全的locale表达方式是 [语言[_地域][.字符集] [@修正值]。zh_CN.GB2312=中文_中华人民共和国+国标2312字符集。

sun@wuhs-pc:~$ locale
 LANG=zh_CN.UTF-8
 LANGUAGE=
 LC_CTYPE=“zh_CN.UTF-8”
 LC_NUMERIC=“zh_CN.UTF-8”
 LC_TIME=“zh_CN.UTF-8”
 LC_COLLATE=“zh_CN.UTF-8”
 LC_MONETARY=“zh_CN.UTF-8”
 LC_MESSAGES=“zh_CN.UTF-8”
 LC_PAPER=“zh_CN.UTF-8”
 LC_NAME=“zh_CN.UTF-8”
 LC_ADDRESS=“zh_CN.UTF-8”
 LC_TELEPHONE=“zh_CN.UTF-8”
 LC_MEASUREMENT=“zh_CN.UTF-8”
 LC_IDENTIFICATION=“zh_CN.UTF-8”
 LC_ALL=
  • LC_ALL和LANG优先级的关系:LC_ALL > LC_* >LANG
  • 如果需要一个纯中文的系统的话,设定LC_ALL= zh_CN.XXXX,或者LANG=zh_CN.XXXX都可以。
  • 如果只想要一个可以输入中文的环境,而保持菜单、标题,系统信息等等为英文界面,那么只需要设定 LC_CTYPE=zh_CN.XXXX,LANG=en_US.XXXX就可以了。
  • 假如什么也不做的话,也就是LC_ALL,LANG和LC_*均不指定特定值的话,系统将采用POSIX作为lcoale,也就是C locale。
  • LANG和LANGUAGE的区别:
    LANGUAGE是设置应用程序的界面语言。而LANG是优先级很低的一个变量,它指定所有与locale有关的变量的默认值

三、服务开机自启动设置

1、root用户在 /etc/ 目录下新增rc.local文件

  • 编辑创建rc.local文件
root@wuhs-pc:/etc# vim rc.local
 #!/bin/bash
 nohup /etc/openvpn/client/startvpn.sh &
 exit 0
  • 添加执行权限
root@wuhs-pc:/etc# chmod u+x rc.local
  • 重启验证
wuhs@wuhs-pc:~$ cat /tmp/vpn.log
 2023-03-14-15:07:05 已执行

2、在 /etc/init.d/目录下添加需要执行的.sh脚本

  • 编辑启动脚本
    编辑一个启动脚本.sh文件,文件头部可以参照目录下的现有文件,比如ssh,smbd等,头部文件必要严格按照样式填写。最后添加需要执行的实际命令或者脚本。
root@wuhs-pc:/etc/init.d# cat autovpn.sh
 #! /bin/sh
 ### BEGIN INIT INFO
 # Provides: openvpn
 # Required-Start: $network $local_fs $remote_fs
 # Required-Stop: $network $local_fs $remote_fs
 # Default-Start: 2 3 4 5
 # Default-Stop: 0 1 6
 # Short-Description: OpenBSD Secure Shell server
 ### END INIT INFO

 nohup /etc/openvpn/client/startvpn.sh &
 exit 0
  • 脚本添加执行权限
root@wuhs-pc:/etc/init.d# chmod +x autovpn.sh
  • 创建软连接
    最后添加软连接,/etc/rc.d/rc0.d/~/etc/rc.d/rc6.d/文件夹的含义不同,S开头代表是开启时处理的脚本,按照后面紧跟的数字进行按顺序启动,S99则是最后进行启动。
root@wuhs-pc:/etc/init.d# ln -s /etc/init.d/autovpn.sh /etc/rc2.d/S99autovpn
  • 重启验证
    系统重启后我们可以看到脚本已经完成了开机自动执行。
root@wuhs-pc:/etc/init.d# cat /tmp/vpn.log
 2023-03-14-15:29:18 已执行

3、桌面添加开机自启动服务

  如上两种主要针对不依赖Xserver的服务,如果是需要依赖Xserver的桌面服务我们需要通过如下方式配置开机自启动。但是此方式需要在桌面完成登录后服务才会完成正式的启动。

  • 编辑服务器启动的配置文件
    编辑创建一个.desktop文件,最重要的是Exec指定需要执行的脚本,该文件的配置可以参照/usr/share/application目录下的其他文件。
root@wuhs-pc:/usr/share/applications# cat autovpn.desktop
 [Desktop Entry]
 Encoding=UTF-8
 Version=1.0
 Type=Application
 Name=autovpn
 Comment=auto start openvpn
 Exec=/etc/openvpn/client/startvpn.sh
 StartupNotify=false
 Terminal=false
 Hidden=false
  • 添加执行权限
root@wuhs-pc:/usr/share/applications# chmod u+x autovpn.desktop
  • 在桌面添加开机自启动服务
  • 重启验证
    重启后我们使用shell终端登录可以发现程序并没有执行,使用账户登录桌面后再次查看会发现vpn拨号成功。
root@wuhs-pc:/usr/share/applications# cat /tmp/vpn.log


2023-03-14-15:45:01 已执行