Linux安装VNC(Linux桌面版远程)

一、Linux安装VNC服务

适用于CentOS7

#检查系统没有装GUI界面
rpm -qa | grep gnome

yum -y groupinstall "X Window System"
yum -y groupinstall "GNOME Desktop"

#安装VNC
yum install tigervnc tigervnc-server -y
检查开机运行级别
systemctl get-default  #查询当前开机运行级别

systemctl set-default multi-user.target  #表示切换到运行级别3,3为命令行模式
systemctl set-default graphical.target  #表示切换到运行级别5,5为图形化GUI模式
#可以不开启,但要保证linux有安装GUI服务。( "X Window System"、"GNOME Desktop")

设置密码

vncpasswd  #输入两次
Would you like to enter a view-only password (y/n)? y  #再输两次

启停服务,启停使用就可以

vncserver :1  
#1表示开启的是5901端口,1--5901,5901为客户端连接端口号,2--5902,以此类推,可同时开启多个端口

vncserver -list  #可查看已开启的端口列表
netstat -anp | grep 5901  #查看5901进程

连接测试

 关闭端口,关闭后会出现下图的链接失败

vncserver -kill :1  #表示关闭5901端口,但不影响除5901外的其他端口。
vncserver -kill :2  #表示关闭5902端口,但不影响除5902外的其他端口。

适用于CentOS6

网上的教程修改 vim /etc/sysconfig/vncservers 文件的方法,这个是CentOS6的方法,在CentOS7更改该配置文件已经没有意义
 

vim /etc/sysconfig/vncservers

###填入以下内容###
# THIS FILE HAS BEEN REPLACED BY /lib/systemd/system/vncserver@.service
VNCSERVERS="2:root"  #用户
VNCSERVERARGS[2]="-geomotry 1366x768"  #分辨率

二、设置VNC服务端开机自启动

按照上面的方法确实可以做到远程连接,但如果每次开机都需要使用vncserver :1命令才能启动服务显然是不合理的,可以通过cron调度任务的方式设置开机自启动,但vnc服务还可以新建server服务文件通过systemctl命令实现开机自启动。

适用于CentOS7

复制vncserver@.service文件,注意将<USER>更改成真实用户名,我这里改成root,一个用户需要建一个service服务文件。

文件名形式固定必须是vncserver@:2.service这个形式,更改文件名中的数字,代表更改端口,例如vncserver@:2.service代表着开启该服务后启动5902端口,vncserver@:3.service代表5903端口,vncserver@:50.service代表5950端口以此类推

有些教程会改%i,但其实不改也可以正常使用VNC。

cp /lib/systemd/system/vncserver@.service /lib/systemd/system/vncserver@:2.service
vim /lib/systemd/system/vncserver@:2.service

#找到其中的<USER> ,修改成自己的用户名,这里我改成root用户。
###例子###
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=simple

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

[Install]
WantedBy=multi-user.target
###例子###

systemctl start vncserver@:2.service
systemctl enable vncserver@:2.service

 启动vncserver@:50.service

关闭自启动

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

虚拟机是init3,但vnc仍然是Linux桌面版GUI,即init5,这是另一台主机192.168.136.69,VNC客户端和VNC服务端运行级别可以不同,只需要保证服务端有安装GUI即可。

三、卸载GUI图形界面

GUI虽然有些操作方便但十分影响服务器性能,提供卸载方法

yum groupremove "GNOME Desktop Environment"
yum groupremove "X Window System"

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值