Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1262 - (hide annotations) (download)
Fri Feb 4 20:05:37 2011 UTC (13 years, 3 months ago) by niro
File size: 3002 byte(s)
- fixed spelling
- merged system.console and system.rootconsole to one function
- fixed the root console that it really opens up a root console with asking for roots password before changing the privileges
- added system.service functionality
- added system.passwd functionality
- added system.vt functionality

1 niro 1248 # $Id$
2    
3     provide basic-system
4    
5     help_system_reboot()
6     {
7     mecho "set system.reboot"
8 niro 1262 mecho " Reboots the system."
9 niro 1248 }
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 niro 1262 mecho " Shuts the system down."
21 niro 1248 }
22    
23     # set_system_shutdown
24     set_system_shutdown()
25     {
26     halt
27     }
28    
29     help_system_console()
30     {
31 niro 1262 mecho "set system.console [user]"
32     mecho " Opens a console with user or root privileges."
33     mecho " Known users:"
34     mecho " mcore - mcore standard user only with user privileges"
35     mecho " root - mcore root user with full system privileges"
36 niro 1248 }
37    
38 niro 1262 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, root"
43     mecho " If password is empty, the current password will be deleted."
44     }
45    
46 niro 1248 set_system_console()
47     {
48 niro 1262 local user="$1"
49     [[ -z ${user} ]] && help_system_console && return 1
50    
51     case "${user}" in
52     mcore) x11runas "rxvt &" ;;
53     root) x11runas "rxvt -T 'Login as root' -e /bin/bash -c 'echo \"Login as root\";exec /bin/login root' &" ;;
54     *) help_system_console && return 1 ;;
55     esac
56 niro 1248 }
57    
58 niro 1262 help_system_service()
59 niro 1248 {
60 niro 1262 mecho "set system.service [command] [service] [opts]"
61     mecho " Controls system services."
62     mecho " Commands:"
63     mecho " start - starts given service"
64     mecho " stop - stops given service"
65     mecho " restart - restart given service"
66     mecho " reload - reloads given service if possible"
67     mecho " add - adds a service to default runlevels"
68     mecho " del - deletes a service from all runlevels"
69 niro 1248 }
70    
71 niro 1262 set_system_service()
72 niro 1248 {
73 niro 1262 local command="$1"
74     local service="$2"
75     local opts="$3"
76    
77     [[ -z ${command} ]] && help_system_service && return 1
78     [[ -z ${service} ]] && help_system_service && return 1
79    
80     if [[ ! -x /etc/rc.d/init.d/${service} ]]
81     then
82     mecho "Service '${service}' unkown!"
83     fi
84    
85     case "${command}" in
86     start) /etc/rc.d/init.d/"${service}" start ;;
87     stop) /etc/rc.d/init.d/"${service}" stop ;;
88     restart) /etc/rc.d/init.d/"${service}" restart ;;
89     reload) /etc/rc.d/init.d/"${service}" reload ;;
90     add) rc-config add "${service}" ;;
91     del) rc-config del "${service}" ;;
92     *) help_system_service && return ;;
93     esac
94 niro 1248 }
95 niro 1262
96     set_system_passwd()
97     {
98     local user="$1"
99     local pass="$2"
100    
101     [[ -z ${user} ]] && help_system_passwd && return 1
102     [[ -z ${pass} ]] && mecho "deleting password!"
103    
104     case "${user}" in
105     root|mcore) (echo "${pass}"; sleep 0.1; echo "${pass}") | passwd "${user}" ;;
106     *) help_system_passwd && return 1 ;;
107     esac
108     }
109    
110     help_system_vt()
111     {
112     mecho "get system.vt"
113     mecho " Prints tty number of the current vt terminal."
114     mecho
115     mecho "set system.vt [tty]"
116     mecho " Change current vt terminal to given tty."
117     mecho " Valid tty numbers are 1-9."
118     }
119    
120     set_system_vt()
121     {
122     local tty="$1"
123     [[ -z ${tty} ]] && help_system_vt && return 1
124     case "${tty}" in
125     [1-9])
126     chvt "${tty}"
127     mecho "current vt changed to ${tty}."
128     ;;
129     *) help_system_vt && return 1 ;;
130     esac
131     }
132    
133     get_system_vt()
134     {
135     local tty
136     tty="$(fgconsole)"
137     mecho "${tty}"
138     }