1. 安装tigervnc-server

yum install tigervnc-server

2. 设置vncserver服务器

将默认提供的文件复制到/etc/systemd/system,命令如下:

cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:.service

修改配置

vi /etc/systemd/system/vncserver@:1.service

将其中<USER>替换为你想要的用户名,本人使用的账号为root,添加设置分辨率的参数-geometry 1280x720,所有内容如下

# The vncserver service unit file
#
# Quick HowTo:
# . Copy this file to /etc/systemd/system/vncserver@:<display>.service
# . Edit <USER> and vncserver parameters appropriately
# ("runuser -l <USER> -c /usr/bin/vncserver %i -arg1 -arg2")
# . Run `systemctl daemon-reload`
# . Run `systemctl enable vncserver@:<display>.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 root -c "/usr/bin/vncserver %i -geometry 1280x720"
PIDFile=/root/.vnc/%H%i.pid # 普通用户可能路径为 /home/<USER>/.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@:.service

3. 设置防火墙

首先判断firewalld是否启动

firewall-cmd --state

如果没有启动,先启动防火墙

systemctl start firewalld

添加端口号5901-5905例外

firewall-cmd --permanent --zone=public --add-port=-/tcp

重新加载防火墙

firewall-cmd --reload

可以使用下面命令查看端口号是否被加入

firewall-cmd --list-all-zones

4. 设置VNC密码

通过ssh,用oracle用户名登录到服务器,执行下面命令

vncserver

终端会提示你输入密码,如下

You will require a password to access your desktops.

Password:
Verify:
Would you like to enter a view-only password (y/n)? y
Password:
Verify: New 'lenmomDesktop:1 (root)' desktop is lenmomDesktop: Creating default startup script /root/.vnc/xstartup
Creating default config /root/.vnc/config
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/lenmomDesktop:.log

如果想修改密码,可以使用vncpasswd。现在已经有一个vnc服务在运行了,但我们需要使用刚刚配置的服务来启动,所以我们需要先杀死刚刚的vnc服务,使用下面命令:

vncserver -kill :

接下来,重启服务:

systemctl daemon-reload
systemctl restart vncserver@:1.service

使用下面命令查看该服务是否正确运行

systemctl status vncserver@:.service -l

如果正确启动,输出应为:

vncserver@:.service - Remote desktop service (VNC)
Loaded: loaded (/etc/systemd/system/vncserver@:.service; enabled; vendor preset: disabled)
Active: active (running) since 日 -- :: CST; 12h ago
Process: ExecStart=/usr/sbin/runuser -l oracle -c /usr/bin/vncserver %i -geometry 1280x720 (code=exited, status=/SUCCESS)
Process: ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null >& || : (code=exited, status=/SUCCESS)
Main PID: (Xvnc)
CGroup: /system.slice/system-vncserver.slice/vncserver@:.service
‣ /usr/bin/Xvnc : -desktop 127.0.0.1: (oracle) -auth /home/oracle/.Xauthority -geometry 1280x720 -rfbwait -rfbauth /home/oracle/.vnc/passwd -rfbport -fp catalogue:/etc/X11/fontpath.d -pn
7月 :: 127.0.0.1 systemd[]: Starting Remote desktop service (VNC)...
7月 :: 127.0.0.1 systemd[]: Started Remote desktop service (VNC).

如果想配置多用户同时访问,需要将上面vncserver@:1.service,改为vncserver@:2.service,然后配置其中用户名、分辨率参数,再按上述步骤做一遍。

