From 9a53fbc1de98e499a1cf11cbde9f3b6064f0fbec Mon Sep 17 00:00:00 2001 From: Alexander Grothe Date: Sun, 21 Jan 2018 10:03:18 +0100 Subject: [PATCH] Allow autospawning of pulseaudio This possible because in bionic pulseaudio is a dbus activated service within the user session. --- Manual.html | 934 +++++++++++---------- Manual.org | 2 +- roles/yavdr-xorg/tasks/desktop-session.yml | 2 +- 3 files changed, 480 insertions(+), 458 deletions(-) diff --git a/Manual.html b/Manual.html index 509400b..d7479d4 100644 --- a/Manual.html +++ b/Manual.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + Ansible Playbooks for yaVDR 0.7 @@ -240,249 +240,249 @@ for the JavaScript code in this tag.

Inhaltsverzeichnis

-
-

1 User Stories

+
+

1 User Stories

-
-

1.1 yavdr-full

+
+

1.1 yavdr-full

A User wants to install yaVDR without customization and relies on full automation. @@ -515,22 +515,22 @@ Several roles are used to tie everything together:

-
-

1.1.1 Using vdr, pulseaudio and xorg together

+
+

1.1.1 Using vdr, pulseaudio and xorg together

-
-

2 Introduction

+
+

2 Introduction

One of the major problems we faced with customized Ubuntu ISO files as installation media for prior yaVDR versions has been the limited hardware support and the time consuming process to create and update them. An interesting alternative to this approach is to enable the user to choose the installation medium himself so point releases, kernel versions and additional drivers can be chosen deliberately. After the basic setup is complete (and a working internet connection is available), a fully customizable install script completes the yaVDR installation.

-
-

3 Installing and configuring yaVDR with Ansible

+
+

3 Installing and configuring yaVDR with Ansible

This is an experimental feature which allows to set up a yaVDR installation based on a normal Ubuntu Server 16.04.x installation using Ansible. @@ -547,6 +547,7 @@ To use this playbook on a Ubuntu Server Installation you need to run the followi

sudo apt-get install git
 git clone https://github.com/yavdr/yavdr-ansible.git
 cd yavdr-ansible
+git checkout bionic
 sudo ./install-yavdr.sh
 
@@ -564,8 +565,8 @@ We use a callback to generate tags for all roles autmatically:
-
-

3.1 Install script for local usage

+
+

3.1 Install script for local usage

if (( $EUID != 0 )); then
@@ -588,12 +589,12 @@ ansible-playbook yavdr07.yml -b -i 'localhost_inventory
 
-
-

4 Playbooks

+
+

4 Playbooks

-
-

4.1 yavdr07.yml

+
+

4.1 yavdr07.yml

The yavdr07.yml playbook sets up a fully-featured yaVDR installation: @@ -612,7 +613,7 @@ The yavdr07.yml playbook sets up a fully-featured yaVDR installatio - autoinstall-ubuntu-drivers # use ubuntu-drivers to install proprietary dirvers # (e.g. nvidia, virtualbox) - autoinstall-virtualbox-guest - # - nvidia-387 # install very recent nvidia-387 from ppa:graphics-drivers/ppa + # - nvidia-experimental # install very recent nvidia dirver from ppa:graphics-drivers/ppa - vdr # install vdr and related packages - yavdr-network # enable network client capabilities - samba-install # install samba server @@ -643,8 +644,8 @@ The yavdr07.yml playbook sets up a fully-featured yaVDR installatio

-
-

4.2 yavdr07-headless.yml

+
+

4.2 yavdr07-headless.yml

For a headless server installation yavdr07-headless.yml is a good choice @@ -677,8 +678,8 @@ For a headless server installation yavdr07-headless.yml is a good c

-
-

5 Hosts

+
+

5 Hosts

This playbook can either be used to run the installation on the localhost or any other PC in the network that can be accessed via ssh. Simply add the host names or IP addresses to the hosts file in the respective section: @@ -692,12 +693,12 @@ This playbook can either be used to run the installation on the localhost or any

-
-

6 Group Variables

+
+

6 Group Variables

-
-

6.1 PPAs

+
+

6.1 PPAs

---
@@ -715,8 +716,8 @@ This playbook can either be used to run the installation on the localhost or any
 
-
-

6.2 VDR user, directories, special configuration and plugins

+
+

6.2 VDR user, directories, special configuration and plugins

# properties of the user vdr and vdr-related options
@@ -742,8 +743,8 @@ This playbook can either be used to run the installation on the localhost or any
 
-
-

6.3 Media directories

+
+

6.3 Media directories

# dictionary of directories for (shared) files. Automatically exported via NFS and Samba if those roles are enabled
@@ -758,8 +759,8 @@ This playbook can either be used to run the installation on the localhost or any
 
-
-

6.4 NFS

+
+

6.4 NFS

nfs:
@@ -768,8 +769,8 @@ This playbook can either be used to run the installation on the localhost or any
 
-
-

6.5 Samba

+
+

6.5 Samba

samba:
@@ -779,8 +780,8 @@ This playbook can either be used to run the installation on the localhost or any
 
-
-

6.6 Additional packages

+
+

6.6 Additional packages

# additional packages you want to install
@@ -796,8 +797,8 @@ This playbook can either be used to run the installation on the localhost or any
 
-
-

6.7 System pre-configuration

+
+

6.7 System pre-configuration

