Magellan Linux

Contents of /mcore-src/trunk/mcore-tools/src/modules/tigervnc/vnc.client.class.in

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2835 - (show annotations) (download)
Wed Sep 5 07:36:12 2018 UTC (5 years, 7 months ago) by niro
File size: 2675 byte(s)
-use trysudo to support unprivileged server instances
1 # $Id$
2
3 provide x0vnc
4 require basic-video
5
6 help_vnc_service()
7 {
8 mecho "get vnc.service"
9 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_passwd()
21 {
22 mecho "get vnc.passwd"
23 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 helper_vnc_enable()
30 {
31 # add to module section
32 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 helper_vnc_disable()
50 {
51 local CONFIG="${MROOT}/${MCORE_CONFIG_PATH}/xorg/screen/99-vnc.conf"
52 clearconfig
53
54 local CONFIG="${MROOT}/${MCORE_CONFIG_PATH}/xorg/module/99-vnc.conf"
55 clearconfig
56
57 # requires graphic!
58 helper_graphic_rebuild_xorg_conf_d
59
60 mecho "Done but X11 restart required!"
61 }
62
63 get_vnc_service()
64 {
65 if [ -f ${MROOT}@@SYSCONFDIR@@/X11/xorg.conf.d/25-module.conf ]
66 then
67 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
108 }
109
110 set_vnc_passwd()
111 {
112 local pass="${CLASS_ARGV[0]}"
113 local vncconfigdir="${MROOT}/root/.vnc"
114 local vncpasswd="${vncconfigdir}/passwd"
115 [[ -z ${pass} ]] && help_vnc_passwd && return 1
116 trysudo test -d ${vncconfigdir} ] || trysudo install -d ${vncconfigdir}
117
118 trysudo vncpasswd "${vncpasswd}" &> /dev/null << EOF
119 ${pass}
120 ${pass}
121 n
122 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 }