背景

在 Windows + ssh(Cygwin) + Linux(运行在虚拟机中的Ubuntu) 是一个很舒服的方案,但是偶尔需要用到 图形界面。

如果需要通过ssh打开远程服务器端的程序,需要X11 forwarding。否则,会显示:

$ gedit

Failed to connect to Mir: Failed to connect to server socket: No such file or directory
Unable to init server: Could not connect: Connection refused (gedit:49652): Gtk-WARNING **: cannot open display:

经过搜索,我找到了有关的解决方案,这个方案适用于:

  • Cygwin
  • MobaXterm
  • Putty
  • 从Linux连接到Linux

ssh 服务器配置

这里以Ubuntu为例

ubuntu安装ssh客户端和服务器 并做相对于配置:

# 安装ssh
sudo apt-get install openssh-server -y # 配置允许X11转发(设置 X11 有关服务)
cp /etc/ssh/sshd_config /tmp/sshd_config
## ssh 服务器添加配置
echo "X11Forwarding yes" >> /tmp/sshd_config
sudo cp /tmp/sshd_config /etc/ssh/sshd_config
# 让配置生效
sudo service ssh restart # 如果需要 这一台主机连接到别的地方也想运行GUI程序
## ssh 客户端添加配置(ssh_config)
cp /etc/ssh/sshd_config /tmp/ssh_config
echo "ForwardAgent yes" >> /tmp/ssh_config
echo "ForwardX11 yes" >> /tmp/ssh_config
echo "ForwardX11Trusted yes" >> /tmp/ssh_config
sudo cp /tmp/ssh_config /etc/ssh/ssh_config

ssh 客户端 的配置

Cygwin

ref using-remote-appscygwin_x11_forwarding

Cygwin的方案是比较复杂的:

  • 在Cygwin中新安装3个包:xinitcygutils-x11xterm
  • 启动"XWin Server":建议是在启动菜单中:Cygwin-x - XWin server
  • 打开Cygwin,输入:export DISPLAY=:0.0
  • 登录:ssh -Y ${loginName}@{ipAddress} [-p ${port=22}]

效果如图:

另外一个 Linux

以Ubuntu为例,同上文,需要安装 ssh客户端

Ubuntu安装ssh客户端和服务器 并做相对于配置:

# 安装ssh
sudo apt-get install openssh-server -y ## ssh 客户端添加配置(ssh_config)
cp /etc/ssh/sshd_config /tmp/ssh_config
echo "ForwardAgent yes" >> /tmp/ssh_config
echo "ForwardX11 yes" >> /tmp/ssh_config
echo "ForwardX11Trusted yes" >> /tmp/ssh_config
sudo cp /tmp/ssh_config /etc/ssh/ssh_config

登录:ssh -X ${loginName}@{ipAddress} [-p ${port=22}]

效果如图:

Windows

以下的软件为了支持图形界面,需要,额外安装有关服务:X Window 服务端 程序 XMing

Xming只是在windows下实现了一个X服务端,X客户端还还是远程程序本身,ssh起传输作用

运行XMing,运行后在托盘有图标,提示信息为”Xming Server:0.0” 。

根据登录软件的不同,具体有一些设置差异。

Putty

Putty的设置很容易,只需要勾选这个设置即可:

Category
└── Connection
├── SSH
└── X11 - Enable X11 forwarding

效果如图:

MobaXterm

MobaXterm的设置很容易,只需要勾选这个设置即可:

Session
└── SSH
└── Advanced SSH settings - X11-Forwarding

效果如图:

Windows/Linux 通过 ssh 打开 远程服务器 GUI程序的更多相关文章

  1. Linux上SSH登录远程服务器免密码

    在本地的客户端SSH到远程服务端时,每次都要输入用户名和密码,如果不想每次都输入密码则可以使用以下操作. 首先在本地的客户端输入 ssh-keygen [keysystem@localhost ~]$ ...

  2. windows linux 通过SSH X11Forwrding 使用图形化界面

    有时候,我们需要在命令行中使用远程的GUI程序,这样我们就需要x11转发的来进行访问: Linux平台下不需要特别的配置,假如我们要远程的机器是centos机器,只要做如下配置即可: #vi /etc ...

  3. 【转帖】远程显示(操作) 服务器 GUI 程序(图形化界面) (基于 X11 Forwarding + Centos + MobaXterm)

    远程显示(操作) 服务器 GUI 程序(图形化界面) (基于 X11 Forwarding + Centos + MobaXterm) https://zhuanlan.zhihu.com/p/310 ...

  4. [转]学习win10的bash使用ssh连接远程服务器

    1. 前言 微软已经在Win10一周年更新预览版中加入了Ubuntu Bash命令支持,相当于一个小型的linux系统,本来连接远程服务器的话,要使用putty啥的,现在可以用这个直接连接,我来讲讲步 ...

  5. Mac下ssh连接远程服务器时自动断开问题

    在mac下使用securecrt通过ssh连接远程服务器时,总会一段时间没有动作后,ssh被自动断开.在windows下用xmanager貌似没有遇到过这个问题. 在网上找了解决方法如下: 客户端配置 ...

  6. 用Python写个自动ssh登录远程服务器的小工具

    很多时候我们喜欢在自己电脑的终端直接ssh连接Linux服务器,而不喜欢使用那些有UI界面的工具区连接我们的服务器.可是在终端使用ssh我们每次都需要输入账号和密码,这也是一个烦恼,所以我们可以简单的 ...

  7. 1.MAC获取文件路径;2.MAC使用SSH连接远程服务器,实现文件上传下载

    首先来说一下如何获取文件路径 ····打开terminal,把文件拖进terminal 窗口,自动显示路径. 接下来说一下使用SSH连接远程服务器,实现文件上传下载 1.  上传本地文件到服务器 sc ...

  8. ssh执行远程服务器脚本 提示php: command not found

    ssh执行远程服务器脚本 提示php: command not found 设置环境变量 一台机器作为管理机,来管理其他服务器,并通过key认证,免密码登陆的. 在管理机上通过ssh登陆到其他服务器来 ...

  9. Mac使用SSH连接远程服务器

    1. 终端通过 ssh 连接远程服务器 ssh -p 36622 root@localhost 2. 文件上传下载 上传 scp 下载 scp 3. 客户端 FinalShell(推荐) FileZi ...

  10. 远程显示(操作) 服务器 GUI 程序(图形化界面) (基于 X11 Forwarding + Centos + MobaXterm)

    在做 数据分析(数据挖掘 或 机器学习)的时候,我们经常需要绘制一些统计相关的图表,这些统计.绘图的程序常常是跑在服务器上的,可是服务器出于性能和效率的考虑,通常都是没有安装图形化界面的,于是这些统计 ...

随机推荐

  1. 您可知道如何通过`HTTP2`实现TCP的内网穿透???

    可能有人很疑惑应用层 转发传输层?,为什么会有这样的需求啊???哈哈技术无所不用其极,由于一些场景下,对于一个服务器存在某一个内部网站中,但是对于这个服务器它没有访问外网的权限,虽然也可以申请端口访问 ...

  2. 1、Linux基础

    1.centos 安装 2.磁盘分区表示方法 1.2.3.4:主分区,最多4个主分区,后数据为逻辑分区 主分区可以激活,但一个硬盘只能激活一个主分区 被激活的主分区就是用来引导操作系统的主分区 扩展分 ...

  3. 03. Ruby入门理解

    Ruby入门学习: 视频教程 https://www.bilibili.com/video/BV1QW411F7rh?t=401&p=1 笔记 https://github.com/haima ...

  4. docker安装Mysql挂载数据卷 实现容器配置本地化

    目录 一.安装docker 二.docker安装MySQL 安装5.7.31版本的mysql navicat 连接mysql 安装mysql:8 三.设置开机自动启动容器 Docker快速创建MySQ ...

  5. Linux中的find

    find命令在硬盘上进行文件的查找,比起whereis与locate会比较耗时. 与时间有关的选项 在Linux当中一个文件有mtime,ctime,atime,find在搜索时可以配置这3种时间. ...

  6. cesium基础知识汇总PPT版

    以上教程来自火星科技,原视频教程地址如下: https://ke.qq.com/course/468292/3985600802137412#term_id=100560563

  7. 网络安全—模拟ARP欺骗

    文章目录 网络拓扑 安装 使用 编辑数据包 客户机 攻击机 验证 仅做实验用途,禁止做违法犯罪的事情,后果自负.当然现在的计算机多无法被欺骗了,开了防火墙ARP欺骗根本无效. 网络拓扑 均使用Wind ...

  8. 移动通信网络中的 FDD/TDD 无线帧

    目录 文章目录 目录 前文列表 无线帧 FDD 与 TDD 的区别 FDD 无线帧 TDD 无线帧 前文列表 <移动通信网络中的资源类型> 无线帧 LTE 支持两种类型的无线帧:FDD(F ...

  9. MySQL日志文件简记

    日志文件 binlog binlog主要记录了MySQL数据库执行了更改的所有操作,主要用来做主从复制,数据恢复 记录模式: Statement模式:每一条回修改数据的sql都会被记录在日志中 Row ...

  10. 倒计时7天!AIRIOT新品发布会,6月6日北京见。

    随着物联网.大数据.AI技术的成熟和演进,智能物联网技术正在加速.深入渗透至各行业应用. AIRIOT物联网平台作为赋能数字经济发展和产业转型的数字基座,由航天科技控股集团股份有限公司(股票代码:00 ...