如何在没有 X 的 Linux 服务器中打开带有 GUI 的 Mono 应用程序?

如何在没有 X 的 Linux 服务器中打开带有 GUI 的 Mono 应用程序?

我正在运行一个 Mono 应用程序,我无法编辑其源代码。

$ mono 应用程序.exe

未处理的异常:System.TypeInitializationException:System.Windows.Forms.WindowsFormsSynchronizationContext 的类型初始化程序引发了异常 ---> System.TypeInitializationException:System.Windows.Forms.XplatUI 的类型初始化程序引发了异常 ---> System.ArgumentNullException:无法打开显示(需要 X-Server。检查 DISPLAY 环境变量)

参数名称:显示

该服务器只能通过 访问ssh,没有图形界面。我已经安装xserver-xorg并设置了DISPLAY环境变量:0,但错误仍然存​​在。此外,运行时xhost抱怨无法打开显示。

所以,我如何打开我的 Mono 应用程序?我不介意完全丢弃 GUI,我只需要应用程序运行。


按照其中一个答案,我取消了DISPLAY变量设置,通过选项进行连接ssh-X尝试xhost +,但出现unable to open display ""错误。

事实证明,当我连接时ssh出现错误。X11 forwarding request failed on channel 0

答案1

取消你迷信的 的设置$DISPLAY。它试图在“此服务器只能通过 ssh 访问,没有图形界面”上访问(不存在的)X 服务器。卸载xserver-xorg是可选的,但你必须修复$DISPLAY

-X在您的原始系统上,使用或选项启动连接-Y(请参阅man ssh)。您可能需要连接到xhost +服务器。

并且您需要客户端上的 X 服务器。–@bodhi.zazen

答案2

我已经关注编辑sshd配置和设置。

X11转发 是

X11UseLocalhost 否

然后我的ssh连接就可以正确转发 X 个应用程序,并且我可以启动我的 mono 应用程序。

相关内容