在企业级项目的开发中,尤其是分布式项目,经常直接在服务器上进行开发工作,操作系统环境一般是Centos 7。普遍状况是,在服务器上安装IDE 开发工具,通过

Xshell等工具远程启动,本地通过虚拟桌面打开IDE,使用体验是非常差的,IDE 卡顿严重,及其影响开发体验。

解决方案:在Centos服务器上安装VNC(virtual network computing) Server。参考书可见:鸟哥的linux私房菜-服务器架设篇

VNC Server会在服务端启动一个监听用户要求的端口,端口号一般在5901-5910之间。(大概就是说,最多开10个虚拟桌面)

## CentOS安装VNC

# 可参考https://linux.cn/article-5335-1.html

yum -y install @x11 @gnome tigervnc-server
yum -y remove gnome-initial-setup #取消GNOME引导设置程序
yum -y remove PackageKit #取消YUM源后台自动更新

systemctl set-default graphical

#设置默认启动runlevel 5
systemctl isolate graphical.target #启动runlevel5

systemctl enable vncserver@:1 #对应端口号5901,注意避免与虚拟机端口号冲突

#修改service文件,以root用户为例
vim /etc/systemd/system/multi-user.target.wants/vncserver\@\:1.service
ExecStart=/usr/sbin/runuser -l root -c "/usr/bin/vncserver %i"
PIDFile=/root/.vnc/%H%i.pid

systemctl daemon-reload #重新加载systemd服务配置文件
vncpasswd #设置当前用户密码
systemctl start vncserver@:1
#防火墙放行TCP 5901端口或直接禁用防火墙
systemctl stop firewalld
systemctl disable firewalld


systemctl enable vncserver@:1
# 对应端口号5901, 注意避免与虚拟机端口号冲突 systemctl enable vncserver@:2
# 对应端口号5902(如果要创建两个虚拟桌面的话) # 修改service文件,以root用户为例
vim /etc/systemd/system/multi-user.target.wants/vncserver\@\:1.service
# 添加下面两行
ExecStart=/usr/sbin/runuser -l root -c "/usr/bin/vncserver %i"
PIDFile=/root/.vnc/%H%i.pid systemctl daemon-reload #重新加载systemd服务配置文件
vncpasswd #设置当前用户密码
systemctl start vncserver@:1
# 防火墙放行TCP 5901端口或直接禁用防火墙
systemctl stop firewalld
systemctl disable firewalld # 在本地电脑上下载并安装vnc viewer(client),下载地址如下
https://www.tightvnc.com/download.html # 输入ip:port 连接服务器
例:192.168.122.128:5901
例:192.168.122.128:5902 # 调整分辨率 Applications>System Tools>Settings>Devices>Displays>Desolution
# 禁用黑屏 Applications>System Tools>Settings>Power>Blank screen

  

Centos7服务器搭建VNC Server环境的更多相关文章

  1. centos7服务器搭建javaweb运行环境及代码部署

    之前在一直在学习java web终于写完了第一个小demo,于是在阿里云上买了一个服务器,开始了配置服务器环境的踩坑之旅.... ps:本文不讨论服务器配置的具体步骤,网上都很多,按部就班就是,本文主 ...

  2. Centos7服务器搭建网络家园和论坛

    环境:Centos7 工具:mysql,php,httpd 目的:熟练掌握httpd服务器搭建和个服务器之间的配合. 有兴趣的朋友可以来实践一下,我会提供各种源码进行搭建. 网络家园和论坛源码:htt ...

  3. Centos7服务器搭建部署显卡计算环境以及常用软件的安装使用

    安装好anaconda的服务器上会more你已经安装好jupyter notebook,执行下面的命令可以提供链接地址允许远程浏览器打开并访问: jupyter notebook --no-brows ...

  4. Centos7下搭建LAMP平台环境 (转载)

     1.启用Apache(httpd) Centos7默认已经安装httpd服务,只是没有启动.如果你需要全新安装,可以yum install -y httpd 启动服务:systemctl start ...

  5. [EAP]将hostapd作为radius服务器搭建EAP认证环境

    文章主要由以下几部分组成: 0.概念理解: WPA/WPA2,EAP,IEEE, 802.11i, WiFi联盟, 802.1x 1.编译hostapd 2.配置hostapd的conf文件 3.外接 ...

  6. CentOS7下搭建基本LNMP环境,部署WordPress

    系统环境:CentOS Linux release 7.4.1708 (Core) 3.10.0-693.el7.x86_64 软件版本:nginx-1.12.2.tar.gz php 7.1.11 ...

  7. Centos7下搭建LAMP平台环境

    1.启用Apache2 Centos7默认已经安装httpd服务,只是没有启动.如果你需要全新安装,可以yum install -y httpd 启动服务:systemctl start httpd. ...

  8. CentOS7系统搭建外网环境

    理一下思路第一步 Vultr 注册 充值10刀了: 可以支付宝支付.不再需要绑定银行卡 第二步 选择 一个自己中意的款 系统啊流量之类的购买     Deploy New Instance 第三步  ...

  9. CentOS7服务器搭建百度贴吧云签到

    由无名智者开发的“百度贴吧云签到”应用是一个每天自动对百度贴吧定时进行云签到的程序.前面准备,已经有安装过mysql的linux服务器.mysql的安装在此不做介绍. 一.安装Apache yum i ...

随机推荐

  1. IPTABLES简介

    iptables防火墙工作原理 简介:iptables防火墙工作在网络层,针对TCP/IP数据包实施过滤和限制,iptables防火墙基于内核编码实现,具有非常稳定的性能和高效率: iptables属 ...

  2. Python3中json的encode和decode

    在Python3中,将对象序列化为JSON对象,即对对象进行json encode编码,使用函数 json.dumps(obj, *, skipkeys=False, ensure_ascii=Tru ...

  3. vim 设置字体和解决乱码

    在 C:\Program Files (x86)\Vim 目录中的 _vimrc 文件中加入下面两行 set fileencodings=utf-8,gb2312,gb18030,gbk,ucs-bo ...

  4. mysql 约束条件 auto_increment 自动增长 创建表时设置自增字段

    auto_increment mysql) )auto_increment; Query OK, rows affected (0.01 sec) mysql> show create tabl ...

  5. 消息编解码Nanopb - protocol buffers

    Google Protocol Buffer 有各种版本的代码包,Python C/C++.JAVA.C.OBJ-C..NET等,嵌入式设备中使用的protobuf版本,我们选择的是nanoprobu ...

  6. R语言 dbWriteTable 写入数据库 为空和乱码问题

    在windows环境下 用RMySQL 写入数据库中文数据为空 或者乱码问题. 找了下资料 一般情况是 用 insert 语句插入,结合现有业务有点麻烦,放弃了. 还有一种方式换平台,由于经常在win ...

  7. .htaccees什么鬼?怎么用?

    .htaccess文件全称Hypertext Access(超文本入口).提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录.作 ...

  8. Using RUNDLL32.exe to call a function within a dll

    Using RUNDLL32.exe to call a function within a dll        Rundll32 is a utility included with Window ...

  9. vs2010 net4.0 c# 操作 sqlite

    1.百科介绍 SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中.它是D.RichardHipp建立的公有领域项目.它的设计目标是嵌入式的,而且目前已经 ...

  10. ruby中的self

    self,自己,在ruby中表示当前对象或默认对象.程序执行的任一时刻,有且仅有一个self. 1.谁成为self,在什么位置成为self? 要知道哪个对象是self,就必须知道当前的上下文.上下文主 ...