当前位置: 首页 > 编程日记 > 正文

远程桌面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处&#xff0c;再搬到0x00000处呢&#xff1f;在机器开机上电时&#xff0c;ROM BIOS将bootsect代码加载到内存的固定位置0x7c00处&#xff0c;…

java jdk 1.8 安装_下载、安装、配置 java jdk1.8

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

liunx php redis扩展,CentOS 7下安装php-redis扩展及简单使用

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

Luogu 2470 [SCOI2007]压缩

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

做图形处理Linux小型主机,8个优秀的linux图形图像工具

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

使用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)

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

java service注入失败,使用spring向service里面注入dao不成功。

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

下面为初学者分享一下SQL 数据库学习资料

一、基础1、说明&#xff1a;创建数据库CREATE DATABASE database-name2、说明&#xff1a;删除数据库drop database dbname3、说明&#xff1a;备份sql server--- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice disk, testBack, c:\mssql7backup\MyNwind_1.dat--- 开…

linux7设置时间,CentOS 7 设置日期和时间

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

SQLMap安装步骤

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

am5718_AM5718如何扩大内存 - Sitara™ Cortex-A8 和 ARM9 微处理器 - Sitara™ Cortex-A8 和 ARM9 微处理器 - E2E™ 中文支持论坛...

谢谢了Shine,你的资料和建议非常到位&#xff0c;按您的建议&#xff0c;修改了board.c以下两处&#xff0c;问题解决了。1&#xff1a;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卖家&#xff0c;那么你可能会错过很多有用的亚马逊listing工具。这些listing工具可以批量上传listing&#xff0c;同时还可以记录产品特征&#xff0c;以及打印运输标签。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 …

后台生成小程序码

工作需要&#xff0c;根据动态参数生成小程序二维码。 找了下开发API &#xff1a;https://developers.weixin.qq.com/miniprogram/dev/api/qrcode.html 选择了B接口&#xff0c;可以无限生成&#xff0c;只是参数有点限制&#xff0c;但是可以满足需求&#xff0c;开搞。 一、…

2017-02-20 注册.Net Framework4.0

在使用IIS发布Web应用程序时&#xff0c;有时会遇到Asp.Net 4.0尚未在Web服务器上注册的问题&#xff0c;需要手动注册下.Net Framework 4.0。 注册.net Framwork4.0 步骤&#xff0c;以windows7系统为例&#xff0c;注册 步骤如下&#xff1a; 64位操作系统&#xff1a; 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变步长仿真与固定步长仿真简单对比

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

JS设计模式(13)状态模式

什么是状态模式&#xff1f; 定义&#xff1a;将事物内部的每个状态分别封装成类&#xff0c;内部状态改变会产生不同行为。 主要解决&#xff1a;对象的行为依赖于它的状态&#xff08;属性&#xff09;&#xff0c;并且可以根据它的状态改变而改变它的相关行为。 何时使用&am…

【转】Mac 程序员的十种武器

http://chijianqiang.baijia.baidu.com/article/3733 上 在写 Mac 程序员的十个武器之前&#xff0c;我决定先讲一个故事&#xff0c;关于 Mac 和爱情的。&#xff08;你们不是问 Mac 和爱情有个鸟关系吗&#xff1f;&#xff09; 从前有一个孩子叫做小明&#xff0c;他不是高帅…

git ignore linux,为什么说.gitignore不能忽视

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

java arcengine_在Java程序中调用ArcEngine

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

matlab 实例均命名为,MATLAB复习题

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

爬虫之Scrapy

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

java 8 lambda reduce_JDK8新特性Lambda表达式体验

“Lambda 表达式”(lambda expression)是一个匿名函数&#xff0c;Lambda表达式基于数学中的λ演算得名&#xff0c;直接对应于其中的lambda抽象(lambda abstraction)&#xff0c;是一个匿名函数&#xff0c;即没有函数名的函数。Java 8的一个大亮点是引入Lambda表达式&#xf…