0

0

Linux远程桌面实现步骤

PHP中文网

PHP中文网

发布时间:2017-06-20 11:14:56

|

3142人浏览过

|

来源于php中文网

原创

在机房折磨很久弄好的自己 mark 一下。(测试环境rhel5.5)

vnc 之独立服务配置

步骤一:

(1)查看系统是否安装vnc服务(也可以在 系统-管理员-服务 里查看并勾选开机自启)

# rpm -qa | grep vnc

  (如果有返回值,类似于vnc-server的值,说明已经安装了vnc-server此步骤就可跳过。)

(2)安装vnc:

(进入挂载目录) 
# cd  /rhdvd/Server
    
(安装 vnc-server)
# rpm -ivh vnc-server-4.1.2-14.el5_6.6.x86_64.rpm

(安装 vnc-viewer)
# rpm -ivh vnc-4.1.2-14.el5_6.6.x86_64.rpm
View Code

(3)验证vnc-server包是否安装成功:

 # rpm -qa vnc-server-4(显示 vnc-server-4.1.2-14.el5_6.6)
View Code

 

步骤二:

(1)运行vnc服务

 # vncservers

  (首次运行需要输入vnc密码,此密码为当前用户root的vnc密码) 

(2)添加用户和设置密码并设置vnc密码:

# useradd user001    (添加用户)
# passwd user001    (设置用户密码)
# su - user001    (切换用户)
# vncpasswd    (设置vnc密码,密码文件在 /用户/.vnc/passwd)

  (注意,这里的vncpass只能在vnc本用户下面来运行。比如要是想配置用户名为user001的vnc认证密码,需要先切换到user001用户,之后再运行vncpasswd命令)

(3)重复建立user002、user003.......

 

步骤三:

  在配置VNC前,必须了解VNC的运行机制

  Linux下的VNC可以同时启动多个vncserver,各个vncserver之间用显示编号(display number)来区分,每个vncserver服务监听3个端口,它们分别是:

  HTTP协议默认端口 5800+显示编号 : VNC的http监听端口,如果VNC客户端为IE,Firefox等非vncviewer时必须开放。 

  RFB协议默认端口 5900+显示编号   : VNC服务端与客户端通信的真正端口,必须无条件开放。

  X协议默认端口 6000+显示编号       : X监听端口,可选。

  显示编号、开放的端口分别由/etc/sysconfig/vncservers文件中的VNCSERVERS和VNCSERVERARGS控制。

(1)配置vnc服务的配置文件

 # 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
# .# Use "-nolisten tcp" to prevent X connections to your VNC server via TCP.

# Use "-nohttpd" to prevent web-based VNC clients connecting.

# 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 -nohttpd -localhost"VNCSERVERS="1:user001 2:user002 3:user003 4:user004"    (添加)
VNCSERVERARGS[1]="-geometry 1366x768 -AlwaysShared"    (添加)
VNCSERVERARGS[2]="-geometry 1366x768 -AlwaysShared"    (添加)
VNCSERVERARGS[3]="-geometry 1366x768 -AlwaysShared"    (添加)
VNCSERVERARGS[4]="-geometry 1366x768 -AlwaysShared"    (添加)
View Code

  说明:【1】VNCSERVERS=后面可以支持多用户,以空格隔开,数字为端口号即桌面号。

     【2】VNCSERVERARGS后面的[]里面的数据要与VNCSERVERS后面对应用户的值要一致。VNCSERVERARGS基本参数有:

MATLAB与VB混合编程技术研究 WORD版
MATLAB与VB混合编程技术研究 WORD版

本文档主要讲述的是MATLAB与VB混合编程技术研究;着重探讨了在VB应用程序中集成MATLAB实现程序优化的四种方法,即利用Matrix VB、调用DLL动态链接库、应用Active自动化技术和动态数据交换技术,并分析了集成过程中的关键问题及其基本步骤。这种混合编程实现了VB的可视化界面与MATLAB强大的数值分析能力的结合。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看

下载
 -geometry 桌面大小,缺省是1024x768分辨率-nohttpd  不监听HTTP端口,58xx端口(建议不写) -nolisten tcp 不监听X端口,60xx端口(建议不写) -localhost  只允许从本机访问(不写)-SecurityTypes None 登录不需要密码认证VncAuth,默认要密码认证-depth  表示色深,参数有8,16,24,32-AlwaysShared 默认只能有一个vncviewer连接(跟客户端配置也有关),一旦第2个连上去,第1个就被断开了,此参数允许同时连多个vncviewer
View Code

 

步骤四:

(1)启动vncserver

# service vncserver start    (即时开启服务并生效)
# /etc/init.d/vncserver start

