这个问题似乎与 a specific programming problem, a software algorithm, or software tools primarily used by programmers 无关.如果您认为该问题将成为 another Stack Exchange site 上的主题,您可以发表评论,说明在哪里可以回答问题。
关闭 8 年前。
如果不是在控制台上登录的人,我如何运行 X 应用程序并让它在 X session 中显示?假设我是 root,或者我是登录的同一个用户,所以原则上我有权这样做。但是我如何说服 X 相信这一点呢?
此类情况的一些示例:
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/