背景

在 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. vue应用el-tabel封装

    <template> <div class="table"> <el-table :data="tableList" style= ...

  2. Solution Set - CDQ分治&整体二分

    A[洛谷P2163].给定平面上若干个点,多次询问给定矩形内的点数. B[洛谷P3810].给定若干个三元组,对所有\(k\),求这样三元组的个数:恰有\(k\)个三元组,满足其每个分量都不超过它的相 ...

  3. JUC并发编程学习笔记(二)Lock锁(重点)

    Lock锁(重点) 传统的synchronized 传统的解决多线程并发导致的一些问题我们会使用synchronized关键字来解决,synchronized的本质就是队列.锁. Lock的实现类有: ...

  4. 更新Homebrew时候遇到的问题

    问题描述: 更新Homebrew时候遇到无法访问github的问题,判定原因为DNS污Ran. fatal: unable to access 'https://github.com/Homebrew ...

  5. radmin远程控制软件怎么样,有没有替代品

    Radmin 是流行的.屡获殊荣的安全远程控制软件,它使您能够在远程计算机上实时工作,就像使用它自己的键盘和鼠标一样. 您可以从多个地方远程访问同一台计算机,是网络和管理类别中流行的远程桌面工具. R ...

  6. VNC 远程桌面很卡,替代方案如下

    VNC 远程桌面是一款古老的远程桌面软件,是基于 Unix 和 Linux 操作系统的免费的开源软件.免费开源很好,但是 VNC 也存在一些缺点. 1.VNC 远程桌面很卡 想白嫖 VNC,就要接受卡 ...

  7. Garnet:微软官方基于.NET开源的高性能分布式缓存存储数据库

    前言 前不久Redis宣布从 Redis 7.4 开始,将原先比较宽松的 BSD 源码使用协议修改为 RSALv2 和 SSPLv1 协议,该协议变化意味着Redis不再开源.今天给大家分享一款完全开 ...

  8. log4j日志记录级别

    目录 一.日志的作用 二.log4j的日志级别和简介 三.log4j配置文件包含的节点简介 四.logger配置说明 一.日志的作用 ​ 问题追踪:通过日志不仅仅包括我们程序的一些 bug,也可以在安 ...

  9. Html简要笔记

    html在线文档: https://www.w3school.com.cn 怎么创建文件我已经会了 1,html快速入门 <!--文档类型说明 注释 --> <!DOCTYPE ht ...

  10. AI实战 | 手把手带你打造校园生活助手

    大家好,我是努力的小雨.最近,我开始将我的经验逐渐分享到B站,希望能够帮助大家通过扣子助手真正解决一些问题.最近有粉丝提出了一个需求,为了满足大家的期待,我已经制作了视频,详细介绍了这个助手的搭建思路 ...