op_cpusettings.sh: Shows warning message if user tries to change OPP with experimenta...
[openpandora.oe.git] / recipes / pandora-system / pandora-scripts / op_startupmanager.sh
1 #!/bin/bash
2 # Released under the GPL
3 # Startup-Manager, v1.1, written by Michael Mrozek aka EvilDragon 2010 with some help by vimacs.
4 # This scripts allows you to change various settings of the Pandora startup process.
5
6 while mainsel=$(zenity --title="Startup manager" --width="400" --height="310" --list --column "id" --column "Please select" --hide-column=1 --text="Welcome to the Startup Settings\n\nHere you can change the default boot-up behaviour of your Pandora.\n\nWhat do you want to do?\n" "gui" "Change Default GUI for current user" "login" "Enable/Disable auto login" "user" "Select default user" "service" "Enable/Disable services on boot" --ok-label="Change Setting" --cancel-label="Exit"); do
7
8
9 case $mainsel in
10
11 # Change default GUI
12   "gui")
13     user2=$(cat /tmp/currentuser)
14     selection=$(cat /etc/pandora/conf/gui.conf | awk -F\; '{print $1 "\n" $2 }' | zenity ---width=500 --height=300 --title="Change the default GUI" --list --column "Name" --column "Description" --text "Please select the GUI you want to run as default startup" )
15
16     echo $selection
17
18     gui=$(grep $selection /etc/pandora/conf/gui.conf | awk -F\; '{print $3}')
19
20     if [ $gui ]; then 
21       sed -i "s/.*DEFAULT_SESSION=.*/DEFAULT_SESSION=$gui/g" /home/$user2/.xinitrc
22       zenity --info --title="Changed session" --text "The default session has been changed to $selection." --timeout 6
23     fi;;
24
25 # Enable / Disable Autologin 
26    "login")
27       if zenity --question --title="Autologin" --text="Do you wish to automatically login at startup?\n\nSecurity warning: This skips the password check on startup" --ok-label="Yes" --cancel-label="No"; then         
28         sed -i 's/.*auto_login.*/auto_login yes/g' /etc/slim.conf
29         zenity --info --title="Changed auto login" --text "Auto login is now enabled." --timeout 6
30       else
31         sed -i 's/.*auto_login.*/auto_login no/g' /etc/slim.conf
32         zenity --info --title="Changed auto login" --text "Auto login is now disabled." --timeout 6
33       fi;;
34
35 # Select default user
36     "user")
37        if username=$(cat /etc/passwd | grep /home/ | grep -v root | awk -F\: '{print $1 }' | zenity --width=100 --height=200 --title="Select the default user" --list  --column "Username"  --text "Please select the default user\nor press Cancel to disable a default user.") ; then
38          sed -i "s/.*default_user.*/default_user $username/g" /etc/slim.conf
39          zenity --info --title="Changed default user" --text "The default user is now $username." --timeout 6
40        else
41         echo
42         sed -i "s/.*default_user.*/default_user/g" /etc/slim.conf
43         zenity --info --title="Changed default user" --text "The default user disabled" --timeout 6
44        fi;;
45
46 # Enable / Disable services on boot
47       
48      "service")
49         while servsel=$((
50                 cat /etc/pandora/conf/service.conf|awk -F\# '{
51                 if (system("test -f "$1))
52                     print "FALSE"
53                 else
54                     print "TRUE";print NR;print $2
55                 }'
56                 )|
57                 zenity --title='Service Manager' --width=500 --height=300 --list --checklist --hide-column=2 --column Enabled --column line --column 'Please select'  --text='Enable / Disable Service:' --separator='#'); do
58
59         cat /etc/pandora/conf/service.conf|awk -F\# -v pat="$servsel" '{
60         if (match(pat,NR))
61             system ($4)
62         else
63             system ($3)
64         }'
65         zenity --info --title="Done" --text "The startup services have been changed." --timeout 6
66         done
67 ;;
68 esac
69 done