Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7097852
  • 博文数量: 3857
  • 博客积分: 6409
  • 博客等级: 准将
  • 技术积分: 15948
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-02 16:48
个人简介

迷彩 潜伏 隐蔽 伪装

文章分类

全部博文(3857)

文章存档

2017年(5)

2016年(63)

2015年(927)

2014年(677)

2013年(807)

2012年(1241)

2011年(67)

2010年(7)

2009年(36)

2008年(28)

分类: 系统运维

2015-04-08 11:36:16

CentOS7/RHEL7 systemd详解5

[日期:2015-04-08] 来源:Linux社区  作者:xiaoli110 [字体:  ]

12.单元实例化

在运行的时候有可能需要将一个模版实例化好几个单元,@字符用于标识模版和单元文件的关系,实例化单元可以从另外一个单元文件(使用Requires或者Wants选项),或者使用systemctlstart命令。实例化服务单元可以按照下面的方式命名:

template_name@instance_name.service

几个实例可以指向同一个模板文件配置选项常见的所有实例,举个例子,一个单元配置文件的Wants选项可以是:

Wants=getty@ttyA.service,getty@ttyB.service

首先让systemd搜索给定服务单位,如果没有发现,systemd忽略@和点号之间的部分,直接搜索getty@.service服务文件,读取配置,并启动服务。
通配符字段,称为单元说明符,可以在任何单元配置文件使用。单位说明符替代某些单位在运行时参数和解释。常用的单元说明符说明如下:
%n整个单元名字,包括类型的后缀,%N是相同的意义,但是ASCII取代为禁止字符。
%p前缀名字,在实例化的时候,%p代表@字符前面的部分。
%i实例名字,@字符和单元类型直接的部分。%I是相同的意义,但是ASCII取代为禁止字符。
%H主机名字,当配置文件被加载的时候的主机名。
%t运行时目录,当前的运行目录,对root用户就是/run目录,对于无特权用户就是XDG_RUNTIME_DIR变量指定的目录。
举个例子,getty@.service包含下面的结构:

[Unit] 
Description=Gettyon%I 
... 
[Service] 
ExecStart=-/sbin/agetty--noclear%I$TERM 
...

当getty@ttyA.service和getty@ttyB.service实例化的时候,Description=被解释为“GettyonttyA”和"GettyonttyB"。

13.VNC SERVER配置

安装:

yum install tigervnc-server

配置:

(1) 复制配置文件:

~]# cp /lib/systemd/system/vncserver@.service \ 
/etc/systemd/system/vncserver@.service

(2) 编辑配置文件:

ExecStart=/sbin/runuser -l USER -c "/usr/bin/vncserver %i -geometry 1280x1024"
PIDFile=/home/USER/.vnc/%H%i.pid

将USER换成要使用的VNC服务的用户,比如root:

ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i"

如果要修改分辨率可以修改geometry内容,其他不需要做修改。
然后保持配置。

(3)使用systemctl命令,强制重新读取配置文件:

 ~]# systemctl daemon-reload

(4)配置vncserver密码

vncpasswd

(5)如果有两个用户希望同时使用vnc,需要配置两份配置文件:
 vncserver-USER_1@.service 及 vncserver-USER_2@.service,文件内容同root用户的配置方法
然后为两个用户创建vnc密码:

$ su - USER_1 
~]$ vncpasswd 
Password: 
Verify: 
~]$ su - USER_2 
~]$ vncpasswd 
Password: 
Verify:

(6)启动vnc服务

systemctl start vncserver@:10

为了开机启动,使用如下命令:

systemctl enable vncserver@:10 
ln -s '/etc/systemd/system/vncserver@.service' \ 
'/etc/systemd/system/multi-user.target.wants/vncserver@:10.service'

(7) 关闭进程

systemctl disable vncserver@:display_number.service 
systemctl stop vncserver@:display_number.service

本文永久更新链接地址

阅读(624) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~