Magellan Linux

Annotation of /mcore-src/trunk/mcore-tools/src/modules/basic-system/system.client.class.in

Parent Directory Parent Directory | Revision Log Revision Log


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