瀏覽代碼

several improvements

master
Markus Katharina Brechtel 7 年之前
父節點
當前提交
546d9bacad
共有 6 個文件被更改,包括 183 次插入0 次删除
  1. +6
    -0
      handlers/main.yml
  2. +21
    -0
      tasks/main.yml
  3. +24
    -0
      tasks/mainentance.yml
  4. +120
    -0
      templates/lightdm.conf.j2
  5. +4
    -0
      templates/mainentance-xsession.sh.j2
  6. +8
    -0
      templates/mainentance.desktop.j2

+ 6
- 0
handlers/main.yml 查看文件

@@ -0,0 +1,6 @@
---

- name: restart lightdm
service:
name: lightdm
state: restarted

+ 21
- 0
tasks/main.yml 查看文件

@@ -1,5 +1,15 @@
---

- name: make sure no other display managers are installed
apt:
pkg: "{{ item }}"
state: absent
with_items:
- slim
- gdm3
- kdm
- sddm

- name: install packages
apt:
pkg: "{{ item }}"
@@ -10,8 +20,19 @@
- xserver-xorg-input-all
- x11-xserver-utils
- lightdm
- yad

- name: lightdm configuration
template:
src: lightdm.conf.j2
dest: /etc/lightdm/lightdm.conf
notify: restart lightdm

- include: mainentance.yml

- name: lightdm started
service:
name: lightdm
state: started

- meta: flush_handlers

+ 24
- 0
tasks/mainentance.yml 查看文件

@@ -0,0 +1,24 @@
---

- name: mainentance user
user:
name: mainentance
system: yes
createhome: yes
home: /var/lib/mainentance

- name: mainentance directory
file:
path: /usr/local/share/mainentance
state: directory

- name: mainentance xsession desktop
template:
src: mainentance.desktop.j2
dest: /usr/local/share/mainentance/mainentance.desktop

- name: mainentance xsession script
template:
src: mainentance-xsession.sh.j2
dest: /usr/local/share/mainentance/xsession
mode: u=rwx,g=rx,o=rx

+ 120
- 0
templates/lightdm.conf.j2 查看文件

@@ -0,0 +1,120 @@
{{ ansible_managed | comment }}

#
# General configuration
#
# start-default-seat = True to always start one seat if none are defined in the configuration
# greeter-user = User to run greeter as
# minimum-display-number = Minimum display number to use for X servers
# minimum-vt = First VT to run displays on
# lock-memory = True to prevent memory from being paged to disk
# user-authority-in-system-dir = True if session authority should be in the system location
# guest-account-script = Script to be run to setup guest account
# logind-check-graphical = True to on start seats that are marked as graphical by logind
# log-directory = Directory to log information to
# run-directory = Directory to put running state in
# cache-directory = Directory to cache to
# sessions-directory = Directory to find sessions
# remote-sessions-directory = Directory to find remote sessions
# greeters-directory = Directory to find greeters
# backup-logs = True to move add a .old suffix to old log files when opening new ones
#
[LightDM]
{% if display_manager_state == "mainentance" %}
sessions-directory=/usr/local/share/mainentance
{% endif %}