# service vncserver stop    (即时关闭服务并生效)
# /etc/init.d/vncserver stop

# chkconfig vncserver on   (将vncserver设置为开机启动,重启生效)

# chkconfig vncserver off   (将vncserver设置为开机不启动,重启生效)

 

步骤五:

(1)配置VNC图形桌面环境

  vnc都配置完毕并且正常运行,但是用VNC-Viewer登录后显示的屏幕却为灰色(也有黑色的),并且无法进行任何操作。

  原来VNC xstartup程序中默认的设定值是启动twm,而不是GNOME或KDE。

  【1】修改xstart文件:

 # vi /home/用户/.vnc/xstartup    (root用户为 /root/.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" &    (注解此行)
gnome-session &    (添加)
# twm &    (注解此行)
View Code

  说明: 也可只注解最后一行 twm & ,并添加一行 gnome-session &。

      也可只去掉3、4句注解。

      最好方式是都改一下。

  【2】修改完需重启vncserver:

# service vncserver restart    (重启全部vnc桌面,不建议用此条命令)
# vncserver -kill :1    (停止第一个桌面)
# vncserver :1    (启动第一个桌面)

 

步骤六:

(1)配置防火墙

# vi /etc/sysconfig/iptables

  内容如下:

# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]-A INPUT -j RH-Firewall-1-INPUT-A FORWARD -j RH-Firewall-1-INPUT-A RH-Firewall-1-INPUT -i lo -j ACCEPT-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT-A RH-Firewall-1-INPUT -p 50 -j ACCEPT-A RH-Firewall-1-INPUT -p 51 -j ACCEPT-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5901 -j ACCEPT    (添加)-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5902 -j ACCEPT    (添加)-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5903 -j ACCEPT    (添加)-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5904 -j ACCEPT    (添加)-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
View Code

  也可关闭防火墙(不建议):

# service iptables stop    (即时关闭防火墙,重启失效)

# chkconfig iptables off    (永久关闭防火墙,重启有效)
View Code

 

步骤七:

192.168.10.131:1——这里的:1就是端口号,指的是5900+1,这个1是在/etc/sysconfig/vncservers里面指定的。
     这个数字在100以下,不含100的时候可以直接用192.168.10.131:1来表示。
     如果在vncservers里面指定的数值大于100 包含100的时候,在连接的时候就需要用到完整的端口数值。
     如:在vncservers里面指定的是100,那么在连接的时候就应该是这样的:192.168.10.131:6000。

相关专题

更多
云朵浏览器入口合集
云朵浏览器入口合集

本专题整合了云朵浏览器入口合集,阅读专题下面的文章了解更多详细地址。

0

2026.01.20

Java JVM 原理与性能调优实战
Java JVM 原理与性能调优实战

本专题系统讲解 Java 虚拟机(JVM)的核心工作原理与性能调优方法,包括 JVM 内存结构、对象创建与回收流程、垃圾回收器(Serial、CMS、G1、ZGC)对比分析、常见内存泄漏与性能瓶颈排查,以及 JVM 参数调优与监控工具(jstat、jmap、jvisualvm)的实战使用。通过真实案例,帮助学习者掌握 Java 应用在生产环境中的性能分析与优化能力。

20

2026.01.20

PS使用蒙版相关教程
PS使用蒙版相关教程

本专题整合了ps使用蒙版相关教程,阅读专题下面的文章了解更多详细内容。

62

2026.01.19

java用途介绍
java用途介绍

本专题整合了java用途功能相关介绍,阅读专题下面的文章了解更多详细内容。

87

2026.01.19

java输出数组相关教程
java输出数组相关教程

本专题整合了java输出数组相关教程,阅读专题下面的文章了解更多详细内容。

39

2026.01.19

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

10

2026.01.19

xml格式相关教程
xml格式相关教程

本专题整合了xml格式相关教程汇总,阅读专题下面的文章了解更多详细内容。

13

2026.01.19

PHP WebSocket 实时通信开发
PHP WebSocket 实时通信开发

本专题系统讲解 PHP 在实时通信与长连接场景中的应用实践,涵盖 WebSocket 协议原理、服务端连接管理、消息推送机制、心跳检测、断线重连以及与前端的实时交互实现。通过聊天系统、实时通知等案例,帮助开发者掌握 使用 PHP 构建实时通信与推送服务的完整开发流程,适用于即时消息与高互动性应用场景。

19

2026.01.19

微信聊天记录删除恢复导出教程汇总
微信聊天记录删除恢复导出教程汇总

本专题整合了微信聊天记录相关教程大全,阅读专题下面的文章了解更多详细内容。

160

2026.01.18

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.5万人学习

Git 教程
Git 教程

共21课时 | 2.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号