linux - 使用 telnet 在远程 Linux 机器上运行基于 gui 的应用程序
问题描述
我需要在通过 telnet 连接的远程 PC 上运行基于 gui 的应用程序。远程 PC 运行Linux Ubuntu 18.04
为了弄清楚屏幕,我在远程机器上运行以下命令:
echo $DISPLAY
结果给了我:1。
然后我从我的客户端(通过 telnet)在远程机器上运行程序,使用:
DISPLAY=:1 application_name
程序正确启动(因为除了 GUI 之外,它还在命令行上打印了一些东西)但 GUI 没有出现。但是,如果我直接在远程机器上运行我的应用程序,一切都很好。
作为测试,我尝试使用以下命令在另一台机器上运行 Firefox 浏览器(始终通过 telnet):
DISPLAY=:0 firefox
它奏效了。注意:在另一台机器上,echo $DISPLAY 的输出是:0。此外,我无法在第二台机器上测试我的应用程序。
两台机器之间似乎有不同的设置,因为我试图在一台机器上工作,但在另一台机器上却不行。
你知道我应该检查什么类型的设置吗?
解决方案
您是否尝试在第一台远程计算机上运行您的应用程序,但使用 DISPLAY=:0 而不是 :1?
在第一种情况下启动应用程序时从应用程序收到的错误消息是什么(“DISPLAY =:1 app_name”)。
推荐阅读
- swift - 在 swiftUI 中禁用特定的行/按钮
- javascript - 不知道为什么,但我的代码正在破坏命令提示符(可能是无限循环)
- python - 如何安装 Python 3.8.6 64 位?错误 0x80070643
- xml - Powershell,遍历 XML。获取父节点属性,搜索子节点属性
- r - 将所有列除以另一列
- java - 如何禁用推断的 @NotNull/@Nullable 注释生成的警告?
- java - 使用迭代器模式返回不兼容类型的二维数组
- python - 将 Conv1D 层从 pytorch 转换为 tensorflow/keras
- python - 如何使用 Pandas 将我的数据导入到 xlsx 文件中的表中?
- python - 如何合并两个 dicts ,但保持相同的结构?