1 |
# $Id$ |
# $Id$ |
2 |
|
|
3 |
provide x0vnc |
provide x0vnc |
4 |
|
require basic-video |
5 |
|
|
6 |
help_vnc_enable() |
help_vnc_service() |
7 |
{ |
{ |
8 |
mecho "Enable vnc for the X0 display" |
mecho "get vnc.service" |
9 |
mecho "X11 restart required!" |
mecho " Shows X0-VNC facility status." |
10 |
|
mecho |
11 |
|
mecho "set vnc.service [command]" |
12 |
|
mecho " Controls the X0-VNC facility." |
13 |
|
mecho " Commands:" |
14 |
|
mecho " enable - Enable vnc for the X0 display" |
15 |
|
mecho " disable - Disable vnc for the X0 display" |
16 |
|
mecho |
17 |
|
mecho " X11 restart is required!" |
18 |
} |
} |
19 |
|
|
20 |
help_vnc_disable() |
help_vnc_passwd() |
21 |
{ |
{ |
22 |
mecho "Disable vnc for the X0 display" |
mecho "get vnc.passwd" |
23 |
mecho "X11 restart required!" |
mecho " Shows if a vnc password was set." |
24 |
|
mecho |
25 |
|
mecho "set vnc.passwd [password]" |
26 |
|
mecho " Sets given vnc password for remote connections." |
27 |
} |
} |
28 |
|
|
29 |
help_vnc_passwd() |
helper_vnc_enable() |
30 |
{ |
{ |
31 |
mecho "set vnc.passwd [password]" |
# add to module section |
32 |
mecho " sets given password for X0 display vnc." |
local CONFIG="${MROOT}/${MCORE_CONFIG_PATH}/xorg/module/99-vnc.conf" |
33 |
|
clearconfig |
34 |
|
addconfig ' Load "vnc"' |
35 |
|
|
36 |
|
# add to screen section |
37 |
|
local CONFIG="${MROOT}/${MCORE_CONFIG_PATH}/xorg/screen/99-vnc.conf" |
38 |
|
clearconfig |
39 |
|
addconfig ' Option "SecurityTypes" "VncAuth"' |
40 |
|
addconfig ' Option "UserPasswdVerifier" "VncAuth"' |
41 |
|
addconfig ' Option "PasswordFile" "/root/.vnc/passwd"' |
42 |
|
|
43 |
|
# requires graphic! |
44 |
|
helper_graphic_rebuild_xorg_conf_d |
45 |
|
|
46 |
|
mecho "Done but X11 restart required!" |
47 |
} |
} |
48 |
|
|
49 |
set_vnc_enable() |
helper_vnc_disable() |
50 |
{ |
{ |
51 |
local CONFIG="/etc/X11/xorg.conf.d/25-vnc.conf" |
local CONFIG="${MROOT}/${MCORE_CONFIG_PATH}/xorg/screen/99-vnc.conf" |
52 |
clearconfig |
clearconfig |
53 |
|
|
54 |
addconfig 'Section "Module"' |
local CONFIG="${MROOT}/${MCORE_CONFIG_PATH}/xorg/module/99-vnc.conf" |
55 |
addconfig ' Load "vnc"' |
clearconfig |
56 |
addconfig 'EndSection' |
|
57 |
|
# requires graphic! |
58 |
|
helper_graphic_rebuild_xorg_conf_d |
59 |
|
|
60 |
|
mecho "Done but X11 restart required!" |
61 |
} |
} |
62 |
|
|
63 |
set_vnc_disable() |
get_vnc_service() |
64 |
{ |
{ |
65 |
if [[ -f /etc/X11/xorg.conf.d/25-vnc.conf ]] |
if [ -f ${MROOT}@@SYSCONFDIR@@/X11/xorg.conf.d/25-module.conf ] |
66 |
then |
then |
67 |
rm /etc/X11/xorg.conf.d/25-vnc.conf |
if [[ -n $(grep 'Load.*vnc' ${MROOT}@@SYSCONFDIR@@/X11/xorg.conf.d/25-module.conf) ]] |
68 |
|
then |
69 |
|
mecho "VNC facility is enabled." |
70 |
|
rvecho "1" |
71 |
|
else |
72 |
|
mecho "VNC facility is disabled." |
73 |
|
rvecho "0" |
74 |
|
fi |
75 |
|
else |
76 |
|
mecho "VNC facility not configured yet." |
77 |
|
rvecho "0" |
78 |
|
fi |
79 |
|
} |
80 |
|
|
81 |
|
set_vnc_service() |
82 |
|
{ |
83 |
|
local action="${CLASS_ARGV[0]}" |
84 |
|
if [[ -z ${action} ]] |
85 |
|
then |
86 |
|
help_vnc_service |
87 |
|
return 1 |
88 |
|
fi |
89 |
|
|
90 |
|
case ${action} in |
91 |
|
enable) helper_vnc_enable ;; |
92 |
|
disable) helper_vnc_disable ;; |
93 |
|
*) help_vnc_service && return 1 ;; |
94 |
|
esac |
95 |
|
} |
96 |
|
|
97 |
|
get_vnc_passwd() |
98 |
|
{ |
99 |
|
trysudo test -s ${MROOT}/root/.vnc/passwd |
100 |
|
if [ $? -eq 0 ] |
101 |
|
then |
102 |
|
mecho "A VNC password was set." |
103 |
|
rvecho "1" |
104 |
|
else |
105 |
|
mecho "No VNC password was set yet." |
106 |
|
rvecho "0" |
107 |
fi |
fi |
108 |
} |
} |
109 |
|
|
110 |
set_vnc_passwd() |
set_vnc_passwd() |
111 |
{ |
{ |
112 |
local pass="$1" |
local pass="${CLASS_ARGV[0]}" |
113 |
local vncpasswd="/root/.vncpasswd" |
local vncconfigdir="${MROOT}/root/.vnc" |
114 |
|
local vncpasswd="${vncconfigdir}/passwd" |
115 |
[[ -z ${pass} ]] && help_vnc_passwd && return 1 |
[[ -z ${pass} ]] && help_vnc_passwd && return 1 |
116 |
|
trysudo test -d ${vncconfigdir} ] || trysudo install -d ${vncconfigdir} |
117 |
|
|
118 |
vncpasswd "${vncpasswd}" > /dev/null << EOF |
trysudo vncpasswd "${vncpasswd}" &> /dev/null << EOF |
119 |
${pass} |
${pass} |
120 |
${pass} |
${pass} |
121 |
|
n |
122 |
EOF |
EOF |
123 |
|
if [ $? -eq 0 ] |
124 |
|
then |
125 |
|
mecho "A VNC password was successfully set." |
126 |
|
rvecho "1" |
127 |
|
else |
128 |
|
mecho "Could not set a VNC password." |
129 |
|
rvecho "0" |
130 |
|
fi |
131 |
} |
} |