使用xrdp实现Windows 远程桌面linux

2023-05-16

一般情况下我们用ssh客户端远程登陆Linux系统,至于图形界面下的Linux远程登陆工具,我们一般都会想到vnc,但它的安全性不够,在这里,我将介绍XRDP的安装配置方法。我们可以很方便的通过Windows远程桌面Ubuntu Linux。

xrdp安装配置方法
打开终端:依次安装

sudo apt-get install xrdp

sudo apt-get install vnc4server tightvncserver

设置xrdp
echo "gnome-session --session=gnome-classic" > ~/.xsession

该命令的作用是由于安装了 gnome桌面,ubuntu12.04中同时存在unity、GNOME多个桌面管理器,需要启动的时候指定一个,不然

即使远程登录验证成功以后,也只是背景。

xrdp的配置文档在/etc/xrdp目录下的xrdp.ini和sesman.in,一般选择默认。

重启 xrdp
sudo /etc/init.d/xrdp restart

运行Windows的mstsc

即windows 远程桌面,打开输入远程的Ip,连接,输入用户密码 即可远程linux.

遇到的错误
1,xrdp 访问 ubuntu 只看到背景,看不到菜单栏的解决办法

方法:安装gnome-panel
sudo apt-get install gnome-panel

2,Failed to load session "gnome"

桌面用 ubuntu-2d 试下

键入命令:echo "gnome-session –session=ubuntu-2d" > ~/.xsession ,然后重启xrdp。

3,出现错误:

connecting to sesman ip 127.0.0.1 port 3350
sesman connect ok
sending login info to sesman
login successful for display 14
started connecting
connecting to 127.0.0.1 5914
error - problem connecting

xrdp-sesman.log下错误为:


[INFO ] starting Xvnc session...
[ERROR] X server for display 10 startup timeout[INFO ] starting xrdp-sessvc - xpid=2924 - wmpid=2923
[ERROR] X server for display 10 startup timeout
[ERROR] another Xserver is already active on display 10
[DEBUG] aborting connection...
如果你的log也有类似 X server for display 10 startup timeout和another Xserver is already active on display 10

问题根源在于tightvnc,出现问题的版本跟X字体有冲突,导致连接Xserver出错。

解决方法:

apt-get purge tightvnc xrdp
apt-get install tightvncserver xrdp

最后:

启动xrdp服务,sudo /etc/init.d/xrdp restart,此时会启用相应端口,配置方面默认即可。

通过命令:netstat -tnl

查看 3350 3389 5910 这三个端口处于LISTEN,一般就没问题了。

dpkg -L +软件包的名字,可以知道这个软件包包含了哪些文件.

4,ubuntu 13.10 及以后版本 无背景:

感谢评论中的童鞋提出的方案:

xrdp支持不了13.10的gnome了,解决办法是装个xfce界面,

sudo apt-get install xubuntu-desktop
然后:

echo xfce4-session >~/.xsession

再设置配置文件

sudo gedit /etc/xrdp/startwm.sh

在. /etc/X11/Xsession 前一行插入
xfce4-session

