don Rumata Asked:2020-04-22 05:41:22 +0000 UTC2020-04-22 05:41:22 +0000 UTC 2020-04-22 05:41:22 +0000 UTC 找出 Linux 上是否安装了图形环境的最短且最通用的方法是什么? 772 当然,你可以列出与 , , 相关的包x11,wayland或者mir为 写一个很长的正则表达式pgrep,但我要简洁。 linux 2 个回答 Voted user244413 2020-04-22T07:17:23Z2020-04-22T07:17:23Z $loginctl show-session "$XDG_SESSION_ID" -p Type Type=x11 还有一些吗 $ echo $XDG_SESSION_TYPE x11 但它并不总是有效。 更新:如果显示管理器没有运行,那么它会写入tty. 感 谢唐鲁马塔的澄清。 这不适用于 Ansible,请参阅评论。 来源。 Best Answer don Rumata 2022-06-29T09:05:25Z2022-06-29T09:05:25Z 我很偶然发现它。一般来说,安装它systemd并且有某种 gui 的地方,也有一个 service display-manager.service。我在几台没有 X 的机器上试了一下,恶魔不存在。 对于 Ansible,您可以执行以下操作: --- - name: Run if gui is installed hosts: all strategy: free serial: - "100%" tasks: - service_facts: when: ansible_system == 'Linux' - name: abc when: - ansible_system == 'Linux' - ansible_facts.services["display-manager.service"].state == 'active' command: echo 1111111111
还有一些吗
但它并不总是有效。
更新:如果显示管理器没有运行,那么它会写入
tty. 感 谢唐鲁马塔的澄清。这不适用于 Ansible,请参阅评论。
来源。
我很偶然发现它。一般来说,安装它
systemd并且有某种 gui 的地方,也有一个 servicedisplay-manager.service。我在几台没有 X 的机器上试了一下,恶魔不存在。对于 Ansible,您可以执行以下操作: