当前位置: 首页 > 工具软件 > XQuartz > 使用案例 >

mac X11 XQuartz的安装与使用

潘宸
2023-12-01

mac X11 XQuartz的安装与使用

本地系统:MacOS 12.4

远程主机系统:Ubuntu 18.04

命令说明

ssh命令

ssh 命令大家很熟悉了,这里仅介绍与 X11 forwarding 相关的几个选项。

本部分译自 ssh 命令手册,可见 man ssh

  • -X :打开 X11 forwarding。也可以通过在 configuration 文件中对每个 host 单独进行设置。
    • 应谨慎启用 X11 forwarding。具有绕过远程主机文件权限的用户(对于用户的X授权数据库)可以通过转发连接访问本地X11显示器。攻击者可能能够执行诸如击键监控之类的活动。 因此,X11 forwarding 默认受到 X11 SECURITY 扩展限制。 有关更多信息,请参阅 ssh_config(5) 中的 ssh -Y 选项和 ForwardX11Trusted 指令。
  • -x:关闭 X11 forwarding。
  • -Y:信任该 X11 forwarding,被信任的 X11 forwarding 不受到 X11 SECURITY 扩展限制。

xhost命令

xhost 是用来控制X server访问权限的。

通常当你从 hostA 登陆到 hostB 上运行 hostB 上的应用程序时,做为应用程序来说,hostA 是 client,但是对图形来说,是在 hostA 上显示的,需要使用 hostA 的 Xserver,所以 hostA 是 server。因此在登陆到 hostB 前,需要在 hostA 上运行 xhost + 来使其它用户能够访问 hostA 的 Xserver。

步骤

  1. 下载XQuartz并安装;

  2. 使用 xhost 命令,为远程主机添加权限:

    xhost + 10.199.160.252
    

    将上述 ip 换成自己的远程主机 ip。

  3. ssh 连接远程主机并打开 X11 forwarding:

    ssh -XY song@10.199.160.252
    
  4. 可以通过 xclock 命令来验证 X11 forwarding 是否能正常运行:

    xclock
    

    如果在本机出现一个钟表的图形界面说明转发成功。

可能的问题及解决方法

  1. 在本机设置:

    defaults write org.macosforge.xquartz.X11 enable_iglx -bool true
    
  2. 指定显示端口

    export DISPLAY=localhost:1122
    
  3. 如果遇到乱码,可尝试:

    export LANG=C
    

Ref:

https://blog.csdn.net/wang_zh1/article/details/107871367

 类似资料: