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。

相关专题

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

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

11

2026.01.19

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

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

71

2026.01.18

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

108

2026.01.16

全民K歌得高分教程大全
全民K歌得高分教程大全

本专题整合了全民K歌得高分技巧汇总,阅读专题下面的文章了解更多详细内容。

152

2026.01.16

C++ 单元测试与代码质量保障
C++ 单元测试与代码质量保障

本专题系统讲解 C++ 在单元测试与代码质量保障方面的实战方法,包括测试驱动开发理念、Google Test/Google Mock 的使用、测试用例设计、边界条件验证、持续集成中的自动化测试流程,以及常见代码质量问题的发现与修复。通过工程化示例,帮助开发者建立 可测试、可维护、高质量的 C++ 项目体系。

58

2026.01.16

java数据库连接教程大全
java数据库连接教程大全

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

44

2026.01.15

Java音频处理教程汇总
Java音频处理教程汇总

本专题整合了java音频处理教程大全,阅读专题下面的文章了解更多详细内容。

20

2026.01.15

windows查看wifi密码教程大全
windows查看wifi密码教程大全

本专题整合了windows查看wifi密码教程大全,阅读专题下面的文章了解更多详细内容。

131

2026.01.15

浏览器缓存清理方法汇总
浏览器缓存清理方法汇总

本专题整合了浏览器缓存清理教程汇总,阅读专题下面的文章了解更多详细内容。

45

2026.01.15

热门下载

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

精品课程

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

共48课时 | 7.4万人学习

Git 教程
Git 教程

共21课时 | 2.8万人学习

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

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