远程桌面linux服务器配置,linux平台下远程桌面服务器的安装和设置
一、xdm 方式
前提:安装linux时一定要选上xwindow,这是最基本的前提,不安装它,是绝对没有图形界面的。
**********************************************************
基本概念和相关命令说明:XDMCP(X Display Manager Control Protocol),X显示监控协议;
xdm(manages a collection of X displays),显示管理集。 ubuntu 9.04上没有xdm 只有gdm
路径在:/etc/X11/xdm下几个文件:
Xaccess 访问控制文件;
Xservices 本地显示或远程显示配置文件;
xdm-config xdm的主要配置文件。
**********************************************************
配置Linux:
使用root用户登录系统,做如下配置
Step1:
:~# gedit /etc/gdm/gdm.conf
[xdmcp]
Enable=true
DisplaysPerHost=10
Port=177
[security]
# Allow root to login. It makes sense to turn this off for kiosk use, when
# you want to minimize the possibility of break in.
AllowRoot=true
# Allow login as root via XDMCP. This value will be overridden and set to
# false if the /etc/default/login file exists and contains
# "CONSOLE=/dev/login", and set to true if the /etc/default/login file exists
# and contains any other value or no value for CONSOLE.
AllowRemoteRoot=true
Step2:
# gdm
运行gdm脚本,这样使用xmanager等工具就可以连接Linux了。
Step3:
如果想要每次启动自动启动xdm,那么请在/etc/rc.d/rc.local文件尾部加入/usr/sbin/gdm
注:你们的gdm脚本路径可能会和我的不一样,用which gdm查找即可!
测试 :
sudo service gdm start
windows 下测试:
安装xmanager for windows 会在桌面上产生 一个 Xmanager 文件夹,打开里面的 Xbrowser 软件会自动在子网内扫描,如果发现可用的xdm服务器,会自动显示,如果没有找到请自行检查。
注意:最好不要将xdm服务器直接连接到路由器、防火墙上,那样会抛弃UDP广播包,造成不能访问。
linux下测试:
“应用程序”-->“ internet ”-->“ 终端服务器客户端”
“计算机” 输入IP地址 “协议” 选择 XDMCP
注意:XDMCP在安装过Xnest后才可选 Xnest安装如下:
sudo apt-get install xnest
登陆后会提示输入用户名和密码,如果长时间未出现,则说明无法连接到xdm服务器。
如果网络之间能ping通,那最大的可能就是因为接在了路由器或是防火墙上,造成UDP广播包被抛弃。
二、XDRP 方式
1、一般来说,连接linux都是用ssh 但是ssh没有图形显示功能,只能在字符下工作,今天为让linux 提供图形界面的远程功能,在linux中实现类似windows的远程桌面功能,因为不想让登陆的时候能使用ssh的22端口上传文件,所以否定了使用ssh 22端口的软件。找了几款软件,比如vnc、xmanager 、X-win32等
2、vnc要使用端口号加屏幕号的形式,在有很多用户要使用时,配置vnc和防火墙都是很麻烦的事。
3、xmanager 因为要使用到UDP广播,无法在多个子网间布署,X-win32是收费软件,最新版本 x-win100-1155sf 用起来相当的慢。相比较之下,xrdp最好用了。
软件安装和设置
4、 请注意,在安装之前请确保系统安装了如下软件:如果没有安装 请自行安装,centos 可以用yum方式
gcc
make
libtool
pam
pam-devel
openssl
openssl-devel
vnc服务端程序
tigervnc tigervnc-server (这是centos6自带的vnc程序)
5、下载 xrdp程序
如果是debian系发行版,可以设置好源后直接apt-get install xrdp
如果是redhat系发行版,可以到http://www.xrdp.org/下载源码安装包
6、安装
我下载的是最新的 xrdp-v0.6.0.tar.gz 安装方法如下tar zxvf xrdp-v0.6.0.tar.gz -C /usr/local/src
cd xrdp-v0.6.0
./bootstrap 注意 这里要libtool, 如果系统没安装会报错的
./configure
make
make install
7、启动程序
/usr/local/src/xrdp-v0.6.0/instfiles/xrdp.sh start 启动
/usr/local/src/xrdp-v0.6.0/instfiles/xrdp.sh stop 关闭
8、开机自启动
echo " /usr/local/sbin/xrdp" >>/etc/rc.local
9、修改配置文件
xrdp的配置文档在/etc/xrdp目录下的xrdp.ini和sesman.ini
vi /etc/xrdp/xrdp.ini xrdp.ini 关键部分在globals
[globals]
bitmap_cache=yes 位图缓存
bitmap_compression=yes 位图压缩
port=3389 监听端口
crypt_level=low 加密程度(low为40位,high为128位,medium为双40位)
channel_code=1 不知道是什么
sudo vi /etc/xrdp/sesman.ini
[Globals]
ListenAddress=127.0.0.1 监听ip地址(默认即可)
ListenPort=3350 监听端口(默认即可)
EnableUserWindowManager=1 1为开启,可让用户自定义自己的启动脚本
UserWindowManager=startwm.sh
DefaultWindowManager=startwm.sh
[Security]
AllowRootLogin=1 允许root登陆
MaxLoginRetry=4 最大重试次数
TerminalServerUsers=tsusers 允许连接的用户组(如果不存在则默认全部用户允许连接)
TerminalServerAdmins=tsadmins 允许连接的超级用户(如果不存在则默认全部用户允许连接)
[Sessions]
MaxSessions=10 最大会话数
KillDisconnected=0 是否立即关闭断开的连接(如果为1,则断开连接后会自动注销)
IdleTimeLimit=0 空闲会话时间限制(0为没有限制)
DisconnectedTimeLimit=0 断开连接的存活时间(0为没有限制)
[Logging]
LogFile=./sesman.log 登陆日志文件
LogLevel=DEBUG 登陆日志记录等级(级别分别为,core,error,warn,info,debug)
EnableSyslog=0 是否开启日志
SyslogLevel=DEBUG 系统日志记录等级
装好后,我们就可以直接从win系统下利用mstsc直接进行登陆,相当方便,如果是linux,可以用rdesktop。
9、netstat -tlnup 查看3389端口和3350端口有没有启动
10、解决键盘混乱问题
gconftool-2 –type list –list-type=string –set /desktop/gnome/peripherals/keyboard/kbd/layouts [damnlayouts]
11、解决登陆后不支持中文问题
sudo vim /etc/xrdp/startwm.sh
打开这个文件后添加下面的语句
#!/bin/sh
export LC_ALL=zh_CN.UTF-8
. /etc/X11/Xsession "这句是默认就有的三、测试
1、新建一个用户组 将需要登陆的用户加入到这个组里。
sudo groupadd tsusers
2、 windows 下的测试
使用远程桌面连接应用程序”-->“ internet ”-->“终端服务客户端”
或是 sudo rdesktop
login to xrdp 界面中的“ module ”填写 “ sesman-Xvnc ”、“username ”填写用户名、“ password ”填写密码
3、linux 下的测试
使用“应用程序”-->“ internet ”-->“终端服务客户端”
或是 sudo rdesktop IP地址或是 sudo rdesktop
login to xrdp 界面中的“ module ”填写 “ sesman-Xvnc ”、“username ”填写用户名、“ password ”填写密码。
现在让我们体验linux的远程桌面吧。
四、注意
需要注意的是,重启Ubuntu系统后,需要手动启动XRDP服务。如果启动时出现“It looks like XRDP is already running...”这样的提示,那是因为XRDP服务的进程标识文件“xrdp.pid”没有被删除,这时可以输入命令:“sudo rm /var/run/xrdp/xrdp.pid”删除该文件后再启动XRDP服务即可。
相关文章:

