From 9b1cfeff18a23dfbefd485741ac4609c92707dfd Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Mon, 30 Dec 2019 15:44:55 +0100 Subject: beep: T1920: migrate to systemd unit --- interface-definitions/beep-on-boot.xml.in | 21 --------------- interface-definitions/system-options.xml.in | 8 +++++- src/conf_mode/beep_if_fully_booted.py | 42 ----------------------------- src/conf_mode/system-options.py | 7 +++++ src/systemd/vyos-beep.service | 11 ++++++++ 5 files changed, 25 insertions(+), 64 deletions(-) delete mode 100644 interface-definitions/beep-on-boot.xml.in delete mode 100755 src/conf_mode/beep_if_fully_booted.py create mode 100644 src/systemd/vyos-beep.service diff --git a/interface-definitions/beep-on-boot.xml.in b/interface-definitions/beep-on-boot.xml.in deleted file mode 100644 index 0da7d0de4..000000000 --- a/interface-definitions/beep-on-boot.xml.in +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - plays sound via system speaker when you can login - - 9999 - - - - - - - diff --git a/interface-definitions/system-options.xml.in b/interface-definitions/system-options.xml.in index 5fa0635bd..48bc353ab 100644 --- a/interface-definitions/system-options.xml.in +++ b/interface-definitions/system-options.xml.in @@ -5,9 +5,15 @@ System Options - 400 + 9999 + + + plays sound via system speaker when you can login + + + Ctrl-Alt-Delete action diff --git a/src/conf_mode/beep_if_fully_booted.py b/src/conf_mode/beep_if_fully_booted.py deleted file mode 100755 index f00fcabd0..000000000 --- a/src/conf_mode/beep_if_fully_booted.py +++ /dev/null @@ -1,42 +0,0 @@ -#!/usr/bin/env python3 -# -# Copyright (C) 2018 VyOS maintainers and contributors -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 or later as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -# -# - -import sys -import os - -from vyos.config import Config -from vyos import ConfigError - -def get_config(): - conf = Config() - if not conf.exists('system options beep-if-fully-booted'): - return None - - return True - -def apply(status): - if status is not None: - os.system('/usr/bin/beep -f 130 -l 100 -n -f 262 -l 100 -n -f 330 -l 100 -n -f 392 -l 100 -n -f 523 -l 100 -n -f 660 -l 100 -n -f 784 -l 300 -n -f 660 -l 300') - -if __name__ == '__main__': - try: - c = get_config() - apply(c) - except ConfigError as e: - print(e) - sys.exit(1) diff --git a/src/conf_mode/system-options.py b/src/conf_mode/system-options.py index 4c809d044..74c34e19f 100755 --- a/src/conf_mode/system-options.py +++ b/src/conf_mode/system-options.py @@ -24,6 +24,7 @@ from vyos import ConfigError systemd_ctrl_alt_del = '/lib/systemd/system/ctrl-alt-del.target' default_config_data = { + 'beep_if_fully_booted': False, 'ctrl_alt_del': 'ignore', 'reboot_on_panic': True } @@ -36,6 +37,7 @@ def get_config(): if conf.exists('ctrl-alt-del-action'): opt['ctrl_alt_del'] = conf.return_value('ctrl-alt-del-action') + opt['beep_if_fully_booted'] = conf.exists('beep-if-fully-booted') opt['reboot_on_panic'] = conf.exists('reboot-on-panic') return opt @@ -47,6 +49,11 @@ def generate(opt): pass def apply(opt): + # Beep action + if opt['beep_if_fully_booted']: + os.system('systemctl enable vyos-beep.service >/dev/null 2>&1') + else: + os.system('systemctl disable vyos-beep.service >/dev/null 2>&1') # Ctrl-Alt-Delete action if opt['ctrl_alt_del'] == 'ignore': diff --git a/src/systemd/vyos-beep.service b/src/systemd/vyos-beep.service new file mode 100644 index 000000000..f8f27f924 --- /dev/null +++ b/src/systemd/vyos-beep.service @@ -0,0 +1,11 @@ +[Unit] +Description=Beep after system start +DefaultDependencies=no +After=multi-user.target + +[Service] +Type=oneshot +ExecStart=/usr/bin/beep -f 130 -l 100 -n -f 262 -l 100 -n -f 330 -l 100 -n -f 392 -l 100 -n -f 523 -l 100 -n -f 660 -l 100 -n -f 784 -l 300 -n -f 660 -l 300 + +[Install] +WantedBy=multi-user.target -- cgit v1.2.3