文章目录
- 问题背景
- 问题分析
- 什么是X11转发?
- 分析原因(没分析出来)
- 解决办法(关闭X11转发)
- 参考文章
问题背景
今天我在ubuntu服务器上用python flask框架做了个http服务程序,我用xshell连接服务器并执行该服务:
然后我用postman请求它,结果我的xshell界面上弹出了一个选择界面:
需要Xmanager软件来处理X11转发请求。
当你安装Xmanager时,你可以直接在Windows中使用Xshell运行的X11程序,例如xterm和gnome-terminal。
你想立即下载Xmanager试用版吗?、 (要关闭此消息,只需关闭会话属性 ->连接->S5H->隧道页面中的X11转发选项。)
然后我需要点击“否”两次,才能成功请求。非常烦人。
问题分析
什么是X11转发?
Xshell是一款功能强大的SSH(Secure Shell)客户端软件,它可以在Windows操作系统上连接到远程Linux/Unix服务器。
X11转发是Xshell提供的一项功能,它允许用户在远程服务器上运行的图形应用程序的图形界面显示在本地计算机上。
当你使用Xshell连接到远程服务器时,如果启用了X11转发功能,远程服务器上的图形应用程序可以将图形界面的显示信息通过SSH隧道传输到本地计算机上,然后在本地计算机上显示出来。这样,你就可以在本地计算机上直接操作远程服务器上的图形应用程序,而无需在远程服务器上打开图形界面。
要启用X11转发功能,你需要在Xshell的会话属性中进行设置。在会话属性中,选择"SSH"选项卡,然后勾选"X11转发"选项。接下来,你可以通过在远程服务器上运行图形应用程序来测试X11转发功能,例如运行一个图形界面的文本编辑器。
需要注意的是,为了使用X11转发功能,你的本地计算机上需要安装一个X服务器软件,例如Xming或Xmanager等。这个X服务器软件负责接收远程服务器传输过来的图形界面信息,并在本地计算机上显示出来。
分析原因(没分析出来)
这就很奇怪,为啥我用python flask做http服务,xshell就会弹窗,我同样用ngrest还有libevent做http服务,从来就没有弹过窗??
解决办法(关闭X11转发)
虽然找不到问题原因的本质,还是采用网友的临时解决办法吧:
- 找到我们的连接配置,然后点击右键,选择属性:
- 然后点击隧道,将“转发X11连接到(X)”取消勾选,然后点击确定
- 然后我们打开新的窗口
发现新窗口跟旧的还不太一样,新的字体都大个点,而且没有22
:
旧的:
新的:
然后我们在新窗口上启动我们flask http服务,然后用postman请求,发现没有再弹窗了:
参考文章
参考文章:需要Xmanager软件来处理X11转发请求