重启xrdp
sudo service xrdp restart
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用xrdp实现Windows 远程桌面linux 的相关文章

  • GMail 421 4.7.0 稍后重试,关闭连接

    我试图找出为什么它无法使用 GMail 从我的服务器发送邮件 为此 我使用 SwiftMailer 但我可以将问题包含在以下独立代码中
  • 使用非规范地址检索内存数据会导致 SIGSEGV 而不是 SIGBUS

    我无法使用以下汇编代码产生 总线错误 这里我使用的内存地址不是合法的 规范地址 那么 我怎样才能触发该错误呢 我在带有 NASM 2 14 02 的 Ubuntu 20 04 LTS 下运行这段代码 但它会导致负载出现 SIGSEGV 分段
  • Windows 中的蓝牙 AVRCP 命令会触发哪些事件

    可以这么说 只是在做一些高级侦察 对于我的潘多拉客户 Elpis http elpis adamhaile net 我支持全局媒体键 键盘上的 MediaPlayPause MediaNext 等 并且我希望能够支持AVRCP http e
  • 并行运行 shell 脚本

    我有一个 shell 脚本 打乱大型文本文件 600 万行和 6 列 根据第一列对文件进行排序 输出 1000 个文件 所以伪代码看起来像这样 file1 sh bin bash for i in seq 1 1000 do Generat
  • 当我启动 Windows 命令提示符时,我做了什么导致环境变量发生更改?

    我使用的是 Windows 10 x64 我安装了 Anaconda3 如果我启动 C Windows system32 cmd exe 时没有运行任何其他内容 并且在我可以看到的后台中没有任何有趣的内容 则以下内容将添加到控制面板 UI
  • 如何让R使用所有处理器?

    我有一台运行 Windows XP 的四核笔记本电脑 但查看任务管理器 R 似乎一次只使用一个处理器 如何让 R 使用全部四个处理器并加速我的 R 程序 我有一个基本系统 我使用它在 for 循环上并行化我的程序 一旦您了解需要做什么 此方
  • 将所有文件与指定目录(和子目录)中的所有文件进行二进制比较

    我需要将目录及其子目录中包含的所有文件与同一目录及其子目录中包含的所有其他文件进行比较 并将匹配文件的路径记录到文本文件或 CSV 我意识到有一些软件工具可以做到这一点 但除非它可以在 Windows 中开箱即用 否则我将不被允许在我的网络
  • 在 Mono 上运行 .Net MVC5 应用程序

    我正在 Windows 上的 Visual Studio 2013 中开发 Net 4 5 1 MVC5 应用程序 现在我想知道 是否可以在Linux Ubuntu 12 04 上运行这个应用程序 可以使用OWIN吗 Owin 可以自托管运
  • 内核的panic()函数是否完全冻结所有其他进程?

    我想确认内核的panic 功能和其他类似kernel halt and machine halt 一旦触发 保证机器完全冻结 那么 所有的内核和用户进程都被冻结了吗 是panic 可以被调度程序中断吗 中断处理程序仍然可以执行吗 用例 如果
  • 如何在 Linux 中使用 C 语言使用共享内存

    我的一个项目有点问题 我一直在试图找到一个有据可查的使用共享内存的例子fork 但没有成功 基本上情况是 当用户启动程序时 我需要在共享内存中存储两个值 当前路径这是一个char and a 文件名这也是char 根据命令参数 启动一个新进
  • Intel 上的 gcc 中的 _mm_pause 用法

    我参考过这个网页 https software intel com en us articles benefitting power and performance sleep loops https software intel com
  • 将 value 转换为 bool 的魔法

    今天我意识到将值转换为 bool 是一种魔法 int value 0x100 unsigned char uc static cast
  • Mac OS X 上的 /proc/self/cmdline / GetCommandLine 等效项是什么?

    如何在不使用 argc argv 的情况下访问 Mac OS X 上的命令行 在 Linux 上 我会简单地阅读 proc self cmdline or use GetCommandLine在 Windows 上 但我找不到 Mac OS
  • SetWindowsHookEx 函数返回 NULL

    我正在研究 DLL 注入 但收到错误如下 挂接进程失败 87 参数不正确 目标进程和dll都是64位的 注入代码为 BOOL HookInjection TCHAR target TCHAR dll name https msdn micr
  • 使用 python 脚本更改 shell 中的工作目录

    我想实现一个用户态命令 它将采用其参数之一 路径 并将目录更改为该目录 程序完成后 我希望 shell 位于该目录中 所以我想实施cd命令 但需要外部程序 可以在 python 脚本中完成还是我必须编写 bash 包装器 Example t
  • 错误:“rjags”的包或命名空间加载失败

    在终端的 conda 环境之一中 我能够成功安装包 rjags 但是 当我在该环境中运行 R 并运行库 rjags 时 出现以下错误 加载所需的包 coda 错误 rjags 的包或命名空间加载失败 rjags 的 loadNamespac
  • Apache 访问 Linux 中的 NTFS 链接文件夹

    在 Debian jessie 中使用 Apache2 PHP 当我想在 Apache 的文档文件夹 var www 中创建一个新的小节时 我只需创建一个指向我的 php 文件所在的外部文件夹的链接 然后只需更改该文件夹的所有者和权限文件夹
  • 我什么时候应该编写 Linux 内核模块?

    有些人出于某种原因想要将 Linux 中的代码从用户空间移动到内核空间 很多时候 原因似乎是代码应该具有特别高的优先级 或者只是 内核空间更快 这对我来说似乎很奇怪 我什么时候应该考虑编写内核模块 有一套标准吗 我怎样才能激励将代码保存在
  • Windows:更改与文件类型关联的应用程序的名称/图标

    我想将 Windows 中的文件类型与特定应用程序相关联 但我需要这样做 以便当用户打开 打开方式 菜单时 列表中应用程序的名称和图标是针对该文件类型自定义的 即 不仅仅是可执行文件的名称和图标 这是因为该二进制文件是一个通用二进制文件 可
  • Windows 上最快的屏幕捕获方法

    我想为Windows平台编写一个截屏程序 但不确定如何捕获屏幕 我知道的唯一方法是使用 GDI 但我很好奇是否还有其他方法可以实现此目的 如果有的话 哪种方法产生的开销最小 速度是首要任务 截屏程序将用于录制游戏镜头 不过 如果这确实缩小了

