我已经创build了一个在Windows中运行的Java GUI应用程序。 现在我想让它在一个不支持GUI的无头Linux实例上运行。 我想将GUI转换为TUI。 有什么方法可以替代一些类,并使它在Linux中由TUI运行。 请帮忙。
你可以使用PeterMmm的建议http://www.pitman.co.za/projects/charva/index.html
或者,您可以通过运行X服务器在本地机器上运行GUI,然后使用ssh -X
连接到Linux机器。 这将在本地机器上显示GUI,但程序实际上是在Linux机器上运行的。
或者,您可以运行XVFB在Linux机器上伪造GUI。 您将无法以任何方式查看GUI或与之进行交互,但对您而言可能无关紧要。
有一些Java的ncurses实现可用,像这样: http : //www.pitman.co.za/projects/charva/index.html
如果你从另外一台运行Linux的机器连接到你的用户ssh config( ~/.ssh/config
):
Compression yes CompressionLevel 9 ForwardX11 yes ForwardX11Trusted yes
然后,当你登录到远程Linux机器的GUI将被转发到本地屏幕。 请注意,它可能会很慢…特别是一些AWT应用程序甚至在局域网上也非常慢。
如果在Windows上,请安装CygWin及其Xserver组件。 OpenSSH
也是有帮助的。 当你通过CygWin的ssh
连接时,使用与上面相同的配置。 当然在运行Xserver之前先连接远程机器。 您也可以使用Putty连接到远程,但不要忘记在会话配置中启用X11转发和压缩。
远程计算机必须安装xauth
+ sshd
必须启用X11Forwarding
。 如果确定echo $DISPLAY
将显示localhost:10
。