如何在 acpi 触发脚本后启动图形应用程序

如何在 acpi 触发脚本后启动图形应用程序

我的旧 PC 使用 acpi 来捕获特殊按钮的操作,以便我可以针对某些事件执行一些脚本。问题是 - 我无法用它启动任何图形应用程序。所有图形应用程序都报告它们找不到显示器。我尝试输出 acpi 使用的用户和 tty,但没有用户也没有 tty,因此作为 Linux 新手,我假设 acpi 在某些系统引擎下运行。

PC 在 antiX linux 下运行,因此没有 DE,只有 WM(带有 X11 服务器),也没有 systemd 和 systemctl。问题是,在 acpi 触发脚本后,如何在当前 X11 服务器会话中启动图形应用程序?

答案1

好吧,我有点混蛋这就是答案. 基本上,您需要在 acpi 处理程序文件或脚本文件中导出显示和权限,如下所示:

export DISPLAY=:0.0
export XAUTHORITY=/home/<your name>/.Xauthority

现在,如果您要在 acpi 处理程序中执行图形应用程序命令,它将启动,但将由 root 用户执行。为了在您的用户下执行脚本或命令,您需要使用sudo runuser -l <user name> -c <command to execute>,此外,如果您想在您的用户下执行命令,您需要在其中插入导出命令你的脚本和不是acpi 处理程序文件

相关内容