关于字符串的分割问题
1、如何快速的将一个字符串分割成一个个字符? Scanner scnew Scanner(System.in);System.out.println("请输入一个字符串:");String strsc.next();System.out.println("输入的字符串的长度为:"str.length());char [] ast…

java创建对象_java 创建对象的五种方式
通过 Class 对象的 getConstructor 可以获取 java.lang.reflect.Constructor 对象Constructor 对象用来描述类的构造方法,通过给 getConstructor 方法传入不同的 Class 对象,可以获取到对应的无参或有参数的构造方法通过 Constructor 的 newInstance 方法…

php拍照从手机相册中选择,微信js-sdk预览图片接口及从拍照或手机相册中选图接口用法示例...
本文实例讲述了微信js-sdk预览图片接口及从拍照或手机相册中选图接口用法。分享给大家供大家参考,具体如下:目前中js-sdk 1.0版本中,预览图片提供了2个接口,接口的定义参考官方文档1.预览网络图片http链接的2.预览本地图片wenxin:…

BZOJ 1124: [POI2008]枪战Maf(构造 + 贪心)
题意 有 \(n\) 个人,每个人手里有一把手枪。一开始所有人都选定一个人瞄准(有可能瞄准自己)。然后他们按某个顺序开枪,且任意时刻只有一个人开枪。 因此,对于不同的开枪顺序,最后死的人也不同。 问最后死的…

