Ansible-如何检测您是否在装有GUI系统的Linux机器上?

Kar*_*k T 2 user-interface ansible ansible-playbook

我试图用ansible设置我的dotfiles / machine bootstrap东西,并且我想安装一堆GUI工具,但前提是我在支持它的机器上。我ansible_os_family == 'Debian'用来检测apt-get可以工作。不知道如何检查是否安装了例如gtk或类似的东西。

小智 5

Ansible 对程序包管理器有很多支持,并且很高兴与apt一起很好地工作。不幸的是,当前没有一种方法可以检查是否使用此模块安装了软件包。但是,这可以通过注册命令结果来完成。这样的事情应该起作用:

- name: Check if gtk is installed
  command: dpkg-query -l gtk
  register: gtk_check

- name: Install GTK application 
  apt: name=gtk-program state=present
  when: gtk_check.stdout.find('no packages found') != -1
Run Code Online (Sandbox Code Playgroud)