diff --git a/roles/distro/tasks/freebsd.yml b/roles/distro/tasks/freebsd.yml
index 9a51891..e7bf177 100644
--- a/roles/distro/tasks/freebsd.yml
+++ b/roles/distro/tasks/freebsd.yml
@@ -11,6 +11,7 @@
state: present
vars:
packages:
+ - dbus
- emacs
- firefox-esr
- fusefs-ntfs
@@ -36,3 +37,15 @@
- vim
- xinput
- zsh
+- name: Start DBUS service
+ become: true
+ service:
+ name: dbus
+ state: started
+ enabled: yes
+- name: Enable XDM
+ become: true
+ lineinfile:
+ path: /etc/ttys
+ regexp: '^ttyv8 .*'
+ line: 'ttyv8 "/usr/local/bin/xdm -nodaemon" xterm on secure'
diff --git a/roles/home/tasks/mate.yml b/roles/home/tasks/mate.yml
index 6fe7124..cf66d83 100644
--- a/roles/home/tasks/mate.yml
+++ b/roles/home/tasks/mate.yml
@@ -6,26 +6,33 @@
dest: "{{ prefix }}/share/mate-panel/layouts/acp.layout"
vars:
prefix: "{{ '/usr/local' if ansible_distribution == 'FreeBSD' else '/usr' }}"
+- name: Detect running mate-panel process
+ pids:
+ name: mate-panel
+ register: mate_panel
- name: Set default panel layout
dconf:
key: /org/mate/panel/general/default-layout
value: "'acp'"
register: layout_changed
- ignore_errors: yes
+ when: mate_panel.pids | length > 0
- name: Reset panel
command: mate-panel --reset || true
- when: layout_changed.changed
+ when: layout_changed.changed and mate_panel.pids | length > 0
ignore_errors: yes
changed_when: false
- name: Add cities to clock applet
dconf:
key: /org/mate/panel/objects/clock/prefs/cities
value: ['', '', '', '']
+ when: mate_panel.pids | length > 0
- name: Set workspace switcher to two rows
dconf:
key: /org/mate/panel/objects/workspace-switcher/prefs/num-rows
value: 2
+ when: mate_panel.pids | length > 0
- name: Expand locations in clock
dconf:
key: /org/mate/panel/objects/clock/prefs/expand-locations
value: 'true'
+ when: mate_panel.pids | length > 0