From eab3b75bffbbc1622aed44b043b423addd18610e Mon Sep 17 00:00:00 2001 From: Raphael Dannecker Date: Wed, 13 Mar 2024 13:06:47 +0100 Subject: [PATCH] Fix implementing printing from virtual machines. Already installed "IPP everywhere" printers have to be replaced by "driverless" printers. Fix Listen address in cupsd.conf because VMBridge IP is not yet avaible when cups is starting. --- lmn-client.yml | 21 +++++++++++++++++++++ roles/lmn_printer/tasks/main.yml | 6 +++--- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/lmn-client.yml b/lmn-client.yml index 75edb58..c2eb2c0 100644 --- a/lmn-client.yml +++ b/lmn-client.yml @@ -268,6 +268,27 @@ chdir: /lmn/vm/ when: not vm_usage_information.stat.exists + - name: Detect if IPP-Everywhere printers exist + ansible.builtin.shell: + cmd: grep "IPP Everywhere" /etc/cups/printers.conf + register: ipp_everywhere + failed_when: ipp_everywhere.rc >= 2 + changed_when: False + + - name: Delete old IPP-Everywhere printers + shell: + cmd: | + for p in $(lpstat -p | cut -d" " -f2); do + lpadmin -x "$p" + done + when: not ipp_everywhere.rc + + - name: Remove Listen on VMBridge + lineinfile: + dest: /etc/cups/cupsd.conf + line: 'Listen 192.168.122.1:631' + state: absent + ## bookworm fixes/hacks: - name: Work around sddm hang on shutdown ansible.builtin.lineinfile: diff --git a/roles/lmn_printer/tasks/main.yml b/roles/lmn_printer/tasks/main.yml index 419edd9..5917d47 100644 --- a/roles/lmn_printer/tasks/main.yml +++ b/roles/lmn_printer/tasks/main.yml @@ -12,11 +12,11 @@ line: '\1No' backrefs: yes -- name: Listen on VMBridge +- name: Listen on all Interfaces lineinfile: dest: /etc/cups/cupsd.conf - line: 'Listen 192.168.122.1:631' - insertafter: 'Listen localhost:631' + line: 'Listen *:631' + regexp: '^Listen localhost' state: present - name: Allow access from localhost and from VM