--- - name: install packages apt: name: - xserver-xorg - xserver-xorg-video-all - x11-xserver-utils - xinit - unclutter - xterm - ratpoison - chromium state: present - name: create kiosk user user: name: kiosk home: /var/lib/kiosk create_home: no shell: /bin/sh system: yes groups: - video - render state: present - name: create empty user dir for kiosk file: path: /var/lib/kiosk state: directory owner: kiosk group: kiosk - name: install .xinitrc copy: content: | xset dpms force on xset dpms 0 0 0 xset s off xsetroot -solid '#000000' {% if browser_kiosk_xinit_commands_extra is defined %} {{ browser_kiosk_xinit_commands_extra }} {% endif %} unclutter & ratpoison & /var/lib/kiosk/run dest: /var/lib/kiosk/.xinitrc owner: kiosk group: kiosk - name: install .profile copy: content: | if [ -z "$DISPLAY" ]; then case $(tty) in /dev/tty1) startx exit 0 ;; esac fi dest: /var/lib/kiosk/.profile owner: kiosk group: kiosk - name: install .ratpoisonrc copy: content: | set border 0 dest: /var/lib/kiosk/.ratpoisonrc owner: kiosk group: kiosk - name: install run script copy: content: "{{ browser_kiosk_run_script }}" dest: /var/lib/kiosk/run owner: kiosk group: kiosk mode: 0755 - name: create override direcotry for getty@tty1 service unit file: path: /etc/systemd/system/getty@tty1.service.d state: directory - name: generate override for getty@tty1 service unit copy: content: | [Service] ExecStart= ExecStart=-/sbin/agetty --autologin kiosk --noclear %I $TERM RestartSec=2 StartLimitInterval=5 StartLimitBurst=3 dest: /etc/systemd/system/getty@tty1.service.d/autologin.conf - name: make sure getty@tty1 service unit is enabled and started systemd: daemon_reload: yes name: getty@tty1.service state: started enabled: yes