Maven跳过测试
Maven跳过测试用例 在properties中声明<properties><maven.test.skip>true</maven.test.skip> </properties> 或者 <properties><skipTests>true</skipTests> </properties> 在执行命令中声明mvn test -Dmaven.test.skiptrue …

Linux内核 题目,《Linux内核完全注释》部分习题答案
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼第3章 内核引导和启动过程2.为什么不直接将system模块搬到0x00000处而是先搬到0x10000处,再搬到0x00000处呢?在机器开机上电时,ROM BIOS将bootsect代码加载到内存的固定位置0x7c00处,…

java jdk 1.8 安装_下载、安装、配置 java jdk1.8
近期配置react native的开发环境,所以就从配置环境开始。rn的环境配置有那么几项,其中重要的一个就是java jdk(Java Development Kit 的缩写),那么以下就是下载、安装还有配置的流程1.下载java jdk 1.8在地址栏输入 java jdk,如下图所示&…

liunx php redis扩展,CentOS 7下安装php-redis扩展及简单使用
前言:在本篇文章中,我将给大家介绍如何在CentOS7上安装PHP-Redis扩展以及一些简单的实用,关于如何在Centos上安装redis的,可以参考想要在php中操作redis,那就必须安装php-redis扩展,就比如MySQL一样&#x…

Luogu 2470 [SCOI2007]压缩
和Luogu 4302 [SCOI2003]字符串折叠 差不多的想法,区间dp 为了计算方便,我们可以假设区间[l, r]的前面放了一个M,设$f_{i, j, 0/1}$表示区间$[i, j]$中是否存在M 因为这题只能是二的幂次倍压缩,所以转移的时候枚举中点chk是否合法…

做图形处理Linux小型主机,8个优秀的linux图形图像工具
对艺术家、摄影师、动画师和设计师而言,Linux是一个有潜力的平台。廉价的硬件,优秀的免费软件,任何有才华的人都能在上面创作专业水平的计算机图形。开源社区提供了丰富的开源图形工具,但要慧眼识珠并非易事。这里介绍的优秀图形工…

使用laravel框架的eloquent\DB模型连接多个数据库
1、配置.env文件 DB_HOST_TRAILER127.0.0.1DB_PORT_TRAILER3306DB_DATABASE_TRAILERhtms_trailerDB_USERNAME_TRAILERrootDB_PASSWORD_TRAILER DB_HOST_FREIGHT127.0.0.1DB_PORT_FREIGHT3306DB_DATABASE_FREIGHThangli_saasDB_USERNAME_FREIGHTrootDB_PASSWORD_FREIGHT 2、配置…

