From 652b50692630aa0f5e9963d66c11ea9d40edb573 Mon Sep 17 00:00:00 2001 From: Andreas Sturmlechner Date: Wed, 21 Feb 2018 11:38:13 +0100 Subject: kde-plasma/kscreenlocker: Add missing ck-unlock-session Closes: https://bugs.gentoo.org/648352 Package-Manager: Portage-2.3.19, Repoman-2.3.6 --- kde-plasma/kscreenlocker/files/ck-unlock-session | 220 +++++++++++++++++++++++ 1 file changed, 220 insertions(+) create mode 100644 kde-plasma/kscreenlocker/files/ck-unlock-session (limited to 'kde-plasma') diff --git a/kde-plasma/kscreenlocker/files/ck-unlock-session b/kde-plasma/kscreenlocker/files/ck-unlock-session new file mode 100644 index 000000000000..6ce6935b0671 --- /dev/null +++ b/kde-plasma/kscreenlocker/files/ck-unlock-session @@ -0,0 +1,220 @@ +#!/bin/sh + +# This script is to make unlocking using OpenRC/Consolekit easier when the KDE Screenlocker breaks. +# +# Version: 0.2 +# Date written: February 2, 2018 +# Last modification: February 17, 2018 +# +# Copyright (C) 2018 Daniel Frey +# Copyright (C) 2018 Lars Wendler +# +# This script is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This script 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. +# +# +# Some notes: +# -The switch processing/argument handling is very basic. +# -This script assumes session names start with "Session" when listing +# sessions. This is settable via a variable. +# +# Possible actions: +# -h : Show help screen +# -l : List current consolekit sessions +# -u : Unlock specified session (one parameter required - the session name) +# -a : Attempt to unlock all sessions + +# Return code documentation +# +# 0: Script executed normally +# 1: Root access is not present for script +# 2: No arguments passed +# 3: Multiple actions requested, can only do one at a time +# 4: Argument passed was not recognized +# 5: Multiple arguments passed for unlock single session, only one needed +# 6: The argument required for unlocksession() is missing (internal error) + +SCRIPTNAME="$(basename $0)" + +# Return code constants +readonly ERR_NORMAL_OPERATION=0 +readonly ERR_NO_ROOT=1 +readonly ERR_NO_ARGS=2 +readonly ERR_TOO_MANY_ACTIONS=3 +readonly ERR_INVALID_ARGUMENTS=4 +readonly ERR_TOO_MANY_ARGS=5 +readonly ERR_INTERNAL_ARG_MISSING=6 + +# Action parameter constants +readonly ACTION_NONE=0 +readonly ACTION_HELP=1 +readonly ACTION_LIST=2 +readonly ACTION_UNLOCKALL=3 +readonly ACTION_UNLOCK=4 + +# This is what's used to look for a session via consolekit. +# By default, assume it is prefixed with "Session". +SESSION_SEARCH_PREFIX="Session" + +# Check to make sure script has root access, if not... abort now! +if [ "$(id -u)" -ne 0 ]; then + echo "This script must be run as root." + exit ${ERR_NO_ROOT} +fi + +showhelp() { + cat <