#
# Seat configuration
#
# Seat configuration is matched against the seat name glob in the section, for example:
# [Seat:*] matches all seats and is applied first.
# [Seat:seat0] matches the seat named "seat0".
# [Seat:seat-thin-client*] matches all seats that have names that start with "seat-thin-client".
#
# type = Seat type (xlocal, xremote, unity)
# pam-service = PAM service to use for login
# pam-autologin-service = PAM service to use for autologin
# pam-greeter-service = PAM service to use for greeters
# xserver-command = X server command to run (can also contain arguments e.g. X -special-option)
# xmir-command = Xmir server command to run (can also contain arguments e.g. Xmir -special-option)
# xserver-config = Config file to pass to X server
# xserver-layout = Layout to pass to X server
# xserver-allow-tcp = True if TCP/IP connections are allowed to this X server
# xserver-share = True if the X server is shared for both greeter and session
# xserver-hostname = Hostname of X server (only for type=xremote)
# xserver-display-number = Display number of X server (only for type=xremote)
# xdmcp-manager = XDMCP manager to connect to (implies xserver-allow-tcp=true)
# xdmcp-port = XDMCP UDP/IP port to communicate on
# xdmcp-key = Authentication key to use for XDM-AUTHENTICATION-1 (stored in keys.conf)
# unity-compositor-command = Unity compositor command to run (can also contain arguments e.g. unity-system-compositor -special-option)
# unity-compositor-timeout = Number of seconds to wait for compositor to start
# greeter-session = Session to load for greeter
# greeter-hide-users = True to hide the user list
# greeter-allow-guest = True if the greeter should show a guest login option
# greeter-show-manual-login = True if the greeter should offer a manual login option
# greeter-show-remote-login = True if the greeter should offer a remote login option
# user-session = Session to load for users
# allow-user-switching = True if allowed to switch users
# allow-guest = True if guest login is allowed
# guest-session = Session to load for guests (overrides user-session)
# session-wrapper = Wrapper script to run session with
# greeter-wrapper = Wrapper script to run greeter with
# guest-wrapper = Wrapper script to run guest sessions with
# display-setup-script = Script to run when starting a greeter session (runs as root)
# display-stopped-script = Script to run after stopping the display server (runs as root)
# greeter-setup-script = Script to run when starting a greeter (runs as root)
# session-setup-script = Script to run when starting a user session (runs as root)
# session-cleanup-script = Script to run when quitting a user session (runs as root)
# autologin-guest = True to log in as guest by default
# autologin-user = User to log in with by default (overrides autologin-guest)
# autologin-user-timeout = Number of seconds to wait before loading default user
# autologin-session = Session to load for automatic login (overrides user-session)
# autologin-in-background = True if autologin session should not be immediately activated
# exit-on-failure = True if the daemon should exit if this seat fails
#
[Seat:*]
{% if display_manager_state == "mainentance" %}
autologin-user=mainentance
autologin-user-timeout=0
user-session=mainentance
{% endif %}

#
# XDMCP Server configuration
#
# enabled = True if XDMCP connections should be allowed
# port = UDP/IP port to listen for connections on
# listen-address = Host/address to listen for XDMCP connections (use all addresses if not present)
# key = Authentication key to use for XDM-AUTHENTICATION-1 or blank to not use authentication (stored in keys.conf)
# hostname = Hostname to report to XDMCP clients (defaults to system hostname if unset)
#
# The authentication key is a 56 bit DES key specified in hex as 0xnnnnnnnnnnnnnn. Alternatively
# it can be a word and the first 7 characters are used as the key.
#
[XDMCPServer]
#enabled=false
#port=177
#listen-address=
#key=
#hostname=

#
# VNC Server configuration
#
# enabled = True if VNC connections should be allowed
# command = Command to run Xvnc server with
# port = TCP/IP port to listen for connections on
# listen-address = Host/address to listen for VNC connections (use all addresses if not present)
# width = Width of display to use
# height = Height of display to use
# depth = Color depth of display to use
#
[VNCServer]
#enabled=false
#command=Xvnc
#port=5900
#listen-address=
#width=1024
#height=768
#depth=8

+ 4
- 0
templates/mainentance-xsession.sh.j2 查看文件

@@ -0,0 +1,4 @@
#!/bin/bash
xset -dpms
xset s off
exec yad --no-buttons --no-escape --image=emblem-system --text="Dieser Computer befindet sich derzeit im Wartungsmodus. Bitte nicht abschalten!" --image-on-top --center --borders 50

+ 8
- 0
templates/mainentance.desktop.j2 查看文件

@@ -0,0 +1,8 @@
[Desktop Entry]
Name=mainentance
Comment=mainentance xsession
Exec=/usr/local/share/mainentance/xsession
Type=Application
X-LightDM-DesktopName=mainentance
DesktopNames=mainentance
Keywords=wm;windowmanager;window;manager;

Loading…
取消
儲存