使用Xmanager通过远程桌面登录Linux服务器

2023-05-16

在Linux服务器上运行xdmcp客户端(X client ),而用户电脑上运行xdmcp服务器端(X Server),X server是符合xdmcp协议的tcp server, X client是符合xdmcp协议的tcp client。
这里写图片描述
在Linux服务器上开启xdmcp服务后,服务器会监听udp port (177 )。
当用户电脑运行Xmanager软件包中的Xbroser时,Xbroser会向Linux服务器的udp port( 177 )发送请求,将本机的IP及tcp server端口号(通常是6000~6010中的一个)发送给Linux服务器,然后Linux服务器就会通过tcp client连接到用户机的tcp server,剩下的工作就是实现xdmcp协议了。
如果Linux服务器和用户机在一个局域网内,只需要将Linux服务器上的xdmcp服务打开,防火墙设置中打开udp port (177),然后用户机中的防火墙设置允许Xmanager-PC X Server Program和Xsound-Xsound for Xmanager通过防火墙即可。
如果用户机和Linux服务器不在一个局域网内,简化的情况就是用户机的路由器和服务器在一个局域网内这样就只需要在用户机所在局域网的路由器上进行端口映射,将路由器的6000端口映射到用户机的6000端口上。下面就是一个TP-LINK的端口映射设置图。
这里写图片描述
然后在Xbroser中对新建连接进行设置,这里要将路由器的外网IP设置在用户定义的连接地址那一栏。
这里写图片描述
然后就可以在用户机上通过Xbroser远程登录linux服务器了。
如果是经过了多级路由器,就非常麻烦了,要找N多的网络管理员,为什么不把X client端用tcp server的方式实现呢?就像SSH那样。X Server端用tcp client实现,这样不就更方便吗?
其实,这个功能Xmanager想到了一个完美的解决方案。在上图中“方法”那一栏中有一个选项叫做“Secure XDMCP”,选择它,同时在下面的连接地址框内的”地址类型“处选择”自动“,然后再连接的时候就会弹出
这里写图片描述
按照SSH的登录方式输入用户名和密码就可以进行远程桌面的访问了。
这种方法的原理就是SSH Server端又开了一个tcp server和X Client连接,SSH Client端开了一个client和X Server连接,相当于做了一个转发工作。完美地绕开了防火墙、端口映射等等问题。
这里写图片描述
再来说说在外网访问远程桌面所需要的网络带宽,假设用户计算机的屏幕分辨率是1024×768,如果色彩按照24位/像素来表示,简化起见,不考虑压缩算法之类的,则刷新一屏需要1024×768×3(Byte),即2.25MB,一般显示器刷新频率60Hz,也就是每秒刷新一次,那么需要18Mbps的带宽。可见,对网络的要求相当高,所以在外网要远程访问桌面的话就别要求啥客户体验了。
不过,Xbroser还是提供了压缩选项的,如下图
这里写图片描述

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