Windows远程桌面连接CentOS 7的更多相关文章

  1. 通过windows远程桌面连接CentOS系统

    前提: CentOS安装桌面,如果无桌面,请执行 # yum -y groups install "GNOME Desktop" # startx 1 2 配置源 # yum in ...

  2. CentOS7配置图形界面及设置vnc远程连接、windows远程桌面连接

    安装CentOS桌面 yum groupinstall "GNOME Desktop" 重启,进入终端,将启动模式变更为图形模式 systemctl set-default gra ...

  3. [转帖]CentOS7安装xrdp(windows远程桌面连接linux)

    CentOS7安装xrdp(windows远程桌面连接linux) https://blog.csdn.net/sgrrmswtvt/article/details/81869208 You Konw ...

  4. Windows 远程桌面连接 CentOS7 (xrdp)

    Windows 远程桌面连接 CentOS7 (xrdp) 前提: CentOS安装桌面,如果无桌面,请执行: yum -y groups install "GNOME Desktop&qu ...

  5. Windows远程桌面连接Mac OS X

    Windows远程桌面连接Mac OS X   第一步:Mac OS X 10.5 已经增加支持了由VNC Viewer访问的功能,设置如下:   系统偏好设置-共享-勾选“屏幕共享”,然后在电脑设置 ...

  6. windows 远程桌面连接 RPi 2B

    /************************************************************************* * windows 远程桌面连接 RPi 2B * ...

  7. c#实现windows远程桌面连接程序

    c#实现windows远程桌面连接程序 使用winform制作windows远程桌面连接程序,windows自带了远程桌面连接,我们需要将远程桌面连接集成 到自己的winform程序,并实现管理远程主 ...

  8. 通过xrdp服务实现windows远程桌面连接树莓派

    如题:通过xrdp服务实现windows远程桌面连接树莓派 受同学影响,最近接触到了树莓派,又加上自己技痒想试一下这个小东西究竟能做什么,所以开始了树莓派学习之旅. 正题开始-xrdp实现window ...

  9. c#实现windows远程桌面连接程序代码

    使用winform制作windows远程桌面连接程序,windows自带了远程桌面连接,我们需要将远程桌面连接集成 到自己的winform程序,并实现管理远程主机的配置. 远程桌面核心类库 windo ...

随机推荐

  1. c# 多线程调用窗体上的控件 示例

    private delegate void InvokeCallback(string msg); private void SetCountValue(string s) { if (this.fo ...

  2. react 生命周期图

    1. react v16 版本生命周期 2. react v17 (还未发布), 生命周期将被改动,下面红框的部分就是会被删除的部分,注意调整!

  3. Java对多线程的支持

    Java运行时系统实现了一个用于调度线程执行的线程调度器,用于确定某一时刻由哪一个线程在CPU上运行. 在Java技术中,线程通常是抢占式的而不需要时间片分配进程(分配给每个线程相等的CPU时间的进程 ...

  4. vue 初级小总结

    (1)插值,即渲染文本 文本:数据绑定最常见的形式就是使用 {{...}}(双大括号)的文本插值 <h1>{{ message }}</h1> data() { return ...

  5. IOS开发 多线程GCD

    Grand Central Dispatch (GCD)是Apple开发的一个多核编程的解决方法. dispatch queue分成以下三种: 1)运行在主线程的Main queue,通过dispat ...

  6. Ext JS 5 关于Store load返回json错误信息或异常的处理

    关于在store load的时候服务器返回错误信息或服务器出错的处理.ExtJS4应该也能用,没测试过. 这里有两种情况: 服务器返回错误json错误信息,状态为200 服务器异常,状态为500 一. ...

  7. vue实现简单评分效果

  8. Git 中文教程

    以下内容转载自:http://www.open-open.com/lib/view/open1328928294702.html Git是一个分布式的版本控制工具,本篇文章从介绍Git开始,重点 在于 ...

  9. 模块(Modules)

    一.引入模块 模块:当编写更大的应用程序时,所有的代码肯定会分成多个文件,这样便于维护,另外已经编写好的函数和对象在被多个程序中使用时,不用把函数和对象拷贝到每个程序中. 模块支持以上功能,在Pyth ...

  10. hiho 1612

    emmmmm?A不了?90分是什么鬼 #include<cstdio> #include<cstdlib> #include<vector> #include< ...