【问题标题】:Why is $DISPLAY sometimes :0 and sometimes :1为什么 $DISPLAY 有时是 :0 有时是 :1
【发布时间】:2013-01-18 08:27:05
【问题描述】:

我正在使用 xmacro 录制键盘快捷键,这需要 $DISPLAY 才能重播。但是,有时我的$DISPLAY:0 有时是 :1,所以每次发生这种情况时,我都必须手动更改值。为什么它不断变化,有没有办法将 $DISPLAY 值永久设置为 :0:1? (我可以在一个终端中导出DISPLAY=:0,但这不会改变新终端中$DISPLAY 的值。)

【问题讨论】:

    标签: bash environment-variables


    【解决方案1】:

    号码标识the display ("a collection of monitors that share a keyboard and mouse")

    :0 通常是本地显示器(即您坐在电脑前时的主显示器)。

    :1 通常在您启用显示转发并登录到远程计算机时被 SSH 等服务使用。

    它也可以通过尝试“修复”它的启动脚本来修改。要确定是否发生这种情况,请运行

    grep DISPLAY ~/.??*
    

    .??* 是获取所有不带...(父文件夹和当前文件夹)的点文件的技巧。

    如果没有打印任何内容,请以类似方式检查/etc/profile/etc/bash*/etc/bash*/*

    我找不到有用的 xmacro 手册,但大多数 X11 应用程序支持选项 -d-display 覆盖 $DISPLAY

    如果这不起作用,请使用以下内容创建 xmacro.sh

     #!/bin/bash
    
     export DISPLAY=:0
     exec xmacro "$@"
    

    现在使用xmacro.sh 调用该工具,它应该始终有效。

    【讨论】:

    • 在一台大型机器上,您可以有数十个DISPLAY 设备共享一个 CPU 和 X“服务器”。 (X 客户端与服务器的术语令人困惑,所以我什至不想纠正。)
    • X 客户端是向 X 服务器发送渲染命令的应用程序。 X 服务器是可以执行这些渲染命令的东西。令人困惑的是,X 服务器通常运行在办公桌下的 PC 上,而 X 客户端有时运行在某个远程服务器或本地。
    • 是的,我不想再查了,但是你来了(-:
    猜你喜欢
    • 2019-09-20
    • 2012-06-13
    • 2018-07-02
    • 1970-01-01
    • 2012-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-21
    相关资源
    最近更新 更多