openSUSE 12.1 SUSE KDM Login Screen User Listing
by , 03-Dec-2011 at 19:41 (4211 Views)
With the release of openSUSE 12.1, the SUSE specific KDM Login screen does not support a user listing. Apparently this was originally reported as a bug, but turns out this was done by design and some of our users have since missed this old feature. You can read about it and the proposed fix that was supplied here:
https://bugzilla.novell.com/show_bug.cgi?id=727821
What I have done is to snag the new openSUSE.xml file written by Hendrik Müller and posted it into SuSE Paste here: openSUSE.xml
And I wrote a bash script that can fetch the xml file, rename your old xml file and use the new one. Just log out to see your new user listing. If you should change your mind, just run the script again, but with the -r option and the original openSUSE.xml file will be restored. Here is the bash script for your consideration:
Just copy the text in the code block above, into a text editor like kwrite and save it into your local ~/bin folder as the text file make-kdm-user-list (/home/yourname/bin/make-kdm-user-list). To use make-kdm-user-list, you must mark it executable.Code:#!/bin/bash #: Title : make-kdm-user-list #: Date Created: Sat Dec 3 19:32:49 CST 2011 #: Last Edit : Sat Dec 3 19:32:49 CST 2011 #: Author : You Name Here #: Version : 1.00 #: Description : Allow user listing in KDM Login Screen #: Options : make-kdm-user-list [-r] # Bug Report was here: https://bugzilla.novell.com/show_bug.cgi?id=727821 # SuSE Paste # Download link: http://susepaste.org/view/download/69121607 # XML Post Location http://susepaste.org/69121607 # # This is the standard GPL Statement, leave at the top of the script. # Just use the command show_gpl after this function for it to be shown. # function show_gpl { echo "" echo "make-kdm-user-list is a bash script file written to be used with openSUSE." echo "Copyright (C) 2011 by You Name Here, your.email@address.com" echo "" echo "This program is free software; you can redistribute it and/or modify" echo "it under the terms of the GNU General Public License as published by" echo "the Free Software Foundation; either version 2 of the License, or" echo "(at your option) any later version." echo "" echo "This program is distributed in the hope that it will be useful," echo "but WITHOUT ANY WARRANTY; without even the implied warranty of" echo "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the" echo "GNU General Public License for more details." echo "" echo "You should have received a copy of the GNU General Public License" echo "along with this program; if not, write to the Free Software" echo "Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA" echo "" } # # Check to see if we are root ************************************************ # if [[ $UID -ne 0 ]]; then tput clear color 7 0 B id -Gn | grep -q wheel || echo "Root User Permissions are required, Please Enter the ..." echo sudo $0 $@ Exit_Code=$? show_gpl exit $Exit_Code fi # # Main Program Starts Here ************************************************** # if [ "$1" == "" ] ; then clear echo "This bash script will replace your openSUSE.xml file, changing the SUSE" echo "SuSE KDM screen to allow the disply of your user listing during login." echo echo -n "Do you wish to proceed and replace your openSUSE.xml file? (y/N): " read CHOICE if [[ $CHOICE == [Yy] ]] ; then mv /usr/share/kde4/apps/kdm/themes/SUSE/openSUSE.xml /usr/share/kde4/apps/kdm/themes/SUSE/openSUSE.xml.bak if [ -e /usr/share/kde4/apps/kdm/themes/SUSE/openSUSE.xml.bak ] ; then wget -nc http://susepaste.org/view/download/69121607 -O /usr/share/kde4/apps/kdm/themes/SUSE/openSUSE.xml if [ -e /usr/share/kde4/apps/kdm/themes/SUSE/openSUSE.xml ] ; then echo "The openSUSE.xml file was successfully replaced!" echo fi else echo "Backup file was not created, file replacement was aborted!" echo exit 1 fi else echo echo "The openSUSE.xml file replacement was aborted by user!" exit 1 fi fi if [ "$1" == "-r" ] ; then if [ -e /usr/share/kde4/apps/kdm/themes/SUSE/openSUSE.xml.bak ] ; then if [ -e /usr/share/kde4/apps/kdm/themes/SUSE/openSUSE.xml ] ; then rm /usr/share/kde4/apps/kdm/themes/SUSE/openSUSE.xml fi mv /usr/share/kde4/apps/kdm/themes/SUSE/openSUSE.xml.bak /usr/share/kde4/apps/kdm/themes/SUSE/openSUSE.xml if [ -e /usr/share/kde4/apps/kdm/themes/SUSE/openSUSE.xml ] ; then echo echo "Your old openSUSE.xml file was restored successfully" echo exit 0 fi else echo echo "Your openSUSE.xml Backup file was not found, file restore was aborted!" exit 1 fi fi echo "To reverse the openSUSE.xml file replacement, just run this script" echo "with the -r option: $0 -r" exit 0 # End Of Script
Open up a terminal session and run the following command:
To use the script, open up a terminal session and run the command:Code:chmod +x ~/bin/make-kdm-user-list
When you run make-kdm-user-list, you will be asked if you wish to download and replace your old openSUSE.xml file. If you agree, a backup of this file will be made for you. If later, you change your mind and wish to return to using your old openSUSE.xml file, just open up a terminal session and run the following terminal command:Code:make-kdm-user-list
For this whole thing to be useful, you need two or more users in openSUSE, a function in YaST. In the KDE Personnel Settings / Login Screen / Users Tab / User Images, you can assign each user an icon if you wish.Code:make-kdm-user-list -r
If you have any questions or comments about this script, just let me know.
Thank You,
Blogs: asroot : Bash : Packet Filter : C.F.U. : GPU's : FastBoot : fewrup : F.S.M. : H.I. : nVIDIA : LNVHW : MMCHECK : N.S.F. : P.B.S. : S.A.K.C.
S.W.A.T. : S.A.S.I. : S.C.L.U. : S.G.T.B. : S.K.I.M. : S.L.A.V.E. : S.L.R.C. : S.T.A.R.T. : S.U.F.F. : SYSEdit : systemd : VBoxLive : VirtualBox : YaST Power








