vncserver是使用非常方便和广泛的远程桌面服务,配置也相对简单。 
下面记录了在centos系统上进行配置vncserver的过程。

安装

  1. 查看centos下是否已经安装了vncserver

    rpm -qa |grep vnc

  2. 如果未安装vncserver,则进行安装

    yum install vnc vncserver

vncserver配置

vnc桌面的启动方式有两种,一种是通过在 /etc/sysconfig/vncservers文件中配置启动,这种方式配置的vnc桌面在服务器启动的时候就被启动,可以直接远程连接;另一种是在机器运行的时候运行vncserver :桌面号 命令来启动,这种方式启动的vnc桌面在机器重启后失效。 
1. 使用文件来进行配置 
    这种方式只能在root用户下执行。 
    /etc/sysconfig/vncservers的配置:

    # VNCSERVERS="2:myusername"
# VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -localhost"
VNCSERVERS="1:root 2:jason"
VNCSERVERARGS[1]="-geometry 1600x1000 -nolisten tcp -localhost"
VNCSERVERARGS[2]="-geometry 1600x1000 -nolisten tcp -localhost"

其中指定了 桌面号:用户名,以及相应的配置信息。

2. 使用vncserver命令来配置 
    这种方式可以在所有用户下进行,每个用户都可以开启多个vnc远程桌面,一个用户的所有vnc桌面都使用相同的密码,但是所有用户的桌面号必须唯一。

    usage: vncserver [:<number>] [-name <desktop-name>] [-depth <depth>]
[-geometry <width>x<height>]
[-pixelformat rgbNNN|bgrNNN]
[-fp <font-path>]
[-fg]
[-autokill]
<Xvnc-options>...
vncserver -kill <X-display>
vncserver -list

可以通过vncserver命令新建桌面

vncserver :number 桌面号, -name 桌面名(显示在vncviewer上), -depth 色深, -geometry 桌面大小。

或者删除一个远程桌面

vncserver -kill :桌面号

vnc桌面配置

每个用户的~/.vnc目录下都有一个 xstartup配置文件,来配置vnc使用的是 gnome桌面还是 kde桌面,还有其他的一些信息。 
如果你是gnome桌面,那么你需要修改/root/.vnc/xstartup的配置文件

    #!/bin/sh
[ -r /etc/sysconfig/i18n ] && . /etc/sysconfig/i18n
export LANG
export SYSFONT
vncconfig -iconic &
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
OS=`uname -s`
if [ $OS = 'Linux' ]; then
case "$WINDOWMANAGER" in
*gnome*)
if [ -e /etc/SuSE-release ]; then
PATH=$PATH:/opt/gnome/bin
export PATH
fi
;;
esac
fi
if [ -x /etc/X11/xinit/xinitrc ]; then
exec /etc/X11/xinit/xinitrc
fi
if [ -f /etc/X11/xinit/xinitrc ]; then
exec sh /etc/X11/xinit/xinitrc
fi
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
gnome-session gnome #添加这一句是连接时使用gnome 桌面环境
twm &

vncserver的服务端运行

vncserver运行:

service vncserver start

在运行的时候,每个用户都可以通过vncserer命令开多个vnc远程桌面(通过全局的桌面号来进行区分),且一个用户的所有vnc桌面的密码都相同(通过vncpasswd设置)。 
    每当用户新开一个vnc桌面时,在用户的 ~/.vnc 目录下就会有一个对应的 服务器机器名:桌面号.pid 的进程文件服务器机器名:桌面号.log 的日志文件

vnc客户端的连接

a、在linux下,运行vncviewer命令即可,服务器地址的写法形如192.168.1.11:1 
b、在windows下,运行windows版本的vncviewer即可,用法与linux下相近。

在centos7 下安装配置vncserver

一.安装

  1. 以root用户运行以下命令来安装vncserver;

    yum install tigervnc-server

  2. 同样运行以下命令来安装vncviewer;

    yum install vnc

  3. 停止并禁用防火墙

    systemctl stop firewalld.service

    systemctl disable firewalld.service

二.配置

  1. vncviewer基本上不用配置;

  2. vncserver的配置,创建一个新的配置文件,以开启1号窗口为例(也可以同时开启多个窗口,修改数字即可),方法如下:

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

    或者再增加一个窗口:

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

  3. 编辑/lib/systemd/system/vncserver@:1.service,设置用户root相关参数,最终内容如下:

[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"
PIDFile=/root/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
  • 上述内容中最好设置为root用户,否则可能会看到以下报错:

vncserver@:1.service - Remote desktop service (VNC)
   Loaded: loaded (/usr/lib/systemd/system/vncserver@:1.service; enabled)
   Active: failed (Result: exit-code) since Tue 2015-04-14 10:09:24 CST; 1min 36s ago
  Process: 3258 ExecStart=/sbin/runuser -l sysadmin -c /usr/bin/vncserver %i (code=exited, status=1/FAILURE)
  Process: 3254 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)
Apr 14 10:09:24 F1A-VMHOST-SWPE systemd[1]: Starting Remote desktop service (VNC)...
Apr 14 10:09:24 F1A-VMHOST-SWPE runuser[3258]: Password:
Apr 14 10:09:24 F1A-VMHOST-SWPE systemd[1]: vncserver@:1.service: control process exited, code=exited status=1
Apr 14 10:09:24 F1A-VMHOST-SWPE systemd[1]: Failed to start Remote desktop service (VNC).
Apr 14 10:09:24 F1A-VMHOST-SWPE systemd[1]: Unit vncserver@:1.service entered failed state.
Warning: Unit file changed on disk, 'systemctl daemon-reload' recommended.

