Windows/Linux 通过 ssh 打开 远程服务器 GUI程序
背景
在 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
Cygwin的方案是比较复杂的:
- 在Cygwin中新安装3个包:
xinit、cygutils-x11、xterm - 启动"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程序的更多相关文章
- Linux上SSH登录远程服务器免密码
在本地的客户端SSH到远程服务端时,每次都要输入用户名和密码,如果不想每次都输入密码则可以使用以下操作. 首先在本地的客户端输入 ssh-keygen [keysystem@localhost ~]$ ...
- windows linux 通过SSH X11Forwrding 使用图形化界面
有时候,我们需要在命令行中使用远程的GUI程序,这样我们就需要x11转发的来进行访问: Linux平台下不需要特别的配置,假如我们要远程的机器是centos机器,只要做如下配置即可: #vi /etc ...
- 【转帖】远程显示(操作) 服务器 GUI 程序(图形化界面) (基于 X11 Forwarding + Centos + MobaXterm)
远程显示(操作) 服务器 GUI 程序(图形化界面) (基于 X11 Forwarding + Centos + MobaXterm) https://zhuanlan.zhihu.com/p/310 ...
- [转]学习win10的bash使用ssh连接远程服务器
1. 前言 微软已经在Win10一周年更新预览版中加入了Ubuntu Bash命令支持,相当于一个小型的linux系统,本来连接远程服务器的话,要使用putty啥的,现在可以用这个直接连接,我来讲讲步 ...
- Mac下ssh连接远程服务器时自动断开问题
在mac下使用securecrt通过ssh连接远程服务器时,总会一段时间没有动作后,ssh被自动断开.在windows下用xmanager貌似没有遇到过这个问题. 在网上找了解决方法如下: 客户端配置 ...
- 用Python写个自动ssh登录远程服务器的小工具
很多时候我们喜欢在自己电脑的终端直接ssh连接Linux服务器,而不喜欢使用那些有UI界面的工具区连接我们的服务器.可是在终端使用ssh我们每次都需要输入账号和密码,这也是一个烦恼,所以我们可以简单的 ...
- 1.MAC获取文件路径;2.MAC使用SSH连接远程服务器,实现文件上传下载
首先来说一下如何获取文件路径 ····打开terminal,把文件拖进terminal 窗口,自动显示路径. 接下来说一下使用SSH连接远程服务器,实现文件上传下载 1. 上传本地文件到服务器 sc ...
- ssh执行远程服务器脚本 提示php: command not found
ssh执行远程服务器脚本 提示php: command not found 设置环境变量 一台机器作为管理机,来管理其他服务器,并通过key认证,免密码登陆的. 在管理机上通过ssh登陆到其他服务器来 ...
- Mac使用SSH连接远程服务器
1. 终端通过 ssh 连接远程服务器 ssh -p 36622 root@localhost 2. 文件上传下载 上传 scp 下载 scp 3. 客户端 FinalShell(推荐) FileZi ...
- 远程显示(操作) 服务器 GUI 程序(图形化界面) (基于 X11 Forwarding + Centos + MobaXterm)
在做 数据分析(数据挖掘 或 机器学习)的时候,我们经常需要绘制一些统计相关的图表,这些统计.绘图的程序常常是跑在服务器上的,可是服务器出于性能和效率的考虑,通常都是没有安装图形化界面的,于是这些统计 ...
随机推荐
- C语言实验1
#include<stdio.h> #include<stdlib.h> int main() { printf(" o\n"); printf(" ...
- 一个完整的可以输出移动端当前省市(地理坐标)的html页面
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Triton 源码初步研读
一.核心接口形态 def jit( fn: Optional[T] = None, *, version=None, do_not_specialize: Optional[Iterable[int] ...
- HTML link标签中preload,prefetch,dns-prefetch,preconnect,prerender
Preload 在我们的浏览器加载资源的时候,对于每一个资源都有其自身的默认优先级,倘若我们能修改每一个资源的默认优先级,那我们几乎可以按照我们的预期加载想要加载的资源. 以谷歌浏览器为例,我们打开控 ...
- WEB服务与NGINX(12)-NGINX的变量
目录 1. nginx的变量 1.1 内置变量 1.2 自定义变量 1. nginx的变量 nginx的变量可以在配置文件中引用,作为功能判断或日志等场景使用,变量可以分为内置变量和自定义变量. 内置 ...
- 微信小程序关于小说类使用官方阅读器
https://doc.weixin.qq.com/doc/w3_AAcAYAbdAFwpM63n1R5SIat3aa4cX?scode=AJEAIQdfAAoYHVCBbdAG4A1QYmAFQ 上 ...
- Ajax 请求总共有八种 Callback
1)onSuccess 2)onFailure 3)onUninitialized 4)onLoading 5)onLoaded 6)onInteractive 7)onComplete 8)onEx ...
- 包含Symbol类型的对象遍历取key使用Reflect.ownKeys
Reflect.ownKeys(target)等同于 Object.getOwnPropertyNames 与Object.getOwnPropertySymbols 之和
- 第二届黄河流域网络安全技能挑战赛Web_wirteup
前言 好久没写过比赛的wp了,黄河流域的web出的不错,挺有意思了,花了点时间,也是成功的ak了 myfavorPython 注册登录,一个base64输入框,猜测pickle反序列化,简单测试下,返 ...
- 做程序员这么久,你知道UTF-8和Unicode的关系吗?
UTF-8和Unicode到底有什么区别?是存储方式不同?编码方式不同?它们看起来似乎很相似,但是实际上他们并不是同一个层次的概念. 要想先讲清楚他们的区别,首先应该讲讲Unicode的来由: 众所周 ...