4
4
5
5
# Function to list common session options
6
6
list_sessions () {
7
- echo " Select the session:"
8
- echo " 1) GNOME (gnome.desktop)"
9
- echo " 2) KDE Plasma (plasma.desktop)"
10
- echo " 3) XFCE (xfce.desktop)"
11
- echo " 4) LXDE (LXDE.desktop)"
12
- echo " 5) LXQt (lxqt.desktop)"
13
- echo " 6) Cinnamon (cinnamon.desktop)"
14
- echo " 7) MATE (mate.desktop)"
15
- echo " 8) Openbox (openbox.desktop)"
16
- echo " 9) i3 (i3.desktop)"
17
- echo " 10) Custom session"
18
- echo " Enter your choice [1-10]: "
7
+ printf " Select the session:\n "
8
+ printf " 1) GNOME (gnome.desktop)\n "
9
+ printf " 2) KDE Plasma (plasma.desktop)\n "
10
+ printf " 3) XFCE (xfce.desktop)\n "
11
+ printf " 4) LXDE (LXDE.desktop)\n "
12
+ printf " 5) LXQt (lxqt.desktop)\n "
13
+ printf " 6) Cinnamon (cinnamon.desktop)\n "
14
+ printf " 7) MATE (mate.desktop)\n "
15
+ printf " 8) Openbox (openbox.desktop)\n "
16
+ printf " 9) i3 (i3.desktop)\n "
17
+ printf " 10) Custom session\n "
18
+ printf " Enter your choice [1-10]: "
19
19
read session_choice
20
20
21
21
case " $session_choice " in
@@ -29,151 +29,150 @@ list_sessions() {
29
29
8) session=" openbox.desktop" ;;
30
30
9) session=" i3.desktop" ;;
31
31
10)
32
- echo " Enter custom session name (e.g., mysession.desktop): "
32
+ printf " Enter custom session name (e.g., mysession.desktop): "
33
33
read -r session ;;
34
34
* )
35
- echo " Invalid option selected."
35
+ printf " Invalid option selected.\n "
36
36
exit 1 ;;
37
37
esac
38
38
}
39
39
40
40
# Function to configure LightDM
41
41
configure_lightdm () {
42
- echo " Configuring LightDM for autologin..."
42
+ printf " Configuring LightDM for autologin...\n "
43
43
44
- echo " Enter username for LightDM autologin: "
44
+ printf " Enter username for LightDM autologin: "
45
45
read -r user
46
46
47
- $ESCALATION_TOOL " echo '[Seat:*]' > /etc/lightdm/lightdm.conf.d/50-autologin.conf"
48
- $ESCALATION_TOOL " echo 'autologin-user=$user ' >> /etc/lightdm/lightdm.conf.d/50-autologin.conf"
49
- $ESCALATION_TOOL " echo 'autologin-user-timeout=0' >> /etc/lightdm/lightdm.conf.d/50-autologin.conf"
47
+ $ESCALATION_TOOL " printf '[Seat:*]' > /etc/lightdm/lightdm.conf.d/50-autologin.conf"
48
+ $ESCALATION_TOOL " printf 'autologin-user=$user ' >> /etc/lightdm/lightdm.conf.d/50-autologin.conf"
49
+ $ESCALATION_TOOL " printf 'autologin-user-timeout=0' >> /etc/lightdm/lightdm.conf.d/50-autologin.conf"
50
50
51
- echo " LightDM has been configured for autologin."
51
+ printf " LightDM has been configured for autologin.\n "
52
52
}
53
53
54
54
# Function to remove LightDM autologin
55
55
remove_lightdm_autologin () {
56
- echo " Removing LightDM autologin configuration..."
56
+ printf " Removing LightDM autologin configuration...\n "
57
57
$ESCALATION_TOOL rm -f /etc/lightdm/lightdm.conf.d/50-autologin.conf
58
- echo " LightDM autologin configuration has been removed."
58
+ printf " LightDM autologin configuration has been removed.\n "
59
59
}
60
60
61
61
# Function to configure GDM
62
62
configure_gdm () {
63
- echo " Configuring GDM for autologin..."
63
+ printf " Configuring GDM for autologin...\n "
64
64
65
- echo " Enter username for GDM autologin: "
65
+ printf " Enter username for GDM autologin: "
66
66
read -r user
67
67
68
- $ESCALATION_TOOL " echo '[daemon]' > /etc/gdm/custom.conf"
69
- $ESCALATION_TOOL " echo 'AutomaticLoginEnable = true' >> /etc/gdm/custom.conf"
70
- $ESCALATION_TOOL " echo 'AutomaticLogin = $user ' >> /etc/gdm/custom.conf"
68
+ $ESCALATION_TOOL " printf '[daemon]' > /etc/gdm/custom.conf"
69
+ $ESCALATION_TOOL " printf 'AutomaticLoginEnable = true' >> /etc/gdm/custom.conf"
70
+ $ESCALATION_TOOL " printf 'AutomaticLogin = $user ' >> /etc/gdm/custom.conf"
71
71
72
- echo " GDM has been configured for autologin."
72
+ printf " GDM has been configured for autologin.\n "
73
73
}
74
74
75
75
# Function to remove GDM autologin
76
76
remove_gdm_autologin () {
77
- echo " Removing GDM autologin configuration..."
77
+ printf " Removing GDM autologin configuration...\n "
78
78
$ESCALATION_TOOL sed -i ' /AutomaticLoginEnable/d' /etc/gdm/custom.conf
79
79
$ESCALATION_TOOL sed -i ' /AutomaticLogin/d' /etc/gdm/custom.conf
80
- echo " GDM autologin configuration has been removed."
80
+ printf " GDM autologin configuration has been removed.\n "
81
81
}
82
82
83
83
# Function to configure SDDM
84
84
configure_sddm () {
85
- echo " Configuring SDDM for autologin..."
85
+ printf " Configuring SDDM for autologin...\n "
86
86
87
- echo " Enter username for SDDM autologin: "
87
+ printf " Enter username for SDDM autologin: "
88
88
read -r user
89
89
list_sessions # Show session options
90
90
91
- $ESCALATION_TOOL " echo '[Autologin]' > /etc/sddm.conf"
92
- $ESCALATION_TOOL " echo 'User=$user ' >> /etc/sddm.conf"
93
- $ESCALATION_TOOL " echo 'Session=$session ' >> /etc/sddm.conf"
91
+ $ESCALATION_TOOL " printf '[Autologin]' > /etc/sddm.conf"
92
+ $ESCALATION_TOOL " printf 'User=$user ' >> /etc/sddm.conf"
93
+ $ESCALATION_TOOL " printf 'Session=$session ' >> /etc/sddm.conf"
94
94
95
- echo " SDDM has been configured for autologin."
95
+ printf " SDDM has been configured for autologin.\n "
96
96
}
97
97
98
98
# Function to remove SDDM autologin
99
99
remove_sddm_autologin () {
100
- echo " Removing SDDM autologin configuration..."
100
+ printf " Removing SDDM autologin configuration...\n "
101
101
$ESCALATION_TOOL sed -i ' /\[Autologin\]/,+2d' /etc/sddm.conf
102
- echo " SDDM autologin configuration has been removed."
102
+ printf " SDDM autologin configuration has been removed.\n "
103
103
}
104
104
105
105
# Function to configure LXDM
106
106
configure_lxdm () {
107
- echo " Configuring LXDM for autologin..."
107
+ printf " Configuring LXDM for autologin...\n "
108
108
109
- echo " Enter username for LXDM autologin: "
109
+ printf " Enter username for LXDM autologin: "
110
110
read -r user
111
111
list_sessions # Show session options
112
112
113
113
$ESCALATION_TOOL sed -i " s/^#.*autologin=.*$/autologin=${user} /" /etc/lxdm/lxdm.conf
114
114
$ESCALATION_TOOL sed -i " s|^#.*session=.*$|session=/usr/bin/${session} |; s|^session=.*$|session=/usr/bin/${session} |" /etc/lxdm/lxdm.conf
115
115
116
- echo " LXDM has been configured for autologin."
116
+ printf " LXDM has been configured for autologin.\n "
117
117
}
118
118
119
119
# Function to remove LXDM autologin
120
120
remove_lxdm_autologin () {
121
- echo " Removing LXDM autologin configuration..."
121
+ printf " Removing LXDM autologin configuration...\n "
122
122
$ESCALATION_TOOL sed -i " s/^autologin=.*$/#autologin=/" /etc/lxdm/lxdm.conf
123
123
$ESCALATION_TOOL sed -i " s/^session=.*$/#session=/" /etc/lxdm/lxdm.conf
124
- echo " LXDM autologin configuration has been removed."
124
+ printf " LXDM autologin configuration has been removed.\n "
125
125
}
126
126
127
127
# Function to configure or remove autologin based on user choice
128
128
configure_or_remove_autologin () {
129
- echo " Do you want to add or remove autologin?"
130
- echo " 1) Add autologin"
131
- echo " 2) Remove autologin"
132
- echo " Enter your choice [1-2]: "
129
+ printf " Do you want to add or remove autologin?\n "
130
+ printf " 1) Add autologin\n "
131
+ printf " 2) Remove autologin\n "
132
+ printf " Enter your choice [1-2]: "
133
133
read action_choice
134
134
135
135
if [ " $action_choice " = " 1" ]; then
136
- echo " Choose the display manager to configure:"
137
- echo " 1) LightDM"
138
- echo " 2) GDM"
139
- echo " 3) SDDM"
140
- echo " 4) LXDM"
141
- echo " Enter your choice [1-4]: "
136
+ printf " Choose the display manager to configure:\n "
137
+ printf " 1) LightDM\n "
138
+ printf " 2) GDM\n "
139
+ printf " 3) SDDM\n "
140
+ printf " 4) LXDM\n "
141
+ printf " Enter your choice [1-4]: "
142
142
read choice
143
143
144
144
case " $choice " in
145
145
1) configure_lightdm ;;
146
146
2) configure_gdm ;;
147
147
3) configure_sddm ;;
148
148
4) configure_lxdm ;;
149
- * ) echo " Invalid option selected." ;;
149
+ * ) printf " Invalid option selected.\n " ;;
150
150
esac
151
151
elif [ " $action_choice " = " 2" ]; then
152
- echo " Choose the display manager to remove autologin:"
153
- echo " 1) LightDM"
154
- echo " 2) GDM"
155
- echo " 3) SDDM"
156
- echo " 4) LXDM"
157
- echo " Enter your choice [1-4]: "
152
+ printf " Choose the display manager to remove autologin:\n "
153
+ printf " 1) LightDM\n "
154
+ printf " 2) GDM\n "
155
+ printf " 3) SDDM\n "
156
+ printf " 4) LXDM\n "
157
+ printf " Enter your choice [1-4]: "
158
158
read choice
159
159
160
160
case " $choice " in
161
161
1) remove_lightdm_autologin ;;
162
162
2) remove_gdm_autologin ;;
163
163
3) remove_sddm_autologin ;;
164
164
4) remove_lxdm_autologin ;;
165
- * ) echo " Invalid option selected." ;;
165
+ * ) printf " Invalid option selected.\n " ;;
166
166
esac
167
167
else
168
- echo " Invalid choice. Exiting..."
168
+ printf " Invalid choice. Exiting...\n "
169
169
exit 1
170
170
fi
171
171
172
- echo " Action completed. Exiting..."
172
+ printf " Action completed. Exiting...\n "
173
173
exit 0
174
174
}
175
175
176
-
177
176
checkEnv
178
177
checkEscalationTool
179
178
configure_or_remove_autologin
0 commit comments