【主机】vnc 介绍以及安装时注意的问题

简介: Linux下Vnc远程桌面Server配置教程http://www.aiezu.com/Article/Linux_Vnc_Server_conf.aspx用VNC实现远程桌面共享(支持Windows, Linux,.
Linux下Vnc远程桌面Server配置教程
http://www.aiezu.com/Article/Linux_Vnc_Server_conf.aspx
用VNC实现远程桌面共享(支持Windows, Linux,...)
http://easwy.com/blog/archives/linux-remote-desktop-by-vnc/
# [ 原理 ]# 
#--------------------------------------------
VNC,全称为Virtual Network Computing,使用 RFB(Remote FrameBuffer,远程帧缓冲)
协议来实现远程控制另外一台计算机。把键盘、鼠标动作发送到远程计算机,并把远程计算机的屏幕发回到本地
VNC技术与平台无关,VNC Viewer可以和VNC Server在不同的操作系统上
VNC几乎支持所有的操作系统,也支持Java,甚至可以通过支持Java的浏览器来访问VNC Server

多个 VNC 客户端可以同时连接到一个 VNC Server
显示编号(display number)来区分,每个vncserver服务监听3个端口,分别是:

5800+显示编号:  VNC的httpd监听端口,如果VNC客户端为IE,Firefox等非vncviewer时必须开放。
5900+显示编号:  VNC服务端与客户端通信的真正端口,必须无条件开放。
6000+显示编号:  X监听端口,可选。

首先需要配置 VNC 密码,密码在使用客户端连接服务器时使用
注意:VNC 密码保存在用户的主目录中,每个用户都可以设置自己的密码
因此,请使用你的用户名(尽量不要使用root)运行下列命令:

在启动VNC server时,需要为 server指定一个display参数
可以把display理解为一个桌面,每个用户都可以有自己的桌面,在系统中,display号不能重复
VNC server监听的端口从5801开始,display :1的监听5801,display :2监听5802,以此类推
# [ /etc/sysconfig/vncservers ]# {{{
#--------------------------------------------
显示编号、开放的端口分别由
/etc/sysconfig/vncservers 文件中 VNCSERVERS 和 VNCSERVERARGS 控制
VNCSERVERS的设置方式为
VNCSERVERS="显示编号1:用户名1 …",如:VNCSERVERS="1:root 2:aiezu"
VNCSERVERARGS 设置方式为
VNCSERVERARGS[显示编号1]="参数一 参数值一 参数二 参数值二  ……"
如VNCSERVERARGS[2]="-geometry 800x600 -nohttpd"

VNCSERVERARGS的详细参数有:
-geometry           桌面分辨率,默认1024x768;
-nohttpd            不监听HTTP端口(58xx端口);
-nolisten tcp       不监听X端口(60xx端口);
-localhost          只允许从本机访问;
-AlwaysShared       默认只同时允许一个vncviewer连接,此参数允许同时连多个vncviewer;
-SecurityTypes None 登录不需要密码认证VncAuth默认值,要密码认证。
# vi /etc/sysconfig/vncserver
    VNCSERVERS="1:root 2:oracle" 
    VNCSERVERARGS[1]="-geometry 1024x768 -nolisten tcp" 
    VNCSERVERARGS[2]="-geometry 1024x768 -nolisten tcp" 
# [ 设置用户登录密码 / 生成用户配置文件 ]# {{{
#--------------------------------------------
设置VNC用户密码:
# XXX 此步不可跳过放在后面操作,否则VNC Server将无法启动
# su - ink
# vncpasswd  
Password:
Verify:
# su - root  
# vncpasswd  
Password:  
Verify: 
# [ 启动 vncserver ]
#--------------------------------------------
    # service vncserver start
运行上面命令后,分别会在用户根目录($HOME)下的".vnc"文件夹下生成一系列文件
其中passwd为vnc用户密码文件,由vncpasswd生成。xstartup为VNC客户端连接时启动的脚本
启动VNC server的命令是:
vncserver
# vncserver
New 'localhost.localdomain:1 (root)' desktop is localhost.localdomain:1
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/localhost.localdomain:1.log

# [ 自定义 xstartup ]#
#--------------------------------------------

修改".vnc/xstartup"文件
vncserver 默认使用的窗口管理器是 twm
编辑这个文件:.vnc/xstartup
#!/bin/sh  
# Uncomment the following two lines for normal desktop:  
# unset SESSION_MANAGER  
# exec /etc/X11/xinit/xinitrc  
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup  
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources  
xsetroot -solid grey  
vncconfig -iconic &  
#xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &  --可以要可以不要
#twm &
# gnome-session & 

重启 vncserver 使配置生效

# }}}