使用Xmanager通过远程桌面登录Linux服务器 的相关文章

  • 使用 grep 查找包含所有搜索字符串的行

    我有一个文件 其中包含很多与此类似的行 id 2796 some model Profile message type MODEL SAVE fields account 14 address null modification times
  • GLIBCXX_3.4.26 未找到在 BeagleBone 上运行交叉编译的程序

    我有以下程序 include
  • 应用程序无缘无故地被杀死。怀疑 BSS 高。如何调试呢?

    我已经在CentOs6 6中成功运行我的应用程序 最近 硬件 主板和内存 更新了 我的应用程序现在毫无理由地被杀死 root localhost PktBlaster PktBlaster Killed 文件和 ldd 输出 root lo
  • Jenkins中找不到环境变量

    我想在詹金斯中设置很多变量 我试过把它们放进去 bashrc bash profile and profile of the jenkins用户 但 Jenkins 在构建发生时找不到它们 唯一有效的方法是将所有环境变量放入Jenkinsf
  • 如何根据 HTTP 请求使用 Python 和 Flask 执行 shell 命令并流输出?

    下列的这个帖子 https stackoverflow com questions 15092961 how to continuously display python output in a webpage 我能够tail f网页的日志
  • Linux TUN/TAP:无法从 TAP 设备读回数据

    问题是关于如何正确配置想要使用 Tun Tap 模块的 Linux 主机 My Goal 利用现有的路由软件 以下为APP1和APP2 但拦截并修改其发送和接收的所有消息 由Mediator完成 我的场景 Ubuntu 10 04 Mach
  • fopen 不返回

    我在 C 程序中使用 fopen 以只读模式 r 打开文件 但就我而言 我观察到 fopen 调用没有返回 它不返回 NULL 或有效指针 执行在 fopen 调用时被阻止 文件补丁绝对正确 我已经验证过 并且不存在与权限相关的问题 任何人
  • 域套接字“sendto”遇到“errno 111,连接被拒绝”

    我正在使用域套接字从另一个进程获取值 就像 A 从 B 获取值一样 它可以运行几个月 但最近 A 向 B 发送消息时偶尔会失败 出现 errno 111 连接被拒绝 我检查了B域套接字绑定文件 它是存在的 我也在另一台机器上做了一些测试 效
  • 如何在 Linux shell 中将十六进制转换为 ASCII 字符?

    假设我有一个字符串5a 这是 ASCII 字母的十六进制表示Z 我需要找到一个 Linux shell 命令 它将接受一个十六进制字符串并输出该十六进制字符串代表的 ASCII 字符 所以如果我这样做 echo 5a command im
  • os.Mkdir 和 os.MkdirAll 权限

    我正在尝试在程序开始时创建一个日志文件 我需要检查是否 log如果不创建目录 则目录存在 然后继续创建日志文件 好吧 我尝试使用os Mkdir 也os MkdirAll 但无论我在第二个参数中输入什么值 我都会得到一个没有权限的锁定文件夹
  • 如何在apache 2.4.6上安装apxs模块

    我刚刚用过apt get update我的 apache 已更新为2 4 6 我想安装 apxs 来编译模块 但收到此错误 The following packages have unmet dependencies apache2 pre
  • Linux:如何从特定端口发送TCP数据包?

    如何打开原始套接字以从特定 TCP 端口发送 我希望所有连接始终来自临时端口以下的一系列端口 如果您正在使用raw套接字 然后只需在数据包标头中填写正确的 TCP 源端口即可 相反 如果您使用 TCP 套接字接口 socket connec
  • 有谁知道在哪里定义硬件、版本和序列号。 /proc/cpuinfo 的字段?

    我想确保我的 proc cpuinfo 是准确的 目前它输出 Hardware am335xevm Revision 0000 Serial 0000000000000000 我可以在代码中的哪里更改它以给出实际值 这取决于 Linux 的
  • jpegtran 优化而不更改文件名

    我需要优化一些图像 但不更改它们的名称 jpegtran copy none optimize image jpg gt image jpg 但是 这似乎创建了 0 的文件大小 当我对不同的文件名执行此操作时 大小仍然完全相同 怎么样 jp
  • ubuntu:升级软件(cmake)-版本消歧(本地编译)[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我的机器上安装了 cmake 2 8 0 来自 ubuntu 软件包 二进制文件放置在 usr bin cmake 中 我需要将 cmake 版本至少
  • 为arm构建WebRTC

    我想为我的带有arm926ej s处理器的小机器构建webrtc 安装 depot tools 后 我执行了以下步骤 gclient config http webrtc googlecode com svn trunk gclient s
  • SSE:跨页边界的未对齐加载和存储

    我在页面边界旁边执行未对齐加载或存储之前读过某处 例如使用 mm loadu si128 mm storeu si128内在函数 代码应首先检查整个向量 在本例中为 16 个字节 是否属于同一页 如果不属于同一页 则切换到非向量指令 我知道
  • 多处理:仅使用物理核心?

    我有一个函数foo它消耗大量内存 我想并行运行多个实例 假设我有一个有 4 个物理核心的 CPU 每个核心有两个逻辑核心 我的系统有足够的内存来容纳 4 个实例foo并行但不是 8 个 此外 由于这 8 个核心中的 4 个是逻辑核心 我也不
  • 在脚本内使用不带密码的 sudo

    由于某种原因 我需要作为用户在没有 sudo 的情况下运行脚本 script sh 该脚本需要 root 权限才能工作 我认为将 sudo 放入 script sh 中是唯一的解决方案 让我们举个例子 script sh bin sh su
  • 如何更改 Apache 服务器的根目录? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何更改 Apache 服务器的文档根目录 我基本上想要localhost从 来 users spencer projects目录而不是

随机推荐