【问题标题】:Why I can't open an application with ssh?为什么我无法使用 ssh 打开应用程序?
【发布时间】:2021-04-09 21:38:37
【问题描述】:

我在 mac 上使用终端打开应用程序时遇到问题。 我正在使用 Macbook(在 High Sierra 10.13.6 上运行)并希望使用 ssh 在远程计算机上打开应用程序。这台远程计算机是 Imac (MacOS Catalina)。

我尝试使用以下命令行启动应用程序:

打开 -a TeamViewer

但是打开失败并返回如下错误信息:

应用程序 /Applications/TeamViewer.app 的 LSOpenURLsWithRole() 失败,错误为 -610。

有没有人知道如何解决这个问题?

谢谢,

【问题讨论】:

  • 您希望应用程序的窗口在您的 MacBook 上打开吗? ssh 不会隧道化 macOS GUI。
  • @chepner:感谢您的回复。不,我不希望这样,我只想在远程计算机上启动应用程序,这样我就有可能在我的笔记本电脑和这台远程计算机之间打开一个 teamViewer 会话。我上面提到的命令(open -a TeamViewer)在我最近重新启动远程计算机之前一直有效。
  • @Ken Thomases 感谢您的回复。抱歉,我不明白我应该从哪里开始寻找。
  • @Bibash 好的。我认为问题可能仍然是 ssh 使用无法访问 GUI 的进程登录您。要么使用ssh 以外的其他东西(如Apple Remote Desktop),要么使用AppleScript 而不是open 来请求启动TeamViewer。

标签: macos ssh


【解决方案1】:

这是因为您试图以 root 身份打开 TeamViewer。我假设 root 用户没有打开窗口管理器。

您可以通过 Mac 登录屏幕以 root 身份登录 Mac,然后以 root 身份尝试 ssh 进入计算机并尝试再次打开 TeamViewer,但如果您只使用 w 查看谁已登录,它会更容易且更少 bat5h1t,然后登录 [username-thats-logged-in] 然后打开 TeamViewer。

希望这会有所帮助。

【讨论】:

  • 无论谁登录到桌面,root 启动的应用程序都可以连接到桌面。其他普通特权用户无法在其他用户桌面上打开应用程序。
【解决方案2】:

您正在尝试以与当前登录用户不同的用户身份运行 Teamviewer Gui 应用程序,或者根本没有用户登录,因此应用程序没有权限或没有用户显示服务器可连接.

如果您已安装 TeamViewer,它还应安装适当的 LaunchDaemons 并在机器启动时启动该服务。

/Library/LaunchDaemons/com.teamviewer.teamviewer_service.plist

在这个文件中,我找到了启动 teamviewer 服务的命令:

/Applications/TeamViewer.app/Contents/MacOS/TeamViewer_Service -Module Full

当我运行这个命令时(你可能想要后台或 nohup)我可以看到服务器进程正在运行:

77890 ttys000    0:00.34 /Applications/TeamViewer.app/Contents/MacOS/TeamViewer_Service -Module Full

取决于该机器上 teamviewer 的配置方式。它可以侦听 LAN 连接和/或建立与 teamviewer 云服务器的连接。

您可以使用 netstat 或 lsof 来验证这一点。

标记

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-13
    • 1970-01-01
    相关资源
    最近更新 更多