首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果不使用SSH,如何在远程主机上显示xeyes?

如果不使用SSH,如何在远程主机上显示xeyes?
EN

Unix & Linux用户
提问于 2023-02-18 19:38:01
回答 1查看 179关注 0票数 1

我在两台机器上运行X--阿斯特拉(松弛软件15)和星云(macos mojave)。我想在阿斯特拉的地方运行xeyes,并在星云上显示它。我从各种文件中了解到,我应该能够:

代码语言:javascript
复制
xeyes -display nebula:X.Y

在阿斯特拉,X是星云的显示索引,Y是屏幕号码。

我尝试过X和Y的许多组合,以及no X或Y等,但都没有效果。我一直收到错误消息:

错误:无法打开显示:星云:X.Y

我能够显示在远程计算机上运行的X程序,在本地使用:

代码语言:javascript
复制
ssh -Y host

没有问题,但这不是我想要解决的问题。我希望能够在本地运行本地客户端,并使显示远程显示,如上文所述,并得到Xorg服务器的支持。

在过去的工作方式和现在的工作方式之间可能会有区别,我发现的文档已经比较老了。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2023-02-19 15:16:35

要在星云上显示,MacOS Mojave机器,来自阿斯特拉,Slackware 15机器,需要几个步骤:

  1. 在XQuartz首选项-安全性->允许从网络客户端连接.
  2. 重启XQuartz
  3. 从星云获得麻省理工学院魔法饼干-1。
  4. 把它添加到阿斯特拉的xauth列表中
  5. 从阿斯特拉运行客户端,它将显示在星云的屏幕上

以下是详细信息:

要查看X是如何启动的,请运行ps aux | grep X

代码语言:javascript
复制
user            96691   0.0  0.0  4279568   5012   ??  S    12:39PM   0:00.01 /opt/X11/bin/Xquartz :0 -nolisten tcp -iglx -auth /Users/user/.serverauth.96532

需要注意的关键是-nolisten tcp-auth。这分别表明X服务器没有监听TCP,到X服务器的连接需要身份验证。

更改XQuartz中的首选项以允许网络连接并重新启动它将导致以下更改:

代码语言:javascript
复制
user            97993   0.0  0.0  4279568   5004   ??  S     2:08PM   0:00.01 /opt/X11/bin/Xquartz :0 -listen tcp -iglx -auth /Users/user/.serverauth.97835

现在,XQuartz正在监听TCP,如-listen tcp所示。

要从星云、在星云上或通过远程登录获取神奇的auth cookie,请运行xauth list并找到正确的cookie:

代码语言:javascript
复制
nebula:0  MIT-MAGIC-COOKIE-1  240800a1f435f70d92f8f8c706eeb547

在astra上,使用以下方法将cookie添加到xauth列表中:

代码语言:javascript
复制
xauth add nebula:0 . 240800a1f435f70d92f8f8c706eeb547

如果一切顺利,您现在应该可以从astra运行xeyes了:

代码语言:javascript
复制
xeyes -display nebula:0

需要注意的事情:

  1. XQuartz需要运行:)
  2. 饼干必须是最新的。它会改变的。
  3. xauth add命令中有一个点是必需的。
票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/736030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档