diff --git a/data/login.d/02sddm b/data/login.d/02sddm new file mode 100644 index 0000000..5926d9b --- /dev/null +++ b/data/login.d/02sddm @@ -0,0 +1,30 @@ +#! /bin/sh +# Copyright 2015 Calculate Ltd. http://www.calculate-linux.org +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +run_script() { + # drop second X session for sddm + local online="$(desktop_variable_value desktop.cl_desktop_online_user)" + if [[ $XAUTHORITY =~ /sddm/ ]] && [[ "$online" =~ (^|,)$USER(,|$) ]] + then + local message="A second X session cannot be opened for user $USER." + if type kdialog + then + kdialog --error "$message" + else + xmes "$message" + fi + exit 1 + fi +} diff --git a/setup.py b/setup.py index d19f554..83ca9db 100755 --- a/setup.py +++ b/setup.py @@ -73,6 +73,7 @@ data_files = [('/usr/share/calculate/xdm', [('data/cmd_login', 0755), ('data/setbg', 0755)]), ('/usr/share/calculate/xdm/login.d', ['data/login.d/00init', + 'data/login.d/02sddm', 'data/login.d/05fast_login', 'data/login.d/20desktop', 'data/login.d/99final']),