如何通过SSH运行GUI应用程序?


10

我习惯于在Unix / Linux上工作,最近搬到了Mac上。以前能够做到这一点:

derick@linux1:~$ ssh -X linux2
derick@linux2's password:
derick@linux2:~$ xclock

我从maxports安装X11,我可以从我的mac做同样的事情。如果我通过从linux ssh进入我的mac尝试相反,我只能运行某些应用程序:

  • /usr/X11/bin/xclock 工作正常
  • /Applications/Preview.app/Contents/MacOS/Preview在Mac上打开GUI 一样。

    看来这在Mac上是不可能的?如果没有,如何使用本地(linux)显示器远程(在Mac上)运行应用程序?我需要一些第三方应用吗?

更新: 更确切地说:我有协同作用并使用Mac进行编码。在我的linux PC上,我希望看到Mac上的另一个应用程序显示(GUI)。因此,像VNC这样的“实时屏幕共享”应用程序将无法运行。

例如,我正在应用程序A(比如Word)中使用我的mac,并希望在我旁边的linux PC上看到Excel的输出(在mac上运行)。(通过网络模拟双屏幕)。它在linux上很好用,希望能为mac提供解决方案。


如果没有通过SSH的解决方案,我也会对此感兴趣。问题是我想通过我旁边的网络在PC上运行本地应用程序的显示,就像我以前用过linux一样。
Derick Schoonbee 2011年

我可以问你为什么要避免VNC?网络滞后问题?
尼古拉斯史密斯

我目前正在使用Mac,因此屏幕被“占用”。我想在Mac上运行另一个应用程序,输出显示在我旁边的PC上。就像我用linux做的那样。希望在mac上看到解决方案。
Derick Schoonbee 2011年

顺便说一句,你不必通过macports安装X11 ...... X11自带OS X.
Yuji

啊哈,所以你对VNC的反对不是因为任何VNC问题,而是因为屏幕限制?
尼古拉斯史密斯

Answers:


9

所以,如果我没有弄错你的VNC目前的问题是,它是否与你打开的应用程序共享当前Mac用户的屏幕,你不想在另一台计算机上看到它?Lion引入了筛选在后台登录的共享用户的功能。引用链接中的文字:

  • 启用屏幕共享并设置VNC密码。
  • 记下您计算机的IP地址。
  • 在另一台计算机上启动VNC客户端。
  • 连接到计算机的IP地址以及您之前设置的密码。
  • 您将看到首次启动计算机时出现的Mac OS X登录屏幕。如果您登录当前活动的用户,您将控制计算机的屏幕。如果您选择其他用户,您将在后台登录该用户的桌面。它不会影响物理计算机屏幕上显示的内容。

您可能只需要创建另一个用户进行共享。


太好了,这似乎是我想要的!现在我有另一个动力升级到Lion。我很快就会测试,也许接受这个作为答案。谢谢!
Derick Schoonbee 2011年

Darn,我刚刚升级,我通过VNC获得登录屏幕。但它不想让我的键盘被抚摸。因此我无法登录:(
Derick Schoonbee 2011年

这很奇怪 - 您使用的VNC客户端是什么?
cftarnas 2011年

17

Mac OS X本机应用程序不使用X协议进行渲染,而是使用Mac特定协议。因此,您不能像使用Linux工作站那样使用ssh X协议转发。

正如您所发现的那样,事实并非如此,您可以在Mac OS X上安装X服务器并在Mac上显示Linux程序。

您可以使用Mac自己的桌面共享工具或安装VNC服务器。然后从Linux框中,通过VNC而不是ssh连接到Mac。


谢谢你的信息。如果我可以在Mac上使用某些类似的功能,我想知道什么。例如,当我在我的Mac上工作/登录时,我可以使用linux1的桌面共享工具吗?
Derick Schoonbee 2011年

是的,您可以在Linux上运行VNC服务器并使用VNC客户端从Mac连接它(Mac上有一些免费的VNC客户端,Linux上有免费的VNC服务器)。
Sylvain Defresne 2011年

嗯... VNC没有削减它:我正在应用程序A(比如说Word)上我的mac工作,想在我旁边的linux PC上看到Excel(在mac上运行)的输出。
Derick Schoonbee 2011年

正如Sylvain所说,这在Mac上是不可能的。操作系统的底层架构不允许这种类型的使用。
Samuel Mikel Bowles

3
请参阅我的回答,但对于Lion,可以在Mac上使用其他用户进行VNC会话。
cftarnas 2011年

7

正如Sylvian所提到的,您无法运行Mac应用程序并在Linux上显示它们。你能做的最好的就是VNC。你会看到整个屏幕,而不仅仅是一个应用程序。

在屏幕共享首选项中启用VNC密码:

屏幕共享首选项

然后,您可以在Linux上使用任何VNC客户端应用程序。


0

你有点不走运,但ScreenRecycler会让你尽可能接近。运行VNC但说服OS X VNC连接实际上是一个单独的监视器,它应该允许您接近您需要的。我已经习惯了它,它非常好,有免费试用,然后它很便宜。我完全停止使用它,因为我在一个糟糕的网络上,除非我直接联网这两者,否则有太多的延迟。


0

获得一点创意,但您也可以使用具有http服务器的VNC运行Java应用程序,或者在我的情况下使用循环来查找文件并使用SSH创建该文件。

是我的java应用程序。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.