frontend: vdr
@@ -812,20 +813,20 @@ This playbook can either be used to run the installation on the localhost or any
 
-
-

7 Roles

+
+

7 Roles

-
-

7.1 install-dependencies

+
+

7.1 install-dependencies

-
-

7.1.1 tasks

+
+

7.1.1 tasks

    -
  1. main.yml
    +
  2. main.yml
    ---
    @@ -845,19 +846,19 @@ This playbook can either be used to run the installation on the localhost or any
     
    -
    -

    7.2 nvidia-387 drivers

    +
    +

    7.2 nvidia experimental drivers

    install nvidia-387 from ppa:graphics-drivers/ppa

    -
    -

    7.2.1 tasks

    +
    +

    7.2.1 tasks

      -
    1. main.yml
      +
    2. main.yml
      ---
      @@ -876,7 +877,7 @@ install nvidia-387 from ppa:graphics-drivers/ppa
           state: present
           install_recommends: no
         with_items:
      -    - nvidia-387
      +    - nvidia-390
           - nvidia-settings
         tags:
           - packages
      @@ -887,15 +888,15 @@ install nvidia-387 from ppa:graphics-drivers/ppa
       
    -
    -

    7.3 yavdr-common

    +
    +

    7.3 yavdr-common

    This role is used to set up a basic yaVDR installation. It creates the directories, installs the vdr and other useful packages.

    -
    -

    7.3.1 default variables

    +
    +

    7.3.1 default variables

    This section is for reference only, please use the files in global_vars for customizations. @@ -908,7 +909,7 @@ This section is for reference only, please use the files in global_vars

      -
    1. Repositories
      +
    2. Repositories

      You can set a list of package repositories which provide the necessary packages. Feel free to use own PPAs if you need special customization to the VDR and it’s plugins. @@ -925,7 +926,7 @@ You can set a list of package repositories which provide the necessary packages.

  3. -
  4. Drivers
    +
  5. Drivers

    Automatically installed drivers can be very useful, but if you know you need a certain driver, you can simply set it’s value to true. If you don’t want a driver to be installed, set it’s value to false. @@ -938,7 +939,7 @@ Automatically installed drivers can be very useful, but if you know you need a c

