CentOS 配置XWIN/VNC
Xwin服务器
CentOS上运维Xwin,在这之前需要理清一些关系:
一, X window 包括xserver 和x client。linux下的xserver 主要有xorg、xfree86,一般运行在6000端口,而xclient 有:gnome、KDE等,一般运行在177端口。
二, X Window System采用C/S结构,但和我们常见的C/S不同。常见的C/S结构中,称提供服务的一方为server,即服务器端(如HTTP服务,FTP服务 等),使用服务的称为client,即客户端。但在XWindow System中,client是执行程序的一方,在上面执行各种X程序,而server则是负责显示client运行程序的窗口的一方。
综上所述,要安装Xwin服务,其实只需要在目标服务器上安装x client就好,
CentOS 6的默认图形环境为Gnome,只安装了GDM,而CentOS6.0的KDE也是使用GDM而不是KDM。所以CentOS6只需配置GDM(X client一种)。
配置远程linux
(1)打开/etc/inittab文件,将 runlevel 变为5,即修改为id:5:initdefault:如果原来就是5,则不用修改。此处仅为确定开机后用图形界面方式启动。
(2)配置gdm
编辑/etc/gdm/custom.conf,添加如下内容:
[daemon]
RemoteGreeter=/usr/libexec/gdmgreeter 注:“远程登录界面与本地登录界面相同”功能,若没有此项及[greeter]项则登录界面为简洁型
[security]
AllowRemoteRoot=true 注:允许root用户远程登录
[xdmcp]
Enable=true 注:允许远程登录本地,xdmcp默认端口177,此处没有显示的加入Port=177
Port=177
[greeter]
Browser=true 注:远程登录界面为“带头像浏览器的简洁主题”,若定义了[daemon]项本行不起作用
重启服务
(1)开放防火墙中的UDP177端口。若已禁用防火墙,则可跳过此项。
(2)生效前必须重启进程,直接重新启动Linux系统,
VNC SERVER 服务配置
一、安装 VNC
首先检查一下本机是否安装了 VNC,默认情况下,CentOS 6.0 是没有安装的。
检查是否安装,输入:
[root@localhost ~]# rpm -q vnc vnc-server
得到:package vnc is not installed
package vnc-server is not installed 提示没有安装,
那么就开始安装,输入:
[root@localhost ~]# yum install vnc vnc-server
二、设置 VNC 密码
启动 VNC,输入:
[root@localhost ~]# vncserver
此时会提示你输入密码,因为是第一次配置。重复输入两次即可。
三、配置桌面类型
设置一下远程桌面使用那个类型的桌面,分辨率多少等等。输入:
[root@localhost ~]# vi ~/.vnc/xstartup
#!/bin/sh
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"
&
twm &
一般情况下,我们使用的 Linux 桌面都是 "Gnome" 桌面,故配置成这个桌面比较习惯。
按 "i" 键进入编辑状态,主要修改最后两行。改为:
# xterm -geometry 80x24+10+10 -ls -title
"$VNCDESKTOP Desktop" &
# twm &
gnome-session &
一看便知,将配置文件的最后两行注释掉,并且加入了一行代码,表明使用的是 "Gnome" 桌面。
输入完毕,按 "ESC" 键退出编辑状态,再输入:
:wq
"w" 表示写,即保存配置,"q" 表示退出。
四、配置登录帐号、桌面分辨率、连接方式
输入:
[root@localhost ~]# vi
/etc/sysconfig/vncservers
出现如下提示:
# The VNCSERVERS variable is a list of
display:user pairs.
#
# Uncomment the lines below to start a VNC server on display :2
# as my 'myusername' (adjust this to your own). You will also
# need to set a VNC password; run 'man vncpasswd' to see how
# to do that.
#
# DO NOT RUN THIS SERVICE if your local area network is
# untrusted! For a secure way of using VNC, see this URL:
# http://kbase.redhat.com/faq/docs/DOC-7028
# Use "-nolisten tcp" to prevent X connections to your VNC server via
TCP.
# Use "-localhost" to prevent remote VNC clients connecting except
when
# doing so through a secure tunnel. See the "-via" option in
the
# `man vncviewer' manual page.
# VNCSERVERS="2:myusername"
# VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -localhost"
重点编辑最后两行,将这两行注释去掉,得到:
VNCSERVERS="1:root"
VNCSERVERARGS[1]="-geometry 1024x768"
这里是只有一个帐号登录,设置分辨率为1024*768,如果你有多个帐号,则按照下面格式配置。
VNCSERVERS="1:user1 2:user2
3:user3"
VNCSERVERARGS[1]="-geometry 1024×768"
VNCSERVERARGS[2]="-geometry 1024×768"
VNCSERVERARGS[3]="-geometry 800×600 -depth 24 -nolisten tcp -nohttpd
-localhost"
解释一下这个文件:
VNCSERVERS 这一行是配置在系统启动时启动几个 VNC server,上面的例子里运行了三个 VNC server,其中 user1 在 display :1,user2 在 display :2,user3 在 display :3。
VNCSERVERARGS 这三行,分别为 VNC server 1, 2, 3 配置启动参数,上面的例子里对 user1 和 user2 使用屏幕分辨率 1024×768,对 user3 使用 800×600,24 色,不支持 tcp,不支持 http 连接,只能在本地测试访问。
注释:在启动 VNCserver 时,你也可以为 server 指定一个 display 参数。你可以把 display 理解为一个桌面,每个用户都可以有自己的桌面。VNC 客户端在连接时,可以指定连接到哪个桌面上。在系统中,display 号不能重复,也就是说,如果有用户已经建立了名为 ":1" 的 display,另外一个用户就不能再使用 ":1" 了,他可以使用 ":2"。
指定 display 号码的启动 VNC server 的命令是:
vncserver:1
五、配置防火墙,允许 VNC 连接
VNC server 监听的端口从 5900 开始,display:1 的监听 5901,display:2 监听 5902,以此类推。CentOS 的防火墙缺省是不允许连接这些端口的,所以需要使用下面的步骤打开防火墙(需要 root 权限):
输入编辑:
[root@localhost ~]# vi
/etc/sysconfig/iptables
得到:
# Firewall configuration written by
system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
上面我们只添加了一个 root 帐号和桌面 1,所以这里按照上面的规则,添加一个 "5901" 端口号即可。
# Firewall configuration written by
system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5901 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
六、重启防火墙
配置就算完毕了,需要重启一下防火墙才能使最后那个端口号的配置正常。
[root@localhost ~]# /sbin/service iptables
restart
iptables:清除防火墙规则:[确定]
iptables:将链设置为政策 ACCEPT:filter [确定]
iptables:正在卸载模块:[确定]
iptables:应用防火墙规则:[确定]
现在重启防火墙完毕后,你就可以使用 VNC 客户端连接了,连接时候必须注意主机 IP 地址后面必须加桌面号,例如这样连接:
192.168.1.2:1
跟输入端口号是一样的,但是这里是桌面号,记住。
七、设置 VNC 自动启动
虽然上面配置是可以使用了,但是你一旦重启服务器后,VNC 的服务又会停止,得手动来启,不方便,虽说服务器不能老是启动,但是重启的时候还是有的,为了方便,你需要将 VNC 服务设置为自动自动。
方法很多,你可以在图形化的界面下打开服务窗口,然后将 VNC 服务设为自动。既然这里都是在用终端下的命令行形式,就继续沿用这个方式吧。
[root@localhost ~]# chkconfig vncserver on
好了,所有配置完毕,各位可以享用 VNC 带来的远程控制功能了。
由于CentOS 监听端口从5900开始,但是实际监听端口:5901,所以需要OMA运维VNC时修改端口为5901
灰屏解决办法:
1、需关闭防火墙
2、服务器没有安装gonme kde
yum groupinstall "X Window System" "GNOME Desktop Environment"
/sbin/service vncserver restart
CentOS 配置XWIN/VNC的更多相关文章
- (总结)CentOS Linux下VNC Server远程桌面配置详解
一.安装相应桌面环境与vnc服务端和客户端: # yum groupinstall "GNOME Desktop Environment"(CentOS 5.x安装GNOME桌面环 ...
- CentOS Linux下VNC Server远程桌面配置详解
http://www.ha97.com/4634.html PS:偶以前基本不用Linux的远程图形桌面,前几天有开发的同事配置CentOS的vnc有问题,找我解决,就顺便记录总结一下,这个总结是比较 ...
- VNC CentOS Linux下VNC Server远程桌面配置详解
VNC概述 VNC (Virtual Network Console)是虚拟网络控制台的缩写.VNC 是一款优秀的远程控制工具软件,由著名的 AT&T 的欧洲研究实验室开发的.VNC 是在基于 ...
- CentOS下架设VNC服务器
CentOS下架设VNC服务器1.什么是VNC服务器?百度百科:VNC (Virtual Network Computer)是虚拟网络计算机的缩写.它 是一款优秀的远程控制工具软件,由著名的 AT&a ...
- Linux CentOS 配置Tomcat环境
一.下载Tomcat 下载Tomcat方式也有两种,可以参考我的前一篇博文Linux CentOS配置JDK环境,这边就不再赘述. 二.在Linux处理Tomcat包 1.创建tomcat文件夹 mk ...
- Linux下配置一个VNC服务器
在Linux下配置一个VNC服务器,并设置2个用户,要求其中一个用户登录时不需要输入密码. 然后在客户端使用ssh+vncview的方式访问. 1确认vnc安装 2配置vncserver 3测试vnc ...
- CentOS 配置防火墙操作实例(启、停、开、闭端口):
CentOS 配置防火墙操作实例(启.停.开.闭端口): 注:防火墙的基本操作命令: 查询防火墙状态: [root@localhost ~]# service iptables status< ...
- CentOS配置SSH免密码登录后,仍提示输入密码
CentOS配置SSH无密码登录需要3步: 生成公钥和私钥 导入公钥到认证文件,更改权限 测试 1.生成公钥和私钥 ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 默 ...
- CentOS配置ssh无密码登录
CentOS配置ssh无密码登录的注意点 前提配置:使用root登录修改配置文件:/etc/ssh/sshd_config,将其中三行的注释去掉,如下: 然后重启ssh服务:service s ...
随机推荐
- java基础9(IO流)-File类
File类 File:文件和目录路径名的抽象表示形式.即java中把文件或者目录都封装成File对象 代码练习1 import java.io.File; public class FileDemo1 ...
- 如何用wamp配置多域名虚拟目录
一.前言 自从重装了最新版wamp64后就不可用了,下面来介绍我的解决方法,两者均可尝试,差别并不大! 二.配置虚拟主机 1.首先打开apache的配置文件httpd.conf (路径\wamp64\ ...
- JavaWeb -- Jsp中的 EL表达式
lEL 全名为Expression Language.EL主要作用: l获取数据: •EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数据.(某个web ...
- Codeforces Round #280 (Div. 2) D. Vanya and Computer Game 数学
D. Vanya and Computer Game time limit per test 2 seconds memory limit per test 256 megabytes input s ...
- MySql基础学习-总纲
- java: file/outputStream/InputStream 复制文件
java i/o 复制文件 public static void main(String[] args) throws Exception { // TODO 自动生成的方法存根 if(args.le ...
- Enum Binding ItemsSource In WPF
Enum Binding ItemsSource In WPF 在WPF中枚举绑定到ItemsSource. 一.通过ObjectDataProvider 获取Enum数据源 首先我们定义一个En ...
- 习题练习-第1章ASP.NET MVC概述
一.选择题 1.ASP.NET MVC自2007年首次公布预览以来,作为( )的替代品,普及度已明显提高,现在很多大型Web应用程序都是使用这一技术构建的. A.ASP B.ASP.NET ...
- KNN cosine 余弦相似度计算
# coding: utf-8 import collections import numpy as np import os from sklearn.neighbors import Neares ...
- 【WCF】利用WCF实现上传下载文件服务
引言 前段时间,用WCF做了一个小项目,其中涉及到文件的上传下载.出于复习巩固的目的,今天简单梳理了一下,整理出来,下面展示如何一步步实现一个上传下载的WCF服务. 服务端 1.首先新建一个名 ...