Magellan Linux

Contents of /mcore-src/trunk/mcore-tools/daemon/client/include/system.client.class

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2057 - (show annotations) (download)
Wed May 8 12:02:09 2013 UTC (10 years, 11 months ago) by niro
File size: 4189 byte(s)
-use poweroff for shutdown
1 # $Id$
2
3 provide basic-system
4
5 help_system_reboot()
6 {
7 mecho "set system.reboot"
8 mecho " Reboots the system."
9 }
10
11 # set_system_reboot
12 set_system_reboot()
13 {
14 reboot
15 }
16
17 help_system_shutdown()
18 {
19 mecho "set system.shutdown"
20 mecho " Shuts the system down."
21 }
22
23 # set_system_shutdown
24 set_system_shutdown()
25 {
26 poweroff
27 }
28
29 help_system_console()
30 {
31 mecho "set system.console [user]"
32 mecho " Opens a console with user or root privileges."
33 mecho " Known users:"
34 mecho " ${MCORE_UNPRIV_USER} - mcore standard user only with user privileges"
35 mecho " root - mcore root user with full system privileges"
36 }
37
38 help_system_passwd()
39 {
40 mecho "set system.passwd [user] [password]"
41 mecho " Sets a system password for given user."
42 mecho " Allowed users: ${MCORE_UNPRIV_USER}, root"
43 mecho " If password is empty, the current password will be deleted."
44 }
45
46 help_system_autologon()
47 {
48 mecho "get system.autologon"
49 mecho " Shows the state of autlogon"
50 mecho
51 mecho "set system.autologon [action]"
52 mecho " Enables or disables X11 autologins of the mcore user."
53 mecho " Available actions:"
54 mecho " enable - enables autologon"
55 mecho " disable - disables autologon"
56 }
57
58 set_system_console()
59 {
60 local user="$1"
61 [[ -z ${user} ]] && help_system_console && return 1
62
63 case "${user}" in
64 ${MCORE_UNPRIV_USER}) x11runas "rxvt &" ;;
65 root) x11runas "rxvt -T 'Login as root' -e /bin/bash -c 'echo \"Login as root\";exec /bin/login root' &" ;;
66 *) help_system_console && return 1 ;;
67 esac
68 }
69
70 help_system_service()
71 {
72 mecho "set system.service [command] [service] [opts]"
73 mecho " Controls system services."
74 mecho " Commands:"
75 mecho " status - prints status of given service"
76 mecho " start - starts given service"
77 mecho " stop - stops given service"
78 mecho " restart - restart given service"
79 mecho " reload - reloads given service if possible"
80 mecho " add - adds a service to default runlevels"
81 mecho " del - deletes a service from all runlevels"
82 }
83
84 set_system_service()
85 {
86 local command="$1"
87 local service="$2"
88 local opts="$3"
89
90 [[ -z ${command} ]] && help_system_service && return 1
91 [[ -z ${service} ]] && help_system_service && return 1
92
93 if [[ ! -x ${MROOT}/etc/rc.d/init.d/${service} ]]
94 then
95 eecho "Service '${service}' unkown!"
96 fi
97
98 case "${command}" in
99 start) /etc/rc.d/init.d/"${service}" start ;;
100 stop) /etc/rc.d/init.d/"${service}" stop ;;
101 restart) /etc/rc.d/init.d/"${service}" restart ;;
102 reload) /etc/rc.d/init.d/"${service}" reload ;;
103 status) /etc/rc.d/init.d/"${service}" status ;;
104 add) rc-config add "${service}" ;;
105 del) rc-config del "${service}" ;;
106 *) help_system_service && return ;;
107 esac
108 }
109
110 set_system_passwd()
111 {
112 local user="$1"
113 local pass="$2"
114
115 [[ -z ${user} ]] && help_system_passwd && return 1
116 [[ -z ${pass} ]] && mecho "deleting password!"
117
118 case "${user}" in
119 root|${MCORE_UNPRIV_USER}) (echo "${pass}"; sleep 0.1; echo "${pass}") | passwd "${user}" ;;
120 *) help_system_passwd && return 1 ;;
121 esac
122 }
123
124 help_system_vt()
125 {
126 mecho "get system.vt"
127 mecho " Prints tty number of the current vt terminal."
128 mecho
129 mecho "set system.vt [tty]"
130 mecho " Change current vt terminal to given tty."
131 mecho " Valid tty numbers are 1-9."
132 }
133
134 set_system_vt()
135 {
136 local tty="$1"
137 [[ -z ${tty} ]] && help_system_vt && return 1
138 case "${tty}" in
139 [1-9])
140 chvt "${tty}"
141 mecho "current vt changed to ${tty}."
142 ;;
143 *) help_system_vt && return 1 ;;
144 esac
145 }
146
147 get_system_vt()
148 {
149 local tty
150 tty="$(fgconsole)"
151 rvecho "${tty}"
152 }
153
154 get_system_autologon()
155 {
156 local var
157 var=$(grep auto_login /etc/slim.conf | sed 's:auto_login.*\([yn].*\):\1:')
158 case "${var}" in
159 yes) mecho "autologon currently enabled"; rvecho "1" ;;
160 no) mecho "autologon currently disabled"; rvecho "0" ;;
161 *) eecho "unkown state" ;;
162 esac
163 }
164
165 set_system_autologon()
166 {
167 local action="$1"
168 [[ -z ${action} ]] && help_system_autologon && return 1
169
170 ## splash X11 tty too?
171
172 case "${action}" in
173 enable)
174 sed -i 's:^\(auto_login\).*:\1\tyes:' /etc/slim.conf
175 mecho "autologon enabled"
176 ;;
177 disable)
178 sed -i 's:^\(auto_login\).*:\1\tno:' /etc/slim.conf
179 mecho "autologon disabled"
180 ;;
181 *) help_system_autologon && return 1 ;;
182 esac
183 }