Linux 试图运行xdool,但得到';Can';t打开显示:(空)和#x27;

Linux 试图运行xdool,但得到';Can';t打开显示:(空)和#x27;,linux,macos,devops,xdotool,Linux,Macos,Devops,Xdotool,很抱歉再次报告此众所周知的错误消息 对我来说什么都不管用。如果这很重要的话,我正在运行MacOS Catalina 我用brew在Mac上安装了xdool,并尝试运行 xdotool getmouselocation 下面的错误消息是 Error: Can't open display: (null) Failed creating new xdo instance 我一直在寻找解决方案,找到了很多答案。运行export DISPLAY=:0,一切正常。但这对我不起作用 PS:为了更好地理解

很抱歉再次报告此众所周知的错误消息

对我来说什么都不管用。如果这很重要的话,我正在运行MacOS Catalina

我用
brew
在Mac上安装了
xdool
,并尝试运行

xdotool getmouselocation
下面的错误消息是

Error: Can't open display: (null)
Failed creating new xdo instance
我一直在寻找解决方案,找到了很多答案。运行
export DISPLAY=:0
,一切正常。但这对我不起作用

PS:为了更好地理解:显示到底意味着什么?它是我电脑的显示器?

根据

X11不再包含在Mac中,但XQuartz项目提供了X11服务器和客户端库

为什么X11在这种情况下很重要

xdool-命令行X11自动化工具

因此,除了设置
导出显示=:0

安装
xquartz

显示的确切含义是什么? 根据

从用户的角度来看,每个X服务器都有一个表单的显示名称:

               hostname:displaynumber.screennumber
应用程序使用此信息来确定应如何使用它 连接到服务器,默认情况下应使用哪个屏幕(打开 使用多个监视器显示):

  • 主机名 主机名指定显示器物理连接到的机器的名称。如果未提供主机名,则 与同一台机器上的服务器通信的最有效方式 将使用

  • 显示号码 短语“display”通常用于指共用一个键盘和指针(鼠标、平板电脑、, 等等)。大多数工作站往往只有一个键盘,而且 因此,只有一个显示器。但是,更大的多用户系统, 通常有多个显示器,以便可以显示多个人 一次完成图形工作。为避免混淆,每个显示在 当X时,机器被分配一个显示编号(从0开始) 该显示的服务器已启动。显示屏编号必须始终为 以显示名称给出

  • 屏幕号码 某些显示器在两个或多个显示器之间共享一个键盘和指针。由于每个监视器都有自己的一组窗口,因此每个 当X服务器启动时,屏幕被分配一个屏幕编号(从0开始) 因为该显示已启动。如果未给出屏幕编号,则显示屏幕 将使用0

  • 有更简单的描述

    显示器由(简化的)以下部件组成:

    • 键盘
    • 老鼠
    • 屏风

    i、 e.当您通过ssh连接时,您使用的是这3个组件的不同集合。

    xdool
    是X11窗口系统的自动化工具。macOS不使用X11-虽然可以安装,但不太可能给出您想要的结果。这似乎是一个XY问题-您正试图用xdotool解决的问题到底是什么?请特别参阅“关键术语”部分,了解X11D中显示内容的详细说明。您是否找到了解决方法?