随机推荐

  • git stash时出现xxx:needs merge问题

    项目需要git merge其他分支 xff0c 但由于本地也修改过 xff0c 所以希望先git stash后再merge xff0c 这时出现以下问题 xff1a xxx xxx xxx cpp xff1a needs merge 通过g
  • FFMPEG 之视频播放

    先看界面效果 xff0c 虽然有点low xff0c 但是效果实现了 一 实现原理 1 使用ffmpeg解码视频 2 然后使用libyuv播放解码的视频 二 实现 1 先看目录结构 2 ffmpeg编译以及引用 xff0c 在之前的篇章已经
  • 一步一步学CMake 之 VSCode+CMakeLists 调试 C++ 工程

    目录 1 插件推荐 2 文件准备 3 开始调试 一步一步学 CMake 系列文章 1 插件推荐 CMake CMake tools 2 文件准备 新建文件夹 xff1a TEST 新建文件 xff1a CMakeLists txt 内容如下
  • 51单片机使用8位重装定时器实现PWM输出同时实现DAC转换

    51单片机使用八位重装定时器实现PWM输出同时实现DAC转换 最近想要做一个数控电源 xff0c 打算使用51单片机实现电压和电流的闭环 xff0c 但是手头上的51单片机为STC89C51系列的单片机 xff0c 没有ADC采样功能 xf
  • 【MYSQL】分组之后获取每组最新的数据

    记录一次有点麻烦的sql 可以直接复制拿去测试 xff0c 一开始我也百度来着 xff0c 发现要么没法满足我的需求 xff0c 要么就连看下去的欲望都没有 建表测试demo xff1a span class token keyword C
  • C++ 指针中:指针数组 指向指针数组的指针 指向指针的指针

    指针数组 xff1a 存储指针的数组 pa n an array of pointers 注意这里 优先级高于 xff0c 因此pa是一个包含三个指针的数组 指向指针数组的指针 pd n pointers to an array of po
  • Flutter要被放弃了?别瞎传了!

    前言 Flutter 作为Google出品的一个新兴的跨平台移动客户端UI开发框架 xff0c 正在被越来越多的开发者和组织使用 xff0c 包括阿里的咸鱼 腾讯的微信等 今天 xff0c 我主要讲解Flutter中文本组件方面的Widge
  • (学习笔记)手把手教你学51单片机:定时器与数码管

    一 逻辑电路与逻辑运算 逻辑运算符 xff1a xff08 1 xff09 按变量整体值进行运算 xff1a 逻辑与 amp amp 逻辑或 xff08 xff09 逻辑非 xff08 xff01 xff09 xff08 2 xff09 按
  • (学习笔记)手把手教你学51单片机:中断与数码管动态显示

    一 c语言的数组 1 1数组的基本概念 数组是具有相同数据类型的有序数据的组合 xff0c 一般来讲数组定义后满足以下三个条件 xff1a xff08 1 xff09 具有相同的数据类型 xff08 2 xff09 具有相同的名字 xff0
  • KST-51:从999999开始的倒计时程序,只显示有效位

    此程序为手把手教你学51单片机的例程 例程中实现只显示有效位 xff08 高位0不显示 xff09 xff0c 实现了数码管稳定显示不抖动 for结合break 实现只显示有效位 switch结合i 实现数码管动态刷新 include lt
  • KST51单片机:通过中断实现矩阵按键的次数检测与消抖

    以Key4为例 xff0c 使用定时中断2ms进行消抖 xff0c 对连续8次 xff08 16ms xff09 的按键状态进行判断 如果全部为1则弹起 xff0c 将按键当前状态 xff08 Keysta xff09 为1 xff1b 全
  • 关于单片机蓝桥杯

    经大佬提醒 xff0c 已修改 芯片 xff1a IAP15F2K61S2 考核内容 xff1a LED 数码管 独立按键 矩阵按键 定时器 555 超声波 xff08 有基础 xff09 iic EEPROM ADC ds18b20 xf
  • NX nomachine 远程桌面配置

    其实它是Linux下一款类VNC的远控软件 xff0c 但据说安全性方面比VNC更好 xff0c 通过SSH协议加密进行传输的 而且传输是采用数据压缩技术 xff0c 传输更快 1 安装rpm包 安装顺序 xff1a root 64 loc
  • git 命令

    1 打patch xff08 git format patch xff09 git format patch HEAD 生成最近的1次commit的patch git format patch HEAD 生成最近的2次commit的patc
  • gitlab使用

    参考https blog csdn net justlpf article details 80681853 一 基本操作 1 登录 xff1a 2 修改密码 xff1a 二 项目管理 1 新建项目 2 编辑或删除项目 三 用户管理 xff
  • wsl不能启动解决方法

    wsl不能启动解决方法 admin 权限打开termianl 执行下面的命令 xff1a Dism Online Cleanup Image CheckHealth 是检查映像以查看是否有检测到损坏 Dism Online Cleanup
  • 偷偷爆料下2022年各公司年终奖情况,也就亿点点羡慕.....

    偷偷爆料下2022年各公司年终奖情况 xff0c 也就亿点点羡慕 不少公司已经陆陆续续有年终奖的消息传了出来 xff0c 这里给大家汇总了截止到1月 30 日 xff0c 互联网爆料的包括字节 腾讯 百度等公司在内年终奖情况 在默默羡慕的同
  • Ubuntu下使用QtCreator编译出现collect2: ld terminated with signal 9 [Killed] 解决方法

    定位问题是 xff0c 由于交换分区不足 xff0c 导致编译出错 解决思路就是增加交换分区空间 xff0c 然后重新启动交换分区 方法如下 默认使用的是root用户 xff1a 1 创建用于交换分区的文件 xff1a dd if 61 d
  • python使用清华源镜像安装包

    pip install i https pypi tuna tsinghua edu cn simple packages
  • 使用xrdp实现Windows 远程桌面linux

    一般情况下我们用ssh客户端远程登陆Linux系统 xff0c 至于图形界面下的Linux远程登陆工具 xff0c 我们一般都会想到vnc xff0c 但它的安全性不够 xff0c 在这里 xff0c 我将介绍XRDP的安装配置方法 我们可