xml地图|网站地图|网站标签 [设为首页] [加入收藏]
来自 每日资讯 2019-10-31 17:45 的文章
当前位置: 新濠国际登录平台 > 每日资讯 > 正文

vnc之独立服务配置,Xmanager服务器配置    

上一篇远程桌面采用的独立服务配置不适用于过多用户,这一篇采用超级Internet服务器搭建vnc服务可以解决多用户问题。

上一篇中的vnc配置已经很方便了,这一篇介绍更为简单的xmanager的配置,xmanager画面好一丢丢。

                                                                   vnc之xinetd服务搭建配置

                                                                      Xmanager服务器配置                     

 

 

Linux远程桌面(一):vnc之独立服务配置

Linux远程桌面(二):vnc之xinetd服务搭建配置

 

 

步骤一:

主要修改以下两个文件(在root权限下):

(1)检查是否安装vnc服务和xinetd服务

(1)/usr/share/gdm/defaults.conf                 //GNOME管理默认的配置文件,也可编辑/etc/gdm/custom.conf, 启用xdmcp

(检测是否安装vnc)
# rpm -qa | grep vnc

(检测是否安装xinetd)
# rpm -qa | grep xinetd

(2)/etc/inittab                    //inittab进程的主配置文件

(2)若没有这两项服务就需要安装

 

新濠国际登录平台 1新濠国际登录平台 2

步骤一:

/etc/xinetd.conf和/etc/xinetd.d/*     (启动关闭)
# /etc/init.d/xinetd restart

# service xinetd restart
xinetd:未识别的服务

# service xinetd reload
xinetd:未识别的服务

#

# rpm -ivh xinetd-2.3.14-10.el5.i386.rpm 
Preparing...    #####################[100%]
1:xinetd        #####################[100%]

# service xinetd restart
Stopping xinetd:                         [FAILED]
Starting xinetd:                         [  OK  ]

#
安装完成!

(1)设置defaults.conf权限

View Code

 # chmod 700 /usr/share/gdm/defaults.conf

 

(2)修改defaults.conf文件

步骤二:

(保存原文件)
# cp /usr/share/gdm/defaults.conf /usr/share/gdm/defaults.conf-bak

(编辑配置文件)
# vim /usr/share/gdm/defaults.conf

(1)配置xinetd

  修改defaults.conf(或者custom.conf)的内容部分:

   由xinetd管理的服务器会将配置文件放在 /etc/xinetd.d 目录中。

[security]
AllowRoot=true        //允许root登录
AllowRemoteRoot=true  //允许root远程登录

[xdmcp]
Enable=true
DisplaysPerHost=10    //允许终端数
Port=177

   因此,要配置xinetd来处理VNC,您应当创建或编辑一个名称类似 /etc/xinetd.d/vnc 的文件。

 

    (在某些发行版上,比如openSUSE,VNC 服务器包会安装这样的一个文件。)

步骤二:修改inittab文件

 # vi /etc/xinetd.d/vnc   (vnc为新建文件,名称可任意)
# cat /etc/inittab|grep id    (查看运行级别)
# cp /etc/inittab /etc/inittab-bak
# vim /etc/inittab

    内容如下:

  修改部分(可参考vnc之xinetd服务搭建配置步骤四的(2)部分):

新濠国际登录平台 3新濠国际登录平台 4

    id:5:initdefault:

 service vnc_001
{
    user         = user001
    port         = 5901
    type         = UNLISTED
    disable      = no
    socket_type  = stream
    protocol     = tcp
    wait         = no         
    server       = /usr/bin/Xvnc
    server_args  = -inetd -query localhost -geometry 1366x768 -once -securitytypes=none
}
service vnc_002
{
    user         = user002
    port         = 5902
    type         = UNLISTED
    disable      = no
    socket_type  = stream
    protocol     = tcp
    wait         = no         
    server       = /usr/bin/Xvnc
    server_args  = -inetd -query localhost -geometry 1366x768 -once -securitytypes=none
}
service vnc_003
{
    user         = user003
    port         = 5903
    type         = UNLISTED
    disable      = no
    socket_type  = stream
    protocol     = tcp
    wait         = no         
    server       = /usr/bin/Xvnc
    server_args  = -inetd -query localhost -geometry 1366x768 -once -securitytypes=none
}

    再把最后一句里
    x:5:respawn:/etc/X11/prefdm -nodaemon改成 x:5:respawn:/usr/sbin/gdm

View Code

 

    说明:

步骤三:重启gdm服务

新濠国际登录平台 5新濠国际登录平台 6

# /usr/sbin/gdm    (启动gdm服务)
# /usr/sbin/gdm-restart    (重启gdm服务)
# gdm-restart    (重启gdm,可能会进入纯命令界面,使用/usr/sbin/gdm-restart 即可)
# ps -ef | grep gdm    (查看gdm服务)
 1 user            = root 表示执行此服务进程的用户是root。
 2 port            = 5900 vnc使用5900及以上端口
 3 disable         = yes 表示禁用这个服务。
 4 socket_type     = stream 表示服务的数据包类型为stream。
 5 wait            = no 表示不需等待,即服务将以多线程的方式运行。             
 6 server          = /usr/bin/Xvnc 启动脚本的位置。
 7 log_on_failure += USERID:表示设置失败时,UID添加到系统登记表。
 8 server_args     = :8 -inetd -once -query localhost -depth 16 -geometry 1024x768 -securitytypes=none
 9           
10                   :8  指定启动Xvnc服务器的X Window系统显示器
11                   -inetd  把Xvnc服务器作为守护进程运行,并预期从xinetd(inetd)运行它
12                   -once  当建立连接时从头启动Xvnc服务器,当连接结束时,终止服务器。此参数还能阻止Xvnc服务器的多个副本在同一端口上启动。
13                   -query localhost  该选项告诉VNC X服务器查询localhost系统以便进行XDMCP 身份验证。
14                       如果您想使用一台计算机作为中继来访问另一台计算机上的程序,您可以更改它。
15                   -depth 16  该选项设置颜色深度。较低的值能够产生较快的显示更新,但是高色彩桌面环境会因颜色工件而受到折损。
16                       有效的值介于2到32之间。
17                   -geometry 1024x768  您可以使用该选项设置 VNC 会话的虚拟分辨率。
18                       注意,该分辨率不需要类同于在服务器计算机上运行的常规X服务器的分辨率。值小于服务器使用分辨率。
19                       您可能想要创建以不同分辨率运行的多个条目,以便让用户使用其本地系统便于应用的任何分辨率登录到VNC服务器。
20                   -securitytypes=none  指定Xvnc服务器不使用它自己内部安全机制(vncpasswd)来允许对vnc服务器的访问,因为XDMCP会处理这个问题。
21                   
22                 

 

View Code

步骤四:

        还有许多其他选项,一些随VNC服务器的不同而不同。查询您的VNC服务器的文档,了解更多内容。

(1)添加防火墙规则

 

  可参考vnc之xinetd服务搭建配置的步骤五部分

步骤三:

# /sbin/iptables -A INPUT -p udp -s 0/0 -d 0/0 --dport 177 -j ACCEPT

(1)添加vnc服务(可省略此步骤,作用在此步骤最后...)

(2)保存、重启或关闭防火墙

 # vi /etc/services
# /sbin/service iptables save    //将规则保存在/etc/sysconfig/iptables文件里
# /sbin/service iptables restart    //重启防火墙
# /sbin/service iptables stop    //关闭防火墙
# /sbin/service iptables status    //查看防火墙状态

    内容如下:

(3)查看177端口监听情况

新濠国际登录平台 7新濠国际登录平台 8

# /bin/netstat -anp |grep 177
# /usr/sbin/lsof -i:177
 1 # /etc/services:
 2 # $Id: services,v 1.42 2006/02/23 13:09:23 pknirsch Exp $
 3 #
 4 # Network services, Internet style
 5 #
 6 # Note that it is presently the policy of IANA to assign a single well-known
 7 # port number for both TCP and UDP; hence, most entries here have two entries
 8 # even if the protocol doesn't support UDP operations.
 9 # Updated from RFC 1700, ``Assigned Numbers'' (October 1994).  Not all ports
10 # are included, only the more common ones.
11 #
12 # The latest IANA port assignments can be gotten from
13 #       http://www.iana.org/assignments/port-numbers
14 # The Well Known Ports are those from 0 through 1023.
15 # The Registered Ports are those from 1024 through 49151
16 # The Dynamic and/or Private Ports are those from 49152 through 65535
17 #
18 # Each line describes one service, and is of the form:
19 #
20 # service-name  port/protocol  [aliases ...]   [# comment]
21 
22 tcpmux          1/tcp                           # TCP port service multiplexer
23 tcpmux          1/udp                           # TCP port service multiplexer
24 rje             5/tcp                           # Remote Job Entry
25 rje             5/udp                           # Remote Job Entry
26 echo            7/tcp
27 echo            7/udp
28 ...(省略过多内容)
29 ...(省略过多内容)
30 ...(省略过多内容)
31 com-bardac-dw   48556/tcp                       # com-bardac-dw
32 com-bardac-dw   48556/udp                       # com-bardac-dw
33 iqobject        48619/tcp                       # iqobject
34 iqobject        48619/udp                       # iqobject
35 # Local services
36 vnc_001          5901/tcp     (添加)
37 vnc_002          5902/tcp     (添加)
38 vnc_003          5903/tcp     (添加)
39 vnc_004          5904/tcp     (添加)

 

View Code

 

新濠国际登录平台,(2)添加到service的作用说明

 

新濠国际登录平台 9新濠国际登录平台 10

如有错误还请指出,如有侵权还请告知,如需转载请注明出处!                                              

 1 (1)作用:
 2     /etc/services文件是记录网络服务名和它们对应使用的端口号及协议。
 3 (2)格式:
 4     文件中的每一行对应一种服务,它由4个字段组成,中间用TAB或空格分隔,分别表示“服务名称”、“使用端口”、“协议名称”以及“别名”。
 5     服务名    "tab"    端口号/协议名    “tab” 别名
 6 
 7     kermit             1649/udp
 8     l2tp               1701/tcp          l2f
 9     l2tp               1701/udp          l2f
10     h323gatedisc       1718/tcp
11 (3)应用:
12     很多的系统程序要使用这个文件。
13     如果每一个服务都能够严格遵循该机制,在此文件里标注自己所使用的端口信息,则主机上各服务间对端口的使用,将会非常清晰明了,易于管理;
14     在该文件中定义的服务名,可以作为配置文件中的参数使用。例如:在配置路由策略时,使用"www"代替"80",即为调用了此文件中的条目“www  80”;
15     且当有特殊情况,需要调整端口设置,只需要在/etc/services中修改www的定义,即可影响到服务。
16     例如:
17         在文件中增加条目“privPort 55555”,在某个私有服务中多个配置文件里广泛应用,进行配置。
18         当有特殊需要,要将这些端口配置改为66666,则只需修改/etc/services文件中对应行即可。
19         在应用程序中可以通过服务名和协议获取到对应的端口号,通过在该文件注册可以使应用程序不再关心端口号。
20 (4)端口分配:
21     Linux系统的端口号的范围为0–65535,不同范围有不同的意义。
22         0 不使用
23         1--1023 系统保留,只能由root用户使用
24         1024---4999 由客户端程序自由分配
25         5000---65535 由服务器端程序自由分配
26 (5)如何使应用程序不再关心服务所使用的端口号?
27     [1]确定服务程序名称,协议,端口号
28     [2]在/etc/services中配置[1]中信息
29     [3]应用程序可以不直接使用端口号,通过函数getservbyname("server","tcp")获取端口号。
30     [4]如果服务想更改端口号只要更改/etc/services中的端口号就可以了,应用程序不需要做任何更改。
31      注:同时可以通过函数getservbyport(htons(50),“tcp”)获取对应端口和规约上的服务名。
32     使用这两个系统函数需要包含头文件:#include <netdb.h>

本人博客:

View Code

 

 

步骤四:

(1)配置XDMCP服务器

  大部分Linux发行版配置其XDMCP服务,主要是为了管理本地显示。

  为了提供远程访问,您必须重新配置您的XDMCP服务器,以接受在同一台计算机上运行的VNC服务器的请求。具体细节因XDMCP服务器而异。

  Linux上最常用的三个XDMCP服务器是GNOME Display Manager(GDM)、Light Display Manager(LightDM)和KDE Display Manager(KDM)。

  其他XDMCP服务器,比如XDM,需要接受不同于此处所描述的调整。不管怎么,在重新配置您的XDMCP服务器之后,您需要重启它。

# vi /etc/gdm/custom.conf    (/usr/share/gdm/defaults.conf //GNOME管理默认的配置文件)

    内容如下:

新濠国际登录平台 11新濠国际登录平台 12

 1 # For full reference documentation see the gnome help browser under
 2 # GNOME|System category.  You can also find the docs in HTML form on
 3 # http://www.gnome.org/projects/gdm/
 4 #
 5 # NOTE: Lines that begin with "#" are considered comments.
 6 #
 7 # Have fun!
 8 
 9 [daemon]
10 # RemoteGreeter=/usr/libexec/gdmlogin    (添加)(此远程登录界面为传统界面)
11 RemoteGreeter=/usr/libexec/gdmgreeter    (添加)(此远程登录界面为正常界面)
12 
13 [security]
14 AllowRemoteRoot=true    (添加)
15 
16 [xdmcp]
17 Enable=true    (添加)
18 Port=177    (添加,可去)
19 
20 [gui]
21 
22 [greeter]
23 
24 [chooser]
25 
26 [debug]
27 
28 # Note that to disable servers defined in the defaults.conf file (such as
29 # 0=Standard, you must put a line in this file that says 0=inactive, as
30 # described in the Configuration section of the GDM documentation.
31 #
32 [servers]
33 
34 # Also note, that if you redefine a [server-foo] section, then GDM will
35 # use the definition in this file, not the defaults.conf file.  It is
36 # currently not possible to disable a [server-foo] section defined
37 # in the defaults.conf file.
38 #

View Code

    说明:daemon表示使用和本地一样的登录界面,不配置是个丑陋的简洁界面;

         security是允许使用root用户直接远程登录,一般不配置,不配置也可su - root登录终端;

本文由新濠国际登录平台发布于每日资讯,转载请注明出处:vnc之独立服务配置,Xmanager服务器配置    

关键词: