我有一个带对话框的简单java程序
String s = (String)JOptionPane.showInputDialog(
frame,
"Complete the sentence:\n"
+ "\"Green eggs and...\"",
"Customized Dialog",
JOptionPane.PLAIN_MESSAGE,
icon,
possibilities,
"ham");
如果我从Raspbian
终端启动该程序,Dialog Box
会出现,但是如果我从我的macbook连接Raspbian
并SSH
,我就会启动该程序在那里Dialog Box
没有出现。可能是什么问题?
答案 0 :(得分:1)
当您使用ssh时,您只有一个终端,即它显示字符。你需要使用X11。这将允许您从远程计算机显示窗口和图形。
你需要:
Mac上的X11服务器(这听起来有点令人困惑,但它提供了显示图形的服务)。 X11曾经是OS X的一部分,但不再是。它可以从这里安装:https://www.xquartz.org/
打开一个X11终端并启用远程主机的X11访问(参见xhost
命令的手册页。最短的方式是xhost +
允许从任何地方访问,但这是非常糟糕的安全性,除非在您信任所有机器的环境中,您安全地位于防火墙后面)
在ssh服务器端允许x11Forwarding(请参阅https://unix.stackexchange.com/questions/12755/how-to-forward-x-over-ssh-from-ubuntu-machine)
在启用x11Forwarding的情况下打开您的ssh连接:ssh -X your-server