vnc安装linux教程,Centos7安装配置vncserver详细教程
CentOS7安装配置vncserver教程
一、安装VNC
首先要保证目标服务器安装有图形化环境,Linux系统下常见的桌面环境有GNOME和KDE,这里我们首先通过Group的方式安装GNOME桌面,执行命令如下:
# yum -y groupinstall "X Window System" "Fonts"(安装x窗口相关包,和字体显示包))
# yum -y groupinstall "GNOME Desktop"
(若安装失败,可以安装KED Desktop:# yum -y groupinstall "KED Desktop")
现在就可以安装vncserver了,安装tigervnc服务端,执行命令如下:
# yum -y install tigervnc-server
二、配置VNC
对于Linux7之前的系统,安装完成后会通过/etc/sysconfig/vncservers文件进行配置,进入7.0版本后,这个文件仍然存在,但已经失去了实际意义,其内容只有一行:
# more /etc/sysconfig/vncservers
# THIS FILE HAS BEEN REPLACED BY /lib/systemd/system/vncserver@.service
这就跟Linux7之后服务管理方式的变化有关了,接下来我们就演示如何将vncserver配置为systemd能够管理的服务。
tigervnc-server安装后,自动创建一个名为vncserver@.server的模块文件,也就是前面/etc/sysconfig/vncservers文件内容中所指向的路径。
我们来看一下这个文件中的内容:
# more /lib/systemd/system/vncserver@.service
# The vncserver service unit file
# Quick HowTo:
# 1. Copy this file to /etc/systemd/system/vncserver@.service
# 2. Edit /etc/systemd/system/vncserver@.service, replacing
# with the actual user name. Leave the remaining lines of the file unmodified
# (ExecStart=/usr/sbin/runuser -l -c "/usr/bin/vncserver %i"
# PIDFile=/home//.vnc/%H%i.pid)
# 3. Run `systemctl daemon-reload`
# 4. Run `systemctl enable vncserver@:.service`
# DO NOT RUN THIS SERVICE if your local area network is
# untrusted! For a secure way of using VNC, you should
# limit connections to the local host and then tunnel from
# the machine you want to view VNC on (host A) to the machine
# whose VNC output you want to view (host B)
# [user@hostA ~]$ ssh -v -C -L 590N:localhost:590M hostB
# this will open a connection on port 590N of your hostA to hostB's port 590M
# (in fact, it ssh-connects to hostB and then connects to localhost (on hostB).
# See the ssh man page for details on port forwarding)
# You can then point a VNC client on hostA at vncdisplay N of localhost and with
# the help of ssh, you end up seeing what hostB makes available on port 590M
# Use "-nolisten tcp" to prevent X connections to your VNC server via TCP.
# Use "-localhost" to prevent remote VNC clients connecting except when
# doing so through a secure tunnel. See the "-via" option in the
# `man vncviewer' manual page.
[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=/usr/sbin/runuser -l -c "/usr/bin/vncserver %i"
/home//.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
[Install]
WantedBy=multi-user.target
操作步骤:
1、基于模板复制文件到目标路径下:
# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
2、编辑新复制出来vncserver@:1.server文件,根据实际情况将变量替换为适当的值。所谓实际情况,指的主要是两项:服务运行的所属USER,以及服务的Display Number,默认为:1。
关于DisplayNumber,这里多补充几句。单台服务器允许同时启动多个vncserver服务,不同的vncserver运行于不同的进程,提供不同的端口服务,这是毋庸置疑的,同时每个vncserver在启动时要指定一个Display Number,指定的Display Number大于0并且不重复即可,如果启动vncserver时没有指定,那么默认的Display Number会从1开始递增。如果同一台服务器中多个vncserver启动时指定了相同的Display Number,那么只会有一个能够启动成功。
接下来我们编辑vncserver@:1.service文件,修改配置项:
# vim /etc/systemd/system/vncserver@:1.service
原始配置如下:
[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=/usr/sbin/runuser -l -c "/usr/bin/vncserver %i"
PIDFile=/home//.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
修改后的配置如下:
[Service]
Type=forking
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill :1 > /dev/null 2>&1 || :'
ExecStart=/usr/sbin/runuser -l jss -c "/usr/bin/vncserver :1"
PIDFile=/home/jss/.vnc/%H:1.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill :1 > /dev/null 2>&1 || :'
总的来说,主要做了两处改动,首先是将%i替换为:1,其次是将替换为jss。
保存退出。
3、重新加载systemd的配置
# systemctl daemon-reload
4、启用这个服务,将vncserver服务设置为开机自启动:
# systemctl enable vncserver@:1.service
至此,配置部分基本告一段落,但是注意,这个时候先不要启动该vncserver,因为vncserver的访问密钥文件还未创建,我们要为vncserver创建密钥后再启动该服务项。
由于前面的配置过程中,指定vncserver运行在jss用户下,因此,首先切换到jss用户:
# su – jss
执行vncpasswd,并输入访问密码,操作如下:
$ vncpasswd
Password:
Verify:
然后返回root用户下,以后就可以通过systemd来控制vncserver服务的启停了。
例如,启动服务:
# systemctl start vncserver@:1.service
查看服务状态:
# systemctl status vncserver@:1.service
● vncserver@:1.service - Remote desktop service (VNC)
Loaded: loaded (/etc/systemd/system/vncserver@:1.service; disabled; vendor preset: disabled)
Active: active (running) since Mon xxxx-02-06 14:23:51 CST; 1min ago
Process: 29009 ExecStart=/usr/sbin/runuser -l jss -c /usr/bin/vncserver :1 (code=exited, status=0/SUCCESS)
Process: 29007 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill :1 > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)
Main PID: 29035 (Xvnc)
CGroup: /system.slice/system-vncserver.slice/vncserver@:1.service
? 29035 /usr/bin/Xvnc :1 -desktop localhost.localdomain:1 (jss) -auth /home/jss/.Xauthority -geometry 1024x768 -rfbwait 30000 -rfbauth /home/jss/.vnc/pass...
Feb 06 14:23:48 localhost.localdomain systemd[1]: Starting Remote desktop service (VNC)...
Feb 06 14:23:51 localhost.localdomain systemd[1]: Started Remote desktop service (VNC).
可以看到,服务处理active状态,已经被成功启动起来了。
三、客户端连接
当vnc服务启动之后,我们就可以在客户端通过vncviewer之类的工具连接服务器了。在指定服务器地址时,需要填入目标服务器的IP地址和服务的端口号,一般来说,目标服务器的IP地址肯定是知道的,但端口应该填什么呢。
Vnc服务所使用的端口号从5900开始,第一个运行的vnc服务启动后就是运行在5901的端口上,其它依次递增。如果要在linux系统中查询的话,可以通过netstat或ps之类的命令,例如:
# ps -ef | grep vnc
root 10936 10780 0 14:31 pts/0 00:00:00 grep --color=auto vnc
jss 29035 1 0 Feb06 ? 00:00:00 /usr/bin/Xvnc :1 -desktop localhost.localdomain:1 (jss) -auth /home/jss/.Xauthority -geometry 1024x768 -rfbwait 30000 -rfbauth /home/jss/.vnc/passwd -rfbport 5901 -fp catalogue:/etc/X11/fontpath.d -pn
这里我们就能看到,当前这个vnc服务运行在5901的端口上。如果该服务器上同时启动了多个vnc服务,那么通过查看进程的方式,也能区分出哪个服务运行于哪个用户及哪个端口。
如上图所示,指定目标服务器的IP地址和端口,点击”OK”即可。
就像我们前面提到过的,同一台服务器上可以运行多个vnc服务,不同vnc服务可以运行在不同的用户下,如果需要配置更多的vnc服务,那么可以重复步骤2中的操作,创建更多的vncserver@.service文件,为其指定不同的DisplayNumber即可。
四、vncserver服务常用管理操作
启用服务开机自启动:
# systemctl enable vncserver@:1.service
禁用服务开机自启动:
# systemctl disable vncserver@:1.service
服务启动:
# systemctl start vncserver@:1.service
服务停止:
# systemctl stop vncserver@:1.service
查看服务状态:
# systemctl status vncserver@:1.service
温馨提示:
您暂时无权查看此隐藏内容!
内容查看价格0.1元立即支付
注意:本站部分资源网络收集,如涉及版权问题请及时与站长联系,我们会在第一时间内与您协商解决。如非特殊说明,本站所有资源解压密码均为:zhangqiongjie.com。
客服:1923002089
vnc安装linux教程,Centos7安装配置vncserver详细教程相关推荐
- java环境教程_java环境配置的详细教程(图文)
本篇文章给大家带来的内容是关于java环境配置的详细教程(图文),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. JAVA环境变量的配置:Path,JAVA_HOME,CLASSPAT ...
- post修改服务器数据源,postgresql安装及配置超详细教程
1. 安装 根据业务需求选择版本,官网下载 初始化数据库 执行完初始化任务之后,postgresql 会自动创建和生成两个用户和一个数据库: linux 系统用户 postgres:管理数据库的系统用 ...
- ubuntu18.04 安装qt5.12.8及环境配置的详细教程
这篇文章主要介绍了ubuntu18.04 安装qt5.12.8及环境配置的教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 环境 系统: ...
- Linux下CentOS7安装gitlib
Linux下CentOS7安装gitlib 1.下载镜像 gitlab-ce-14.5.3-ce.0.el7.x86_64.rpm wget https://mirrors.tuna.tsinghua ...
- 安装部署 —— CentOS6/CentOS7 安装配置mysql 5.7
本文记录下使用CentOS6.5 和7 使用yum安装mysql的过程&一些常见问题 CentOS7 安装MySQL8:CentOS7安装MySQL8.0图文教程_闰土的猹猹君的博客-CSDN ...
- VMware虚拟机安装配置Android-x86详细教程
VMware虚拟机 安装配置Android-x86详细教程 工作环境:cn_windows_7_ultimate_with_sp1_x86 工具:VMware Workstation 10.0 and ...
- VMware安装Linux(CentOS7)
VMware安装Linux(CentOS7) 1.CentOS-7的镜像下载: https://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/CentO ...
- mysql 5.720安装_MySQL 5.7.27下载安装配置的详细教程
前言 在安装MySQL的时候会遇到很多问题,博客上有很多解决问题的办法,在这里我附上一些链接,遇到问题的朋友们可以阅读参考哈~本文主要针对于刚接触数据库的小白,来安装MySQL数据库.目前官网上的My ...
- MySQL免安装版配置部署详细教程
MySQL免安装版配置部署详细教程 这里写目录标题 MySQL免安装版配置部署详细教程 部署MySQL免安装版(windows版) 1.windows的mysql配置文件是my.ini,将此文件放到m ...
最新文章
- Django博客系统(详情页面展示)
- insert获取主键、联合关联查询
- VSCode中屏蔽文件files.exclude和屏蔽文件搜索search.exclude
- CentOS中使用Dockerfile部署带websocket的SpringBoot的jar包
- docker 导入导出镜像
- pyecharts第九节、旭日图(现代饼图)
- 网工视频13第13章.计算机系统开发运行与配置疑难问题
- 计算机应用基础图表填空,计算机应用基础填空题.doc
- js入门笔记整理(二)——操作符
- 简单mysql程序_【备忘】mysql简单操作程序
- 依赖倒置原则_面向对象的设计原则你不要了解一下么?
- 用crontab命令实现每天定时的病毒扫描
- 数据结构与算法分析——Hash表
- 基于simulink的风能/光伏发电系统仿真
- python | 秦九昭算法详细介绍
- python print end参数_python print的参数详解
- oracle latch chain,ORACLE latch AND mutex 深入讲解
- 苹果手机投影到墙上_实用派amp;小零碎:快充数据线、实木理线器、小电视支架、高清投影仪……...
- windows计算机卸载,win10怎么卸载电脑上的软件?
- 是谁给我充的手机费?
热门文章
- 再获国际顶级荣誉,平头哥首席科学家谢源荣获2020年度IEEE CS技术成就奖
- 2020 年,嵌入式开发工程师的两大必知必会!
- 从 5G 到智能革命,这篇文章值得一看
- .NPT 扩展名格式文件类型及打开方式分析:首次渗入 XR 内容领域
- 山东到底有没有互联网?
- 小米崔宝秋:小米 AIoT 深度拥抱开源
- 今日头条成锤子“接盘侠”?“是真的!”
- 今日头条把微信按在地上摩擦
- Uber “杀人”事件
- 非法关机 mysql_转 mysql数据库非法关机铁血教训