三.应用

  1. 更新systemctl以使其生效;

    systemctl daemon-reload

  2. 设置vncserver的密码;

    vncpasswd root

    按提示输入密码以及确认密码

  3. 启动该服务用来启用vnc的1号窗口;

    systemctl start vncserver@:1.service  或者 vncserver :1

    关闭1号窗口:

    systemctl stop vncserver@:1.service   或者 vncserver -kill :1

  4. 设置为开机自动启动;

    systemctl enable vncserver@:1.service

    End.

linux 下配置vncserver的更多相关文章

  1. linux下配置vnc-server 和gnome-session

    机器比较老,安装时间也十分久远,所以也不知道实验室系统当时是不是完全安装,最近需要使用vnc登录显示界面,结果问题就来了...没有安装vnc-server. (1)机器系统是rhel6.2的,所以就从 ...

  2. Linux下配置一个VNC服务器

    在Linux下配置一个VNC服务器,并设置2个用户,要求其中一个用户登录时不需要输入密码. 然后在客户端使用ssh+vncview的方式访问. 1确认vnc安装 2配置vncserver 3测试vnc ...

  3. linux下配置mysql默认编码utf8

    linux下配置mysql默认编码utf8 下面是需要在对应地方加入的配置 [client] default-character-set=utf8 [mysqld] character-set-ser ...

  4. Linux下配置Lamp

    linux下配置lamp步骤: 一.快速安装Apache+PHP5+MySql 先更新: # yum update 然后安装LAMP环境:(163的yum源上只有php5.1.6 mysql 5.0. ...

  5. Linux下配置PHP开发环境

    转载于: http://www.uxtribe.com/php/405.html 该站下有系列PHP文章. 在Linux下搭建PHP环境比Windows下要复杂得多.除了安装Apache,PHP等软件 ...

  6. 一步一步教你如何在linux下配置apache+tomcat(转)

    一步一步教你如何在linux下配置apache+tomcat   一.安装前准备. 1.   所有组件都安装到/usr/local/e789目录下 2.   解压缩命令:tar —vxzf 文件名(. ...

  7. Linux下配置Tomcat服务器

    Linux下配置Tomcat服务器和Windows下其实差不多,可以去官网下载安装包释放或者在线下载,只是当时下载的windows.zip文件,现在下载.tar.gz格式的即可,下面使用命令行的方式安 ...

  8. Linux下配置JDK

    下面以CentOS为例,详细说一下Linux下配置JDK的过程 首先按照约定俗成的习惯,将jdk放在/usr/local/java下,首先进入/usr/local然后新建一个目录java 然后我们需要 ...

  9. Linux下配置Node环境变量及问题详解

    这是之前在Linux下配置Node环境变量时踩过的坑,今天又有小伙伴询问这个问题,因此记录下来,不仅是给新童鞋们一些参考,也方便日后查阅 在这之前,相信都已经安装好了,没安装的可以查看博主另一篇文章 ...

随机推荐

  1. Ubuntu 16.04使用git

    Ubuntu 16.04安装git 安装完RabbitVCS之后,Android studio里git还是没法用,找不到git程序,git命令也找不到,说明没有安装git! sudo apt-get ...

  2. 如何在linux下实现mysql数据库每天自动备份

    建备份文件夹: mkdir mysql_data_bak 建脚本文件: touch autobackupmysql.sh 打开文件 vi  autobackupmysql.sh 在脚本中加入如下内容: ...

  3. Linux kernel 生成 /dev/spidev*

    最近在调试一个 spi 转 4 路uart 的设备 先从spi 底层开始做起 kernel make menuconfig Device Drivers ---> [*] SPI support ...

  4. m72 gprs模块的应用编写

    #include <fcntl.h>#include <termios.h>#include "AppInit.h"#include "A5_Se ...

  5. HTML——如何在html中插入视频

    1,插入优酷视频: 在优酷分享界面有个html代码,直接复制放入body中,定义div的align居中即可 2.插入本地视频:用video属性  用mp4格式 <video>标签的属性 s ...

  6. [转]eclipse导入V7包出现错误解决办法

    android下v4    v7   v21等包是android系统的扩展支持包,就想windows的系统补丁一个道理. android的扩展包主要是用来兼容低版本的,比如android3.0以后出现 ...

  7. iOS开发小技巧--cell往左拖拽出现很多按钮的实现,仅仅适用于iOS8以后

    // 往左拖拽cell出现多个按钮的实现,仅仅适用于iOS_8.0以后 - (NSArray<UITableViewRowAction *> *)tableView:(UITableVie ...

  8. jar/war/ear文件的区别

     jar/war/ear三种文件,在文件结构上,三者并没有什么不同,它们都采用zip或jar档案文件压缩格式.但是它们的使用目的有所区别: Jar文件(扩展名为. Jar)包含Java类的普通库.资源 ...

  9. Batch Normalization原理及其TensorFlow实现——为了减少深度神经网络中的internal covariate shift,论文中提出了Batch Normalization算法,首先是对”每一层“的输入做一个Batch Normalization 变换

    批标准化(Bactch Normalization,BN)是为了克服神经网络加深导致难以训练而诞生的,随着神经网络深度加深,训练起来就会越来越困难,收敛速度回很慢,常常会导致梯度弥散问题(Vanish ...

  10. JAVA中String字符串比较equals()和equalsIgnoreCase()的区别

    标签: equals和equalsIgnoreC 2012-11-11 16:03 65644人阅读 评论(0) 收藏 举报  分类: JAVA(3)  1.使用equals( )方法比较两个字符串是 ...