java openfile busy_android java.io.IOException: open failed: EBUSY (Device or resource busy)
今天遇到一个奇怪的问题,测试在程序的下载界面,下载一个文件第一次下载成功,删除后再下载结果下载报错,程序:file.createNewFile();报错:java.io.IOException: open failed: EBUSY (Device or resource bus…

java service注入失败,使用spring向service里面注入dao不成功。
使用spring向service里面注入dao不成功。求救啊!本帖最后由 PaperStar 于 2013-12-26 19:29:20 编辑页面调用action,action调用service,service调用dao用Debug查看action调用service方法时service有值,但是service调用dao时&#…

下面为初学者分享一下SQL 数据库学习资料
一、基础1、说明:创建数据库CREATE DATABASE database-name2、说明:删除数据库drop database dbname3、说明:备份sql server--- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice disk, testBack, c:\mssql7backup\MyNwind_1.dat--- 开…

linux7设置时间,CentOS 7 设置日期和时间
现代操作系统分为以下两种类型的时钟:实时时钟(Real-Time Clock,RTC),通常称为硬件时钟(一般是系统主板上的集成电路),它完全独立于操作系统的当前状态,即使在计算机关闭时也能运行。系统时钟,也称为软件时…

SQLMap安装步骤
SQLMap是利用Python语言写的,所以需要将Python这个语言环境给安装上 : 1、首先下载Python(这里Python版本为2.7.2,可以下载不同或高版本的) 2、然后在下载sqlmap(http://sqlmap.org) 3、这两个软件下载完成后ÿ…

am5718_AM5718如何扩大内存 - Sitara™ Cortex-A8 和 ARM9 微处理器 - Sitara™ Cortex-A8 和 ARM9 微处理器 - E2E™ 中文支持论坛...
谢谢了Shine,你的资料和建议非常到位,按您的建议,修改了board.c以下两处,问题解决了。1:board/ti/am57xx/board.c文件static const struct dmm_lisa_map_regs am571x_idk_lisa_regs {.dmm_lisa_map_3 0x80640100,.is_ma_present…

亚马逊刊登php代码,最全的亚马逊刊登listing工具了解一下
如果你是亚马逊FBA卖家,那么你可能会错过很多有用的亚马逊listing工具。这些listing工具可以批量上传listing,同时还可以记录产品特征,以及打印运输标签。1、易仓刊登系统易仓刊登系统是一款易仓基于已有ERP客户需求研发的一套平台产品刊登系…

linux重命名tar命令,linux常用操作指令4 —— 文件操作相关命令(mkdir、touch、rm、mv、cp、cat 、 find 、tar、chmod)...
文件操作相关命令文件操作相关命令1、创建文件夹mkdir2、创建文件touch3、移动文件夹mv(类似于剪切)4、删除rm5、重命名mv6、复制cp7、查看文件(cat、head、tail..)8、查找文件 find (重要)9、归档压缩tar10、修改文件权限chmod参考文件操作相关命令1、创建文件夹mkdir# mkdir …

后台生成小程序码
工作需要,根据动态参数生成小程序二维码。 找了下开发API :https://developers.weixin.qq.com/miniprogram/dev/api/qrcode.html 选择了B接口,可以无限生成,只是参数有点限制,但是可以满足需求,开搞。 一、…
2017-02-20 注册.Net Framework4.0
在使用IIS发布Web应用程序时,有时会遇到Asp.Net 4.0尚未在Web服务器上注册的问题,需要手动注册下.Net Framework 4.0。 注册.net Framwork4.0 步骤,以windows7系统为例,注册 步骤如下: 64位操作系统: 1. …

java字符存储,在什么编码是Java字符存储在?
Is the Java char type guaranteed to be stored in any particular encoding?Edit: I phrased this question incorrectly. What I meant to ask is are char literals guaranteed to use any particular encoding?解决方案"Stored" where? All Strings in Java …

matlab 仿真步长,MATLAB Simulink变步长仿真与固定步长仿真简单对比
今天晚上翻了一下资料发现,关于变步长以及固定步长仿真的理解我之前是由错误理解的。当时没有做什么认真的思考活着尝试就自己给自己下了一个结论:变步长仿真会比较精确,但是可能会消耗更多的计算机资源!错!大错特错&a…

JS设计模式(13)状态模式
什么是状态模式? 定义:将事物内部的每个状态分别封装成类,内部状态改变会产生不同行为。 主要解决:对象的行为依赖于它的状态(属性),并且可以根据它的状态改变而改变它的相关行为。 何时使用&am…

【转】Mac 程序员的十种武器
http://chijianqiang.baijia.baidu.com/article/3733 上 在写 Mac 程序员的十个武器之前,我决定先讲一个故事,关于 Mac 和爱情的。(你们不是问 Mac 和爱情有个鸟关系吗?) 从前有一个孩子叫做小明,他不是高帅…

git ignore linux,为什么说.gitignore不能忽视
我注意到很多开发者没有使用 .gitignore 文件,尽管使用 .gitignore 文件来指定你不希望 Git 在版本控制中跟踪的文件是最佳实践之一。.gitignore 可以提高代码质量,所以你不应该忽略版本库中的 .gitignore。什么是 .gitignore?Git 仓库中的文件可以是&a…

java arcengine_在Java程序中调用ArcEngine
ArcEngine一般在C#中用的比较多,不过esri也是为Java提供了AE的类库的,不过文档确实没做的C#那么好。下面我记录一下如何在项目中配置使用AE的环境。第一步:将arcobject.jar包加到build path下;第二步:要使用AE…

matlab 实例均命名为,MATLAB复习题
第一章MATLAB 概述1、标点符号( ; )可使命令行不显示运算结果,( % )用来表示该行是注释行。(常用标点符号的功能见P9)2、用“format”命令设置数据输出形式,(format long )将pi 显示为3.14159265358979,(format short e )将pi 显示…

爬虫之Scrapy
Scrapy初步 Scrapy基于Twisted设计实现,Twisted的特殊特性是以事件驱动,并且对于异步的支持性很好,集成了高性能的异步下载,队列,分布式,持久化等。 Scrapy的安装 在Linux中可以直接在命令行中输入…

java 8 lambda reduce_JDK8新特性Lambda表达式体验
“Lambda 表达式”(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction),是一个匿名函数,即没有函数名的函数。Java 8的一个大亮点是引入Lambda表达式…