gpt4 book ai didi

linux - 如何从 X session 之外(例如从控制台或 SSH)运行 X 程序

转载 作者:IT老高 更新时间:2023-10-28 12:39:07 24 4
gpt4 key购买 nike

如果不是在控制台上登录的人,我如何运行 X 应用程序并让它在 X session 中显示?假设我是 root,或者我是登录的同一个用户,所以原则上我有权这样做。但是我如何说服 X 相信这一点呢?

此类情况的一些示例:

  • 使用 SSH 登录并运行显示在远程计算机屏幕上的程序(通过 SSH 建立隧道——完全不同)
  • 通过 ImageMagick 的 import 命令截取 X session 屏幕截图的 cron 作业
  • 为审计目的运行击键记录器

这是 Launch OpenGL app straight from a windowless Linux Terminal 的更简单版本

最佳答案

简短的回答是您必须设置 DISPLAY 环境变量,然后应用程序才会运行。

长答案是我们有 Xauth,除非您在同一台机器上以同一用户身份运行,否则除非您将 Xauth 凭据从运行 X 服务器的帐户导出到该帐户,否则可能无法正常工作运行 X 客户端。 ssh -X 为您处理这个问题,这就是它很棒的原因,但是手动过程涉及在 X 服务器帐户上运行 xauth extract - $DISPLAY 并将该数据输入 xauth merge - 在客户帐户上。 (警告:数据是二进制的。)

在现代 Linux 系统上,在 :0 处有一个 X session ,并且 X11 权限数据文件始终为 $HOME/.Xauthority,因此您通常可以设置两个环境变量,例如,在重击:

export XAUTHORITY=/home/$your_username/.Xauthority
export DISPLAY=':0'

关于linux - 如何从 X session 之外(例如从控制台或 SSH)运行 X 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1584411/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com