-
  • Additional Packages
    +
  • Additional Packages

    Add additional packages you would like to have on your installation to this list @@ -952,7 +953,7 @@ Add additional packages you would like to have on your installation to this list

  • -
  • VDR
    +
  • VDR

    This section allows you to set the recording directory, the user and group that runs the vdr and it’s home directory. @@ -985,15 +986,15 @@ This section allows you to set the recording directory, the user and group that

  • -
    -

    7.3.2 tasks

    +
    +

    7.3.2 tasks

    yavdr-common executes the following tasks:

      -
    1. main.yml
      +
    2. main.yml
      ---
      @@ -1009,7 +1010,7 @@ yavdr-common executes the following tasks:
       
        -
      1. Disable default installation of recommended packages
        +
      2. Disable default installation of recommended packages

        This task prevents apt to automatically install all recommended dependencies for packages: @@ -1026,7 +1027,7 @@ This task prevents apt to automatically install all recommended dependencies for

    -
  • Set up package repositories
    +
  • Set up package repositories
    - name: add PPAs
    @@ -1046,7 +1047,7 @@ This task prevents apt to automatically install all recommended dependencies for
     
  • -
  • Use bash instead of dash
    +
  • Use bash instead of dash
    - name: use bash instead of dash
    @@ -1058,10 +1059,10 @@ This task prevents apt to automatically install all recommended dependencies for
     
  • -
  • create user vdr
  • -
  • Disable release-upgrade notifications
    +
  • create user vdr
  • +
  • Disable release-upgrade notifications
      -
    1. SOMEDAY move from lineinfile to template
      +
    2. SOMEDAY move from lineinfile to template
      - name: disable release-upgrade notifications
      @@ -1083,7 +1084,7 @@ This task prevents apt to automatically install all recommended dependencies for
       
  • -
  • Install essential packages
    +
  • Install essential packages
    - name: apt | install basic packages
    @@ -1115,7 +1116,7 @@ This task prevents apt to automatically install all recommended dependencies for
     
  • -
  • Install additional packages (user defined)
    +
  • Install additional packages (user defined)
    - name: apt | install extra packages
    @@ -1129,13 +1130,13 @@ This task prevents apt to automatically install all recommended dependencies for
     
  • -
  • create directories
  • +
  • create directories
  • -
    -

    7.3.3 templates

    +
    +

    7.3.3 templates

    {{ ansible_managed | comment('c') }}
    @@ -1147,12 +1148,12 @@ APT::Install-Suggests "0";
     
    -
    -

    7.4 collect facts about the system with custom modules

    +
    +

    7.4 collect facts about the system with custom modules

    -
    -

    7.4.1 variables

    +
    +

    7.4.1 variables

    first_run: False
    @@ -1160,12 +1161,12 @@ APT::Install-Suggests "0";
     
    -
    -

    7.4.2 tasks

    +
    +

    7.4.2 tasks

      -
    1. main.yml
      +
    2. main.yml
      - name: get information about usb and pci hardware and loaded kernel modules
      @@ -1205,16 +1206,16 @@ APT::Install-Suggests "0";
       
    -
    -

    7.5 vdr

    +
    +

    7.5 vdr

    -
    -

    7.5.1 tasks

    +
    +

    7.5.1 tasks

      -
    1. install the basic vdr packages
      +
    2. install the basic vdr packages
      ---
      @@ -1233,7 +1234,7 @@ APT::Install-Suggests "0";
       
    3. -
    4. Add svdrp/svdrp-disc to /etc/services
      +
    5. Add svdrp/svdrp-disc to /etc/services
      - name: add svdrp and svdrp-disc to /etc/services
      @@ -1248,7 +1249,7 @@ APT::Install-Suggests "0";
       
    6. -
    7. Set up the recording directory for the vdr user
      +
    8. Set up the recording directory for the vdr user
      - name: create vdr recdir
      @@ -1283,7 +1284,7 @@ APT::Install-Suggests "0";
       
    9. -
    10. Install additional vdr plugins
      +
    11. Install additional vdr plugins

      The additional plugins to install can be set in the variable {{vdr_plugins}} in the group variables @@ -1301,7 +1302,7 @@ The additional plugins to install can be set in the variable {{vdr_plugins

    -
  • copy vdr configuration files (if they don’t exist yet)
    +
  • copy vdr configuration files (if they don’t exist yet)
    - name: ensure vdr is stopped
    @@ -1334,15 +1335,15 @@ The additional plugins to install can be set in the variable {{vdr_plugins
     
     
    -
    -

    7.5.2 templates

    +
    +

    7.5.2 templates

    -
    -

    7.5.3 files

    +
    +

    7.5.3 files

      -
    1. remote.conf
      +
    2. remote.conf
      LIRC.Up KEY_UP
      @@ -1477,7 +1478,7 @@ XKeySym.Next       XF86AudioNext
       
    3. -
    4. keymacros.conf
      +
    5. keymacros.conf
      # Remote control key macros for VDR
      @@ -1503,12 +1504,12 @@ User0     @osdteletext
       
    -
    -

    7.6 STARTED yavdr-network

    +
    +

    7.6 STARTED yavdr-network

    -
    -

    7.6.1 default variables

    +
    +

    7.6.1 default variables

    install_avahi: true
    @@ -1516,8 +1517,8 @@ User0     @osdteletext
     
    -
    -

    7.6.2 tasks

    +
    +

    7.6.2 tasks

    ---
    @@ -1587,15 +1588,15 @@ User0     @osdteletext
     
    -
    -

    7.7 nfs-server

    +
    +

    7.7 nfs-server

    -
    -

    7.7.1 TODO avahi-services für NFS beim Stoppen des nfs-kernel-servers depublizieren, beim Start wieder announcen

    +
    +

    7.7.1 TODO avahi-services für NFS beim Stoppen des nfs-kernel-servers depublizieren, beim Start wieder announcen

    -
    -

    7.7.2 tasks

    +
    +

    7.7.2 tasks

    ---
    @@ -1624,12 +1625,12 @@ User0     @osdteletext
     
    -
    -

    7.7.3 templates

    +
    +

    7.7.3 templates

      -
    1. /etc/exports
      +
    2. /etc/exports
      /srv *(rw,fsid=0,sync,no_subtree_check,all_squash,anongid={{ vdr.gid }},anonuid={{ vdr.uid }})
      @@ -1640,7 +1641,7 @@ User0     @osdteletext
       
    3. -
    4. avahi services
      +
    5. avahi services
      <?xml version="1.0" standalone='no'?>
      @@ -1661,12 +1662,12 @@ User0     @osdteletext
       
    -
    -

    7.8 STARTED yavdr-remote

    +
    +

    7.8 STARTED yavdr-remote

    -
    -

    7.8.1 default variables

    +
    +

    7.8.1 default variables

    lircd0_socket: /var/run/lirc/lircd0
    @@ -1674,8 +1675,8 @@ User0     @osdteletext
     
    -
    -

    7.8.2 tasks

    +
    +

    7.8.2 tasks

    ---
    @@ -1706,7 +1707,7 @@ User0     @osdteletext
       tags:
         - config
     
    -- name: stop, mask and disable lircd.socket, lircd.service and lircd-uinput.service # (the default lirc configuration conflicts with eventlircd)
    +- name: stop, mask and disable lircd.socket, lircd.service, lircmd.service and lircd-uinput.service # (the default lirc configuration conflicts with eventlircd)
       systemd:
         name: '{{ item }}'
         enabled: no
    @@ -1715,6 +1716,7 @@ User0     @osdteletext
       with_items:
         - lircd.service
         - lircd.socket
    +    - lircmd.service
         - lircd-uinput.service
       ignore_errors: yes
       tags:
    @@ -1739,12 +1741,12 @@ User0     @osdteletext
     
    -
    -

    7.8.3 templates

    +
    +

    7.8.3 templates

      -
    1. Systemd Drop-in to start vdr with lirc support
      +
    2. Systemd Drop-in to start vdr with lirc support
      {% if frontend != 'kodi' %}
      @@ -1755,7 +1757,7 @@ User0     @osdteletext
       
    3. -
    4. Systemd Drop-in to start lircd2uinput with lircd
      +
    5. Systemd Drop-in to start lircd2uinput with lircd
      [Service]
      @@ -1765,7 +1767,7 @@ User0     @osdteletext
       
    6. -
    7. create /etc/rc_maps.cfg
      +
    8. create /etc/rc_maps.cfg
      #
      @@ -1956,17 +1958,17 @@ ati_remote    rc-medion-x10-digitainer   /lib/udev/rc_keymaps/rc-medion-x10-digi
       
    -
    -

    7.8.4 files

    +
    +

    7.8.4 files

    -
    -

    7.9 pulseaudio

    +
    +

    7.9 pulseaudio

    -
    -

    7.9.1 tasks

    +
    +

    7.9.1 tasks

    ---
    @@ -1989,8 +1991,8 @@ ati_remote    rc-medion-x10-digitainer   /lib/udev/rc_keymaps/rc-medion-x10-digi
     
    -
    -

    7.9.2 templates

    +
    +

    7.9.2 templates

    # Use PulseAudio by default
    @@ -2012,12 +2014,12 @@ ati_remote    rc-medion-x10-digitainer   /lib/udev/rc_keymaps/rc-medion-x10-digi
     
    -
    -

    7.10 yavdr-xorg

    +
    +

    7.10 yavdr-xorg

    -
    -

    7.10.1 About the GUI session

    +
    +

    7.10.1 About the GUI session

    The X-Server is started by using the two systemd units xlogin@.service and x@.service provided by the package xlogin. The former is enabled (and started) for the vdr user - which results (using the default settings for the user vdr with the uid 666) in the activation of xlogin@vdr.service when reaching the graphical.target. @@ -2046,22 +2048,21 @@ In order to achive a clean shutdown of the session, x@t7.service is

    -
    -

    7.10.2 default variables

    +
    +

    7.10.2 default variables

    first_run: False
    -xorg_data: {}
     
    -
    -

    7.10.3 tasks

    +
    +

    7.10.3 tasks

      -
    1. main.yml
      +
    2. main.yml
      ---
      @@ -2076,7 +2077,7 @@ In order to achive a clean shutdown of the session, x@t7.service is
       
    3. -
    4. setup-xorg.yml
      +
    5. setup-xorg.yml
      ---
      @@ -2181,7 +2182,7 @@ In order to achive a clean shutdown of the session, x@t7.service is
       
    6. -
    7. detect-xorg.yml
      +
    8. detect-xorg.yml
      ---
      @@ -2292,18 +2293,15 @@ In order to achive a clean shutdown of the session, x@t7.service is
               state: directory
               path: /etc/ansible/facts.d
       
      -    - name: set xorg and xrandr in xorg_data dictionary
      -      set_fact:
      -        xorg_data: '{{ xorg_data|combine({"xorg": xorg, "xrandr": xrandr}) }}'
      -
      -    - name: print xorg_data
      -      debug:
      -        var: xorg_data
      -
      -    - name: write xorg variable to /etc/yavdr/xorg.yml
      +    - name: write xorg variable as local fact
             copy:
      -        content: '{{ xorg_data | to_nice_json }}'
      +        content: '{{ {"xorg": xorg} | to_nice_json }}'
               dest: /etc/ansible/facts.d/xorg.fact
      +
      +    - name: write xrandr variable as local fact
      +      copy:
      +        content: '{{ {"xrandr": xrandr} | to_nice_json }}'
      +        dest: /etc/ansible/facts.d/xrandr.fact
         when:
           - xrandr is defined
           - xorg is defined
      @@ -2334,7 +2332,7 @@ In order to achive a clean shutdown of the session, x@t7.service is
       
    9. -
    10. desktop-session.yml
      +
    11. desktop-session.yml
      ---
      @@ -2395,7 +2393,7 @@ In order to achive a clean shutdown of the session, x@t7.service is
       - name: disable pulseaudio autospawning
         lineinfile:
           path: '{{ vdr.home }}/.config/pulse/client.conf'
      -    line: 'autospawn = no'
      +    line: 'autospawn = yes'
           create: yes
           state: present
           owner: '{{ vdr.user }}'
      @@ -2405,35 +2403,57 @@ In order to achive a clean shutdown of the session, x@t7.service is
         template:
           src: roles/yavdr-xorg/templates/systemd/user/tmux.service.j2
           dest: '{{ vdr.home }}/.config/systemd/user/tmux.service'
      +    mode: 0644
      +    owner: '{{ vdr.user }}'
      +    group: '{{ vdr.group }}'
       
       - name: create wm-exit.service for the session
         template:
           src: roles/yavdr-xorg/templates/systemd/user/wm-exit.service.j2
           dest: '{{ vdr.home }}/.config/systemd/user/wm-exit.service'
      +    mode: 0644
      +    owner: '{{ vdr.user }}'
      +    group: '{{ vdr.group }}'
       
       - name: create detect-second-display.service for the session
         template:
           src: templates/systemd/user/detect-second-display.service.j2
           dest: '{{ vdr.home }}/.config/systemd/user/detect-second-display.service'
      +    mode: 0644
      +    owner: '{{ vdr.user }}'
      +    group: '{{ vdr.group }}'
       
       - name: create openbox-second.service for the session
         template:
           src: templates/systemd/user/openbox-second.service.j2
           dest: '{{ vdr.home }}/.config/systemd/user/openbox-second.service'
      +    mode: 0644
      +    owner: '{{ vdr.user }}'
      +    group: '{{ vdr.group }}'
       
       - name: create osd2web.service for the session
         template:
           src: templates/systemd/user/osd2web.service.j2
           dest: '{{ vdr.home }}/.config/systemd/user/osd2web.service'
      +    owner: '{{ vdr.user }}'
      +    group: '{{ vdr.group }}'
      +    mode: 0644
      +
       
       - name: create irexec configuration for the session
         block:
           - template:
               src: templates/systemd/user/irexec.service.j2
               dest: '{{ vdr.home }}/.config/systemd/user/irexec.service'
      +        mode: 0644
      +        owner: '{{ vdr.user }}'
      +        group: '{{ vdr.group }}'
           - template:
               src: templates/.lircrc.j2
               dest: '{{ vdr.home }}/.lircrc'
      +        mode: 0644
      +        owner: '{{ vdr.user }}'
      +        group: '{{ vdr.group }}'
       
       - name: link /usr/bin/start-desktop to /var/lib/vdr/plugins/desktop/starter
         file:
      @@ -2453,14 +2473,14 @@ In order to achive a clean shutdown of the session, x@t7.service is
       
    -
    -

    7.10.4 templates

    +
    +

    7.10.4 templates

      -
    1. xorg
      +
    2. xorg
        -
      1. x-verbose@.service
        +
      2. x-verbose@.service
        # file: roles/yavdr-xorg/templates/systemd/system/x-verbose@.service.j2
        @@ -2476,7 +2496,7 @@ In order to achive a clean shutdown of the session, x@t7.service is
         
      3. -
      4. Drop-in snippet for x@.service
        +
      5. Drop-in snippet for x@.service
        [Unit]
        @@ -2497,7 +2517,7 @@ In order to achive a clean shutdown of the session, x@t7.service is
         
      6. -
      7. Drop-in snippet for vdr.service
        +
      8. Drop-in snippet for vdr.service
        {{ ansible_managed | comment }}
        @@ -2509,7 +2529,7 @@ In order to achive a clean shutdown of the session, x@t7.service is
         
      9. -
      10. .xinitrc
        +
      11. .xinitrc
        #!/bin/bash
        @@ -2519,7 +2539,7 @@ In order to achive a clean shutdown of the session, x@t7.service is
         
      12. -
      13. xorg.conf
        +
      14. xorg.conf
        Section "Device"
        @@ -2848,7 +2868,7 @@ EndSection
         
      15. -
      16. .Xresources
        +
      17. .Xresources
        xterm*background: Black
        @@ -2873,7 +2893,7 @@ XTerm.vt100.font: 7x13
         
    3. -
    4. vdr
      +
    5. vdr
      [Service]
      @@ -2889,9 +2909,9 @@ XTerm.vt100.font: 7x13
       
    6. -
    7. Systemd User Session
      +
    8. Systemd User Session
        -
      1. yavdr-desktop.target
        +
      2. yavdr-desktop.target
        [Unit]
        @@ -2905,7 +2925,7 @@ XTerm.vt100.font: 7x13
         
      3. -
      4. detect-second-display
        +
      5. detect-second-display
        [Unit]
        @@ -2921,7 +2941,7 @@ XTerm.vt100.font: 7x13
         
      6. -
      7. openbox-second.service
        +
      8. openbox-second.service
        [Unit]
        @@ -2943,7 +2963,7 @@ XTerm.vt100.font: 7x13
         
      9. -
      10. osd2web.service
        +
      11. osd2web.service
        [Unit]
        @@ -2953,9 +2973,11 @@ XTerm.vt100.font: 7x13
         ConditionFileNotEmpty=%h/.second_display
         
         [Service]
        -EnvironmentFile=%h/.second_display
         PassEnvironment=XDG_RUNTIME_DIR DBUS_SESSION_BUS_ADDRESS
        -ExecStart=/usr/bin/on_vdr -o -c 'kiosk-browser "http://localhost:4444/skins/horchiTft/index.html?theme=bluecd&onlyView=1"'
        +EnvironmentFile=%h/.second_display
        +Environment=url="http://localhost:4444/skins/horchiTft/index.html?theme=anthraize&onlyView=1"
        +EnvironmentFile=-%h/.config/osd2web/url
        +ExecStart=/usr/bin/on_vdr -o -c 'kiosk-browser "${url}"'
         KillSignal=SIGINT
         
         [Install]
        @@ -2964,7 +2986,7 @@ XTerm.vt100.font: 7x13
         
      12. -
      13. tmux.service
        +
      14. tmux.service
        [Unit]
        @@ -2983,7 +3005,7 @@ XTerm.vt100.font: 7x13
         
      15. -
      16. wm-exit.service
        +
      17. wm-exit.service
        [Unit]
        @@ -3003,7 +3025,7 @@ XTerm.vt100.font: 7x13
         
    9. -
    10. irexec
      +
    11. irexec

      irexec.service starts irexec for the user session @@ -3033,9 +3055,9 @@ end

  • -
  • openbox
    +
  • openbox
      -
    1. autostart
      +
    2. autostart
      # forward environment variables to an environment file and the systemd user session
      @@ -3071,7 +3093,7 @@ systemctl --user isolate yavdr-desktop.target
       
    3. -
    4. rc.xml
      +
    5. rc.xml
      <?xml version="1.0" encoding="UTF-8"?>
      @@ -3891,12 +3913,12 @@ systemctl --user isolate yavdr-desktop.target
       
      -
      -

      7.11 samba-install

      +
      +

      7.11 samba-install

      -
      -

      7.11.1 tasks

      +
      +

      7.11.1 tasks

      ---
      @@ -3918,12 +3940,12 @@ systemctl --user isolate yavdr-desktop.target
       
      -
      -

      7.12 samba-config

      +
      +

      7.12 samba-config

      -
      -

      7.12.1 tasks

      +
      +

      7.12.1 tasks

      ---
      @@ -3948,14 +3970,14 @@ systemctl --user isolate yavdr-desktop.target
       
      -
      -

      7.12.2 templates

      +
      +

      7.12.2 templates

        -
      1. smb.conf
        +
      2. smb.conf
          -
        1. global settings
          +
        2. global settings
          {{ ansible_managed | comment }}
          @@ -4041,7 +4063,7 @@ systemctl --user isolate yavdr-desktop.target
           
        3. -
        4. media directories
          +
        5. media directories
          {% for name, path in media_dirs.iteritems() %}
          @@ -4063,7 +4085,7 @@ systemctl --user isolate yavdr-desktop.target
           
        6. -
        7. include custom samba exports
          +
        8. include custom samba exports
          include = /etc/samba/smb.conf.custom
          @@ -4076,15 +4098,15 @@ systemctl --user isolate yavdr-desktop.target
           
      -
      -

      7.13 STARTED autoinstall-drivers

      +
      +

      7.13 STARTED autoinstall-drivers

      It would be nice to be able to detect if it is suitable to install those drivers:

      -
      -

      7.13.1 TODO sundtek for Sundtek devices (local or network connection)

      +
      +

      7.13.1 TODO sundtek for Sundtek devices (local or network connection)

      Vendor-IDs: @@ -4095,14 +4117,14 @@ Vendor-IDs:

      -
      -

      7.13.2 TODO dddvb-dkms if only newer DD cards are detected

      +
      +

      7.13.2 TODO dddvb-dkms if only newer DD cards are detected

      -
      -

      7.13.3 TODO media-build-experimental (up to kernel 4.8) for „old“ cards like TT S2-6400 FF

      +
      +

      7.13.3 TODO media-build-experimental (up to kernel 4.8) for „old“ cards like TT S2-6400 FF

      -
      -

      7.13.4 TODO newly merged DD drivers

      +
      +

      7.13.4 TODO newly merged DD drivers

      from http://www.vdr-portal.de/board18-vdr-hardware/board102-dvb-karten/120817-treiber-der-cine-ctv6-ddbridge-ci-in-den-kernel-integrieren/ @@ -4111,15 +4133,15 @@ from -

      7.14 autoinstall-ubuntu-drivers

      +
      +

      7.14 autoinstall-ubuntu-drivers

      The tool ubuntu-drivers is used to install the matching driver version for nvidia graphics cards, virtualbox guest additions and Intel and AMD microcode updates.

      -
      -

      7.14.1 tasks

      +
      +

      7.14.1 tasks

      ---
      @@ -4143,8 +4165,8 @@ The tool ubuntu-drivers is used to install the matching driver version for nvidi
       
      -
      -

      7.15 autoinstall-virtualbox-guest

      +
      +

      7.15 autoinstall-virtualbox-guest

      This role installs the guest additions for virtualbox guests on Ubuntu 16.04 @@ -4175,12 +4197,12 @@ This role installs the guest additions for virtualbox guests on Ubuntu 16.04

      -
      -

      7.16 autoinstall-atric-usb

      +
      +

      7.16 autoinstall-atric-usb

      -
      -

      7.16.1 dependencies

      +
      +

      7.16.1 dependencies

      ---
      @@ -4192,8 +4214,8 @@ This role installs the guest additions for virtualbox guests on Ubuntu 16.04
       
      -
      -

      7.16.2 tasks

      +
      +

      7.16.2 tasks

      ---
      @@ -4236,8 +4258,8 @@ This role installs the guest additions for virtualbox guests on Ubuntu 16.04
       
      -
      -

      7.16.3 templates

      +
      +

      7.16.3 templates

      {{ ansible_managed | comment }}
      @@ -4266,12 +4288,12 @@ This role installs the guest additions for virtualbox guests on Ubuntu 16.04
       
      -
      -

      7.17 autoinstall-yausbir

      +
      +

      7.17 autoinstall-yausbir

      -
      -

      7.17.1 dependencies

      +
      +

      7.17.1 dependencies

      ---
      @@ -4282,8 +4304,8 @@ This role installs the guest additions for virtualbox guests on Ubuntu 16.04
       
      -
      -

      7.17.2 tasks

      +
      +

      7.17.2 tasks

      ---
      @@ -4326,8 +4348,8 @@ This role installs the guest additions for virtualbox guests on Ubuntu 16.04
       
      -
      -

      7.17.3 templates

      +
      +

      7.17.3 templates

      {{ ansible_managed | comment }}
      @@ -4355,15 +4377,15 @@ This role installs the guest additions for virtualbox guests on Ubuntu 16.04
       
      -
      -

      7.18 autoinstall-satip

      +
      +

      7.18 autoinstall-satip

      If a Sat>IP Server responds to a discovery request, the package vdr-plugin-satip is installed.

      -
      -

      7.18.1 tasks

      +
      +

      7.18.1 tasks

      ---
      @@ -4388,12 +4410,12 @@ If a Sat>IP Server responds to a discovery request, the package vdr-plugin-sa
       
      -
      -

      7.19 autoinstall-targavfd

      +
      +

      7.19 autoinstall-targavfd

      -
      -

      7.19.1 tasks

      +
      +

      7.19.1 tasks

      ---
      @@ -4409,12 +4431,12 @@ If a Sat>IP Server responds to a discovery request, the package vdr-plugin-sa
       
      -
      -

      7.20 autoinstall-imonlcd

      +
      +

      7.20 autoinstall-imonlcd

      -
      -

      7.20.1 tasks

      +
      +

      7.20.1 tasks

      ---
      @@ -4430,12 +4452,12 @@ If a Sat>IP Server responds to a discovery request, the package vdr-plugin-sa
       
      -
      -

      7.21 autoinstall-libcecdaemon

      +
      +

      7.21 autoinstall-libcecdaemon

      -
      -

      7.21.1 tasks

      +
      +

      7.21.1 tasks

      ---
      @@ -4451,12 +4473,12 @@ If a Sat>IP Server responds to a discovery request, the package vdr-plugin-sa
       
      -
      -

      7.22 autoinstall-pvr350

      +
      +

      7.22 autoinstall-pvr350

      -
      -

      7.22.1 tasks

      +
      +

      7.22.1 tasks

      ---
      @@ -4472,8 +4494,8 @@ If a Sat>IP Server responds to a discovery request, the package vdr-plugin-sa
       
      -
      -

      7.23 autoinstall-hauppauge-pvr

      +
      +

      7.23 autoinstall-hauppauge-pvr

      ---
      @@ -4488,12 +4510,12 @@ If a Sat>IP Server responds to a discovery request, the package vdr-plugin-sa
       
      -
      -

      7.24 autoinstall-firmware

      +
      +

      7.24 autoinstall-firmware

      -
      -

      7.24.1 dependencies

      +
      +

      7.24.1 dependencies

      ---
      @@ -4504,8 +4526,8 @@ If a Sat>IP Server responds to a discovery request, the package vdr-plugin-sa
       
      -
      -

      7.24.2 tasks

      +
      +

      7.24.2 tasks

      ---
      @@ -4530,12 +4552,12 @@ If a Sat>IP Server responds to a discovery request, the package vdr-plugin-sa
       
      -
      -

      7.25 autoinstall-dvbsky-firmware

      +
      +

      7.25 autoinstall-dvbsky-firmware

      -
      -

      7.25.1 dependencies

      +
      +

      7.25.1 dependencies

      ---
      @@ -4546,8 +4568,8 @@ If a Sat>IP Server responds to a discovery request, the package vdr-plugin-sa
       
      -
      -

      7.25.2 defaults

      +
      +

      7.25.2 defaults

      ---
      @@ -4557,8 +4579,8 @@ If a Sat>IP Server responds to a discovery request, the package vdr-plugin-sa
       
      -
      -

      7.25.3 tasks

      +
      +

      7.25.3 tasks

      ---
      @@ -4608,15 +4630,15 @@ If a Sat>IP Server responds to a discovery request, the package vdr-plugin-sa
       
      -
      -

      7.26 TODO autoinstall-dvbhddevice

      +
      +

      7.26 TODO autoinstall-dvbhddevice

      Problem: woher kommt der Treiber (AFAIK noch nicht im Kernel)? Die Firmware sollte in yavdr-firmware stecken

      -
      -

      7.26.1 dependencies

      +
      +

      7.26.1 dependencies

      ---
      @@ -4627,8 +4649,8 @@ Problem: woher kommt der Treiber (AFAIK noch nicht im Kernel)? Die Firmware soll
       
      -
      -

      7.26.2 tasks

      +
      +

      7.26.2 tasks

      ---
      @@ -4645,12 +4667,12 @@ Problem: woher kommt der Treiber (AFAIK noch nicht im Kernel)? Die Firmware soll
       
      -
      -

      7.27 autoinstall-dvbsddevice

      +
      +

      7.27 autoinstall-dvbsddevice

      -
      -

      7.27.1 dependencies

      +
      +

      7.27.1 dependencies

      ---
      @@ -4661,8 +4683,8 @@ Problem: woher kommt der Treiber (AFAIK noch nicht im Kernel)? Die Firmware soll
       
      -
      -

      7.27.2 tasks

      +
      +

      7.27.2 tasks

      ---
      @@ -4680,12 +4702,12 @@ Problem: woher kommt der Treiber (AFAIK noch nicht im Kernel)? Die Firmware soll
       
      -
      -

      7.28 autoinstall-hardware-irmp

      +
      +

      7.28 autoinstall-hardware-irmp

      -
      -

      7.28.1 dependencies

      +
      +

      7.28.1 dependencies

      ---
      @@ -4696,8 +4718,8 @@ Problem: woher kommt der Treiber (AFAIK noch nicht im Kernel)? Die Firmware soll
       
      -
      -

      7.28.2 tasks

      +
      +

      7.28.2 tasks

      ---
      @@ -4713,24 +4735,24 @@ Problem: woher kommt der Treiber (AFAIK noch nicht im Kernel)? Die Firmware soll
       
        -
      1. TODO add other device ids if necessary
      2. +
      3. TODO add other device ids if necessary
      -
      -

      7.29 kodi

      +
      +

      7.29 kodi

      -
      -

      7.29.1 tasks

      +
      +

      7.29.1 tasks

        -
      1. Install KODI
        +
      2. Install KODI
      -
      -

      7.29.2 templates

      +
      +

      7.29.2 templates

        -
      1. kodi.service
        +
      2. kodi.service

        This systemd unit for the user session starts (and stops) kodi. @@ -4835,15 +4857,15 @@ This systemd unit for the user session starts (and stops) kodi.

      -
      -

      7.29.3 files

      +
      +

      7.29.3 files

      Those configuration files provide a preconfiguration for kodi which overrides the system wide configuration

        -
      1. Lircmap.xml
        +
      2. Lircmap.xml

        This file allows to map keys sent by remotes via eventlircd (which uses the name devinput) to kodi key names. @@ -4913,14 +4935,14 @@ This file allows to map keys sent by remotes via eventlircd (which uses the name

    6. -
    7. keymaps
      +
    8. keymaps

      This file maps the keys defined in Lircmap.xml to actions within kodi.

        -
      1. remote.xml
        +
      2. remote.xml
        <!-- This file contains the mapping of keys (gamepad, remote, and keyboard) to actions within XBMC -->
        @@ -5471,17 +5493,17 @@ This file maps the keys defined in Lircmap.xml to actions within kodi.
         
  • -
    -

    7.30 dvd

    +
    +

    7.30 dvd

    -
    -

    7.30.1 tasks

    +
    +

    7.30.1 tasks

      -
    • install libdvd-pkg, allow programs to eject optical media
      -
      +
    • install libdvd-pkg, allow programs to eject optical media
      +
      ---
       # file: roles/dvd/tasks/main.yml
      @@ -5521,8 +5543,8 @@ This file maps the keys defined in Lircmap.xml to actions within kodi.
       
    -
    -

    7.31 template-test

    +
    +

    7.31 template-test

    ---
    @@ -5763,12 +5785,12 @@ EndSection
     
    -
    -

    7.32 wakeup

    +
    +

    7.32 wakeup

    -
    -

    7.32.1 defaults

    +
    +

    7.32.1 defaults

    ---
    @@ -5778,8 +5800,8 @@ EndSection
     
    -
    -

    7.32.2 tasks

    +
    +

    7.32.2 tasks

    ---
    @@ -5800,8 +5822,8 @@ EndSection
     
    -
    -

    7.32.3 templates

    +
    +

    7.32.3 templates

    {{ ansible_managed | comment }}
    @@ -5827,12 +5849,12 @@ ACPI_START_AHEAD=5
     
    -
    -

    7.33 grub-config

    +
    +

    7.33 grub-config

    -
    -

    7.33.1 default variables

    +
    +

    7.33.1 default variables

    system:
    @@ -5844,8 +5866,8 @@ ACPI_START_AHEAD=5
     
    -
    -

    7.33.2 tasks

    +
    +

    7.33.2 tasks

    ---
    @@ -5870,8 +5892,8 @@ ACPI_START_AHEAD=5
     
    -
    -

    7.33.3 templates

    +
    +

    7.33.3 templates

    #!/bin/sh
    @@ -5894,8 +5916,8 @@ menuentry "PowerOff" {
     
    -
    -

    7.33.4 handlers

    +
    +

    7.33.4 handlers

    ---
    @@ -5913,15 +5935,15 @@ menuentry "PowerOff" {
     
    -
    -

    8 Modules

    +
    +

    8 Modules

    This section contains custom modules for the yaVDR Playbooks. They are used to collect facts about the system and configure applications and daemons.

    -
    -

    8.1 hardware_facts.py

    +
    +

    8.1 hardware_facts.py

    # This Module collects the vendor- and device ids for USB- and PCI(e)-devices and currently loaded kernel modules.
    @@ -6098,8 +6120,8 @@ This section contains custom modules for the yaVDR Playbooks. They are used to c
     
    -
    -

    8.2 satip_facts.py

    +
    +

    8.2 satip_facts.py

    DOCUMENTATION = '''
    @@ -6223,8 +6245,8 @@ This section contains custom modules for the yaVDR Playbooks. They are used to c
     
    -
    -

    8.3 xrandr_facts.py

    +
    +

    8.3 xrandr_facts.py

    • [ ] support multiple screens (-d :0.0 .. :0.n)
    • @@ -6506,8 +6528,8 @@ This section contains custom modules for the yaVDR Playbooks. They are used to c
    -
    -

    9 Handlers

    +
    +

    9 Handlers

    - name: Reconfigure unattended upgrades with dpkg
    @@ -6580,7 +6602,7 @@ This section contains custom modules for the yaVDR Playbooks. They are used to c
     

    Autor: Alexander Grothe <seahawk1986@gmx.de>

    -

    Created: 2018-01-16 Di 15:09

    +

    Created: 2018-01-21 So 10:03

    Validate

    diff --git a/Manual.org b/Manual.org index cfd1854..06b5ec9 100644 --- a/Manual.org +++ b/Manual.org @@ -2005,7 +2005,7 @@ first_run: False - name: disable pulseaudio autospawning lineinfile: path: '{{ vdr.home }}/.config/pulse/client.conf' - line: 'autospawn = no' + line: 'autospawn = yes' create: yes state: present owner: '{{ vdr.user }}' diff --git a/roles/yavdr-xorg/tasks/desktop-session.yml b/roles/yavdr-xorg/tasks/desktop-session.yml index 97c1a5a..55f2a7b 100644 --- a/roles/yavdr-xorg/tasks/desktop-session.yml +++ b/roles/yavdr-xorg/tasks/desktop-session.yml @@ -56,7 +56,7 @@ - name: disable pulseaudio autospawning lineinfile: path: '{{ vdr.home }}/.config/pulse/client.conf' - line: 'autospawn = no' + line: 'autospawn = yes' create: yes state: present owner: '{{ vdr.user }}'