开发者社区> wsc449> 正文

vnc操作使用指南----开启多个VNCserver

简介: 应用场景 在上面博客中介绍了一台Linux服务器上开启一个VNCServer,然后通过Windows端的VNCviewer去连接该Linux,最后可以在Windiwos系统中,远程看到Linux的系统界面。
+关注继续查看

应用场景

在上面博客中介绍了一台Linux服务器上开启一个VNCServer,然后通过Windows端的VNCviewer去连接该Linux,最后可以在Windiwos系统中,远程看到Linux的系统界面。但是现实情况可能需要不止一个用户桌面环境,比如我们在远程安装oracle时还需要一个oracle用户的桌面环境,而之前只配置了root用户,下面描述配置多用户的VNCserver。原理很类似,只需要配置多个vncserver@:n.service。

操作步骤

1. 复制vncserver@.service

假设我们的用户已经建立好,这里以admin为例。首先以root用户登录,在目录下,和前述一样,拷贝配置文件,不过这里不是:1,而是:2,数字可以自己设置,一般用递增来描述。

 #cd /lib/systemd/system
 #cp vncserver@.service vncserver@:2.service
 #vi vncserver@:2.service

修改配置

[Unit] 
Description=Remote desktop service (VNC) 
After=syslog.target network.target

[Service] 
Type=forking 
# Clean any existing files in /tmp/.X11-unix environment 
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/sbin/runuser -l admin -c "/usr/bin/vncserver %i " 
PIDFile=/home/admin/.vnc/%H%i.pid 
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

[Install] 
WantedBy=multi-user.target

保存退出。然后按照配置文件提示,执行

#systemctl daemon-reload
#systemctl enable vncserver@:2.service

2. 修改vnc登录验证密码

执行完毕后,切换到admin账户,执行

$vncserver :2

会要求输入验证密码

You will require a password to access your desktops.

Password: 
Verify: 
xauth: file /home/admin/.Xauthority does not exist

New ‘localhost.localdomain:2 (admin)’ desktop is localhost.localdomain:2

Creating default startup script /home/admin/.vnc/xstartup 
Starting applications specified in /home/admin/.vnc/xstartup 
Log file is /home/admin/.vnc/localhost.localdomain:2.log

3. 启动服务

之后切换回root,执行

 # systemctl deamon-reload
 # systemctl start vncserver@:2.service

这时候提示启动不成功,提示已经有一个vncserver as :2 running了,这时候我们先要杀掉这个进程,执行命令

 # ps -ef | grep vnc

查看vncserver :2的进程id,如pid为1311,则执行

 # kill -9 1311
 # systemctl start vncserver@:2.service

还是报错,查看日志

 # journalctl -xn

提示需要删除/tmp/.X2-lock ,执行

 # rm /tmp/.X2-lock
 # systemctl start vncserver@:2.service

还是报错,查看日志,提示需要删除/tmp/.X11-unix/X2 ,执行

 # rm /tmp/.X11-unix/X2

再次启动

 # systemctl start vncserver@:2.service
 # systemctl status vncserver@:2.service

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
你真的会使用C语言中的 “ 操作符 ” 吗?
你真的会使用C语言中的 “ 操作符 ” 吗?
47 0
ECS控制台实例支持批量加入多个安全组
当实例需要加入到多个安全组时,可以通过实例批量加入多个安全组的功能优化进行操作省时省力,话不多说进入介绍环节
2524 0
gdy
Ubuntu16.04 server下配置MySQL,并开启远程连接
背景   最近正在学nodejs,想到曾经有台云服务器,但是很久不用了,由于怕麻烦,一股脑的把云主机重装了个Ubuntu系统,于是配置MySQL成了配置服务中的一个环节(node用不用MySQL不管,主要是闲的重新配置一个-.-),但是配置的过程中,遇到不少问题,所以在解决一系列问题后留篇博备以后使用。
1092 0
android 判断service是否开启
引用:http://blog.csdn.net/ihrthk/article/details/7316389 [java] view plaincopyprint?   package com.
764 0
C#使用OleDB操作ACCESS插入数据时提示:标准表达式中数据类型不匹配。
C#使用OleDB操作ACCESS插入数据时提示:标准表达式中数据类型不匹配。 OleDbParameter param = new OleDbParameter("" + dc.
694 0
+关注
wsc449
python,c#,scala
232
文章
4
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载