# [ 配置防火墙 ]#
#--------------------------------------------
必须允许VNC的相关端口(58xx,59xx,60xx)
vi /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 5900:5903 -j ACCEPT
允许其它机器访问本机的5900到5903端口,这样,display:1, display:2, display:3 用户就可以连接到本机
我的是 -A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 5801:6003 -j ACCEPT
安装vnc时,要检查一下iptables的设置,如果没有开放vnc端口的访问,是连接不上的,而且vnc客户端会提示 failed connection:操作成功完成!(0)这样的错误提示!
#-------------------------------------------
在windows下使用vncviewer+putty.exe通过ssh安全通道连接:
打开putty,在左边的"Category"中依次点"Connection"->"SSH"->"Tunnels"
在"Source Port"文本框中输入"5901","Destination"文本框中输入"localhost:5901"
点击"Add,添加端口转发。然后在putty左边的"Category"下点"Session"
输入服务器的IP地址后,点"Open"按钮,输入密码登陆后,既成功启用了端口转发
接着在本机打开vncviewer输入"127.0.0.1:5901"即可成功连接到远程的5901端口
在Linux下使用vncviewer+ssh安全通道连接:
与④类似,在linux vnc客户端shell下运行"ssh -L 5901:localhost:5901 vncserverhost"命令
输入用户名密码。即完成通过shh安全通道,将远程的5901端口转发到本机的5901端口
然后在shell下运行"vncviewer 127.0.0.1:1"命令即可以连接到远程的VNC Server
#

#--------------------------------------------
查看VNC正在运行的显示编号端口号?
答:在Linux命令提示符下执行"netstat -tlup|grep vnc",即可以查看到端口号,端口号后两位即显示编号
如何关闭指定的显示编号?
答:vncserver -kill :number 即可以关闭指定的显示编号和对应的端口号
在通过VNC连接的图形界面桌面启动X应用时出现:"Error: Can't open display: :0.0"错误?
答:请使用"echo $DISPLAY"命令查看"DISPLAY"坏境变量是否设置为":显示编号:0",如:":1:0"
如果不是此形式,启动X应用时会出现此错误。此时可以通过"export DISPLAY=:1:0"设置正确的DISPLAY
还有一种可能就是切换了用户启动X应用,当前用户没有权限使用X窗口,这时返回到启用VNC的用户
运行"xhost +"允许其他用户访问此X窗口即可
如果配置完成后出现能够通过键盘输入数字,但是不能输入字符的情况,就要看看你的客户端的输入法的设置是否和服务器端的设置是否一致。一般两端都要是英文的!
目录
相关文章
|
1月前
|
网络协议 安全 Linux
Kali安装Xrdp结合内网穿透实现无公网ip远程访问系统桌面
Kali安装Xrdp结合内网穿透实现无公网ip远程访问系统桌面
|
6月前
|
安全 Linux
Linux安装Telnet
Linux安装Telnet
66 0
|
1月前
|
Ubuntu 网络协议 数据安全/隐私保护
使用VNC远程桌面Ubuntu【内网穿透实现公网远程】
使用VNC远程桌面Ubuntu【内网穿透实现公网远程】
|
7月前
|
网络协议 安全 Linux
Linux安装telnet
Linux安装telnet
146 0
|
Linux 网络安全 开发工具
centos7系列安装vnc服务并且使用vnc客户端连接
centos7系列安装vnc服务并且使用vnc客户端连接
470 0
centos7系列安装vnc服务并且使用vnc客户端连接
|
Web App开发 Oracle 网络协议
【VNC】Linux环境VNC服务安装、配置与使用
前言:作为一名DBA,在创建Oracle数据库的过程中一般要使用dbca和netca图像化进行建库和创建监听(如果使用脚本建库另说),如果您身体好估计可以在瑟瑟发抖的机房中完成数据库的创建过程,由于本人对寒冷比较敏感,又不想通过这样的方式锻炼身体,所以更愿意在舒适的房间内一边品味着咖啡的浓香,顺便度过相对枯燥的数据库安装和配置的过程,So,图形化操作工具是必不可少的,在Linux操作系统最流行的图形化操作软件莫过于VNC,俺本着总结、共享及提醒的目的完成了这个详细的小文儿,希望大家喜欢。 1.确认VNC是否安装 默认情况下,Red Hat Enterprise Linux安装程序会将VNC
1814 0
|
Ubuntu Shell 开发工具
Ubuntu系统安装VNC虚拟网络控制台
Ubuntu系统安装VNC虚拟网络控制台
Ubuntu系统安装VNC虚拟网络控制台
|
Linux 网络安全
CentOS服务器安装Telnet来远程连接服务器
0、目录  整体架构目录:ASP.NET Core分布式项目实战-目录 一、前言  在连接远程服务器时有很多种连接方式,如SSH、telnet、SFTP等。但是如果大家在docker上面安装gitlab做为代码管理器的话,那么gitlab就会占用服务器的22端口,恰巧22端口又是SSH的22端口,为了能让gitlab顺利运行我们需要22端口,因此需要把SSH远程 连接22端口停止,但这样导致我无法使用xshell工具来连接服务器,因此需要安装其他的远程连接工具。
1187 0