VirtualBox

source: vbox/trunk/src/VBox/Additions/linux/installer/vboxadd-x11.sh@ 37010

Last change on this file since 37010 was 36752, checked in by vboxsync, 14 years ago

Additions/linux/installer: X.Org Server crashes on Natty if we call udevadm trigger for the input subsystem... forgot the uninstaller

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 21.5 KB
Line 
1#! /bin/sh
2#
3# Linux Additions X11 setup init script ($Revision: 36752 $)
4#
5
6#
7# Copyright (C) 2006-2010 Oracle Corporation
8#
9# This file is part of VirtualBox Open Source Edition (OSE), as
10# available from http://www.virtualbox.org. This file is free software;
11# you can redistribute it and/or modify it under the terms of the GNU
12# General Public License (GPL) as published by the Free Software
13# Foundation, in version 2 as it comes in the "COPYING" file of the
14# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
15# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
16#
17
18
19# chkconfig: 35 30 70
20# description: VirtualBox Linux Additions kernel modules
21#
22### BEGIN INIT INFO
23# Provides: vboxadd-x11
24# Required-Start:
25# Required-Stop:
26# Default-Start:
27# Default-Stop:
28# Description: VirtualBox Linux Additions X11 setup
29### END INIT INFO
30
31PATH=$PATH:/bin:/sbin:/usr/sbin
32LOG="/var/log/vboxadd-install-x11.log"
33CONFIG_DIR="/var/lib/VBoxGuestAdditions"
34CONFIG="config"
35
36# Check architecture
37cpu=`uname -m`;
38case "$cpu" in
39 i[3456789]86|x86)
40 cpu="x86"
41 LIB="/usr/lib"
42 ;;
43 x86_64|amd64)
44 cpu="amd64"
45 if test -d "/usr/lib64"; then
46 LIB="/usr/lib64"
47 else
48 LIB="/usr/lib"
49 fi
50 ;;
51esac
52
53# Find the version of X installed
54# The last of the three is for the X.org 6.7 included in Fedora Core 2
55xver=`X -version 2>&1`
56x_version=`echo "$xver" | sed -n 's/^X Window System Version \([0-9.]\+\)/\1/p'``echo "$xver" | sed -n 's/^XFree86 Version \([0-9.]\+\)/\1/p'``echo "$xver" | sed -n 's/^X Protocol Version 11, Revision 0, Release \([0-9.]\+\)/\1/p'``echo "$xver" | sed -n 's/^X.Org X Server \([0-9.]\+\)/\1/p'`
57# Version of Redhat or Fedora installed. Needed for setting up selinux policy.
58redhat_release=`cat /etc/redhat-release 2> /dev/null`
59# All the different possible locations for XFree86/X.Org configuration files
60# - how many of these have ever been used?
61x11conf_files="/etc/X11/xorg.conf /etc/X11/xorg.conf-4 /etc/X11/.xorg.conf \
62 /etc/xorg.conf /usr/etc/X11/xorg.conf-4 /usr/etc/X11/xorg.conf \
63 /usr/lib/X11/xorg.conf-4 /usr/lib/X11/xorg.conf /etc/X11/XF86Config-4 \
64 /etc/X11/XF86Config /etc/XF86Config /usr/X11R6/etc/X11/XF86Config-4 \
65 /usr/X11R6/etc/X11/XF86Config /usr/X11R6/lib/X11/XF86Config-4 \
66 /usr/X11R6/lib/X11/XF86Config"
67
68if [ -f /etc/arch-release ]; then
69 system=arch
70elif [ -f /etc/redhat-release ]; then
71 system=redhat
72elif [ -f /etc/debian_version ]; then
73 system=debian
74elif [ -f /etc/SuSE-release ]; then
75 system=suse
76elif [ -f /etc/gentoo-release ]; then
77 system=gentoo
78elif [ -f /etc/lfs-release -a -d /etc/rc.d/init.d ]; then
79 system=lfs
80else
81 system=other
82fi
83
84if [ "$system" = "arch" ]; then
85 USECOLOR=yes
86 . /etc/rc.d/functions
87 fail_msg() {
88 stat_fail
89 }
90
91 succ_msg() {
92 stat_done
93 }
94
95 begin() {
96 stat_busy "$1"
97 }
98fi
99
100if [ "$system" = "redhat" ]; then
101 . /etc/init.d/functions
102 fail_msg() {
103 echo_failure
104 echo
105 }
106 succ_msg() {
107 echo_success
108 echo
109 }
110 begin() {
111 echo -n "$1"
112 }
113fi
114
115if [ "$system" = "suse" ]; then
116 . /etc/rc.status
117 fail_msg() {
118 rc_failed 1
119 rc_status -v
120 }
121 succ_msg() {
122 rc_reset
123 rc_status -v
124 }
125 begin() {
126 echo -n "$1"
127 }
128fi
129
130if [ "$system" = "gentoo" ]; then
131 if [ -f /sbin/functions.sh ]; then
132 . /sbin/functions.sh
133 elif [ -f /etc/init.d/functions.sh ]; then
134 . /etc/init.d/functions.sh
135 fi
136 fail_msg() {
137 eend 1
138 }
139 succ_msg() {
140 eend $?
141 }
142 begin() {
143 ebegin $1
144 }
145 if [ "`which $0`" = "/sbin/rc" ]; then
146 shift
147 fi
148fi
149
150if [ "$system" = "lfs" ]; then
151 . /etc/rc.d/init.d/functions
152 fail_msg() {
153 echo_failure
154 }
155 succ_msg() {
156 echo_ok
157 }
158 begin() {
159 echo $1
160 }
161fi
162
163if [ "$system" = "debian" -o "$system" = "other" ]; then
164 fail_msg() {
165 echo " ...fail!"
166 }
167 succ_msg() {
168 echo " ...done."
169 }
170 begin() {
171 echo -n $1
172 }
173fi
174
175dev=/dev/vboxguest
176userdev=/dev/vboxuser
177owner=vboxadd
178group=1
179
180fail()
181{
182 if [ "$system" = "gentoo" ]; then
183 eerror $1
184 exit 1
185 fi
186 fail_msg
187 echo "($1)"
188 exit 1
189}
190
191# Install an X11 desktop startup application. The application should be a shell script.
192# Its name should be purely alphanumeric and should start with a two digit number (preferably
193# 98 or thereabouts) to indicate its place in the Debian Xsession startup order.
194#
195# syntax: install_x11_startup_app app desktop service_name
196install_x11_startup_app() {
197 self="install_x11_startup_app"
198 app_src=$1
199 desktop_src=$2
200 service_name=$3
201 alt_command=$4
202 test -r "$app_src" ||
203 { echo >> $LOG "$self: no script given"; return 1; }
204 test -r "$desktop_src" ||
205 { echo >> $LOG "$self: no desktop file given"; return 1; }
206 test -n "$service_name" ||
207 { echo >> $LOG "$self: no service given"; return 1; }
208 test -n "$alt_command" ||
209 { echo >> $LOG "$self: no service given"; return 1; }
210 app_dest=`basename $app_src sh`
211 app_dest_sh=`basename $app_src sh`.sh
212 desktop_dest=`basename $desktop_src`
213 found=0
214 x11_autostart="/etc/xdg/autostart"
215 kde_autostart="/usr/share/autostart"
216 redhat_dir=/etc/X11/Xsession.d
217 mandriva_dir=/etc/X11/xinit.d
218 debian_dir=/etc/X11/xinit/xinitrc.d
219 if [ -d "$mandriva_dir" -a -w "$mandriva_dir" -a -x "$mandriva_dir" ]
220 then
221 install -m 0644 $app_src "$mandriva_dir/$app_dest"
222 found=1
223 fi
224 if [ -d "$x11_autostart" -a -w "$x11_autostart" -a -x "$x11_autostart" ]
225 then
226 install -m 0644 $desktop_src "$x11_autostart/$desktop_dest"
227 found=1
228 fi
229 if [ -d "$kde_autostart" -a -w "$kde_autostart" -a -x "$kde_autostart" ]
230 then
231 install -m 0644 $desktop_src "$kde_autostart/$desktop_dest"
232 found=1
233 fi
234 if [ -d "$redhat_dir" -a -w "$redhat_dir" -a -x "$redhat_dir" ]
235 then
236 install -m 0644 $app_src "$redhat_dir/$app_dest"
237 found=1
238 fi
239 if [ -d "$debian_dir" -a -w "$debian_dir" -a -x "$debian_dir" ]
240 then
241 install -m 0755 $app_src "$debian_dir/$app_dest_sh"
242 found=1
243 fi
244 if [ $found -eq 1 ]; then
245 return 0
246 fi
247 cat >> $LOG << EOF
248Could not set up the $service_name desktop service.
249To start it at log-in for a given user, add the command $alt_command
250to the file .xinitrc in their home directory.
251EOF
252 return 1
253}
254
255
256start()
257{
258 # Todo: check configuration and correct it if necessary
259 return 0
260}
261
262stop()
263{
264 return 0
265}
266
267restart()
268{
269 stop && start
270 return 0
271}
272
273# setup_script
274setup()
275{
276 echo "VirtualBox Guest Additions installation, Window System and desktop setup" > $LOG
277 begin "Installing the Window System drivers"
278 lib_dir="$LIB/VBoxGuestAdditions"
279 share_dir="/usr/share/VBoxGuestAdditions"
280 test -x "$lib_dir" -a -x "$share_dir" ||
281 fail "Invalid Guest Additions configuration found"
282 # By default we want to configure X
283 dox11config="true"
284 # By default, we want to run our xorg.conf setup script
285 setupxorgconf="true"
286 # But not to install the configuration file into xorg.conf.d
287 doxorgconfd=""
288 # But without the workaround for SUSE 11.1 not doing input auto-detection
289 newmouse=""
290 # By default we want to use hal/udev/whatever for auto-loading the mouse driver
291 automouse="--autoMouse"
292 # We need to tell our xorg.conf hacking script whether /dev/psaux exists
293 nopsaux="--nopsaux"
294 test -c /dev/psaux && nopsaux=""
295 # The video driver to install for X.Org 6.9+
296 vboxvideo_src=
297 # The mouse driver to install for X.Org 6.9+
298 vboxmouse_src=
299
300 modules_dir=`X -showDefaultModulePath 2>&1` || modules_dir=
301 if [ -z "$modules_dir" ]; then
302 for dir in /usr/lib64/xorg/modules /usr/lib/xorg/modules /usr/X11R6/lib64/modules /usr/X11R6/lib/modules /usr/X11R6/lib/X11/modules; do
303 if [ -d $dir ]; then
304 modules_dir=$dir
305 break
306 fi
307 done
308 fi
309
310 test -z "$x_version" -o -z "$modules_dir" &&
311 fail "Could not find the X.Org or XFree86 Window System."
312
313 echo
314 # openSUSE 10.3 shipped X.Org 7.2 with X.Org Server 1.3, but didn't
315 # advertise the fact.
316 if grep -q '10\.3' /etc/SuSE-release 2>/dev/null; then
317 case $x_version in 7.2.*)
318 x_version=1.3.0;;
319 esac
320 fi
321 case $x_version in
322 1.*.99.* )
323 echo "Warning: unsupported pre-release version of X.Org Server installed. Not"
324 echo "installing the X.Org drivers."
325 dox11config=""
326 ;;
327 1.10.* )
328 begin "Installing X.Org Server 1.10 modules"
329 vboxvideo_src=vboxvideo_drv_110.so
330 vboxmouse_src=vboxmouse_drv_110.so
331 doxorgconfd="true"
332 # Does Fedora still ship without vboxvideo detection?
333 # test "$system" = "redhat" || setupxorgconf=""
334 ;;
335 1.9.* )
336 begin "Installing X.Org Server 1.9 modules"
337 vboxvideo_src=vboxvideo_drv_19.so
338 vboxmouse_src=vboxmouse_drv_19.so
339 doxorgconfd="true"
340 # Fedora 14 looks likely to ship without vboxvideo detection
341 # test "$system" = "redhat" || setupxorgconf=""
342 ;;
343 1.8.* )
344 begin "Installing X.Org Server 1.8 modules"
345 vboxvideo_src=vboxvideo_drv_18.so
346 vboxmouse_src=vboxmouse_drv_18.so
347 doxorgconfd="true"
348 # Fedora 13 shipped without vboxvideo detection
349 test "$system" = "redhat" || setupxorgconf=""
350 ;;
351 1.7.* )
352 begin "Installing X.Org Server 1.7 modules"
353 vboxvideo_src=vboxvideo_drv_17.so
354 vboxmouse_src=vboxmouse_drv_17.so
355 setupxorgconf=""
356 test "$system" = "debian" && doxorgconfd="true"
357 ;;
358 1.6.* )
359 begin "Installing X.Org Server 1.6 modules"
360 vboxvideo_src=vboxvideo_drv_16.so
361 vboxmouse_src=vboxmouse_drv_16.so
362 # SUSE SLE* with X.Org 1.6 does not do input autodetection;
363 # openSUSE does.
364 if grep -q -E '^SLE[^ ]' /etc/SuSE-brand 2>/dev/null; then
365 automouse=""
366 newmouse="--newMouse"
367 else
368 test "$system" = "suse" && setupxorgconf=""
369 fi
370 ;;
371 1.5.* )
372 begin "Installing X.Org Server 1.5 modules"
373 vboxvideo_src=vboxvideo_drv_15.so
374 vboxmouse_src=vboxmouse_drv_15.so
375 # SUSE with X.Org 1.5 is another special case, and is also
376 # handled specially
377 test "$system" = "suse" &&
378 { automouse=""; newmouse="--newMouse"; }
379 ;;
380 1.4.* )
381 begin "Installing X.Org Server 1.4 modules"
382 vboxvideo_src=vboxvideo_drv_14.so
383 vboxmouse_src=vboxmouse_drv_14.so
384 automouse=""
385 newmouse="--newMouse"
386 ;;
387 1.3.* )
388 # This was the first release which gave the server version number
389 # rather than the X11 release version when you did 'X -version'.
390 begin "Installing X.Org Server 1.3 modules"
391 vboxvideo_src=vboxvideo_drv_13.so
392 vboxmouse_src=vboxmouse_drv_13.so
393 automouse=""
394 newmouse="--newMouse"
395 ;;
396 7.1.* | 7.2.* )
397 begin "Installing X.Org 7.1 modules"
398 vboxvideo_src=vboxvideo_drv_71.so
399 vboxmouse_src=vboxmouse_drv_71.so
400 automouse=""
401 ;;
402 6.9.* | 7.0.* )
403 begin "Installing X.Org 6.9/7.0 modules"
404 vboxvideo_src=vboxvideo_drv_70.so
405 vboxmouse_src=vboxmouse_drv_70.so
406 automouse=""
407 ;;
408 6.7* | 6.8.* | 4.2.* | 4.3.* )
409 # Assume X.Org post-fork or XFree86
410 begin "Installing XFree86 4.2/4.3 and X.Org 6.7/6.8 modules"
411 rm "$modules_dir/drivers/vboxvideo_drv.o" 2>/dev/null
412 rm "$modules_dir/input/vboxmouse_drv.o" 2>/dev/null
413 ln -s "$lib_dir/vboxvideo_drv.o" "$modules_dir/drivers/vboxvideo_drv.o"
414 ln -s "$lib_dir/vboxmouse_drv.o" "$modules_dir/input/vboxmouse_drv.o"
415 automouse=""
416 succ_msg
417 ;;
418 * )
419 echo "Warning: unknown version of the X Window System installed. Not installing"
420 echo "X Window System drivers."
421 dox11config=""
422 ;;
423 esac
424 if [ -n "$vboxvideo_src" -a -n "$vboxmouse_src" ]; then
425 rm "$modules_dir/drivers/vboxvideo_drv.so" 2>/dev/null
426 rm "$modules_dir/input/vboxmouse_drv.so" 2>/dev/null
427 ln -s "$lib_dir/$vboxvideo_src" "$modules_dir/drivers/vboxvideo_drv.so"
428 ln -s "$lib_dir/$vboxmouse_src" "$modules_dir/input/vboxmouse_drv.so" &&
429 succ_msg
430 fi
431
432 if test -n "$dox11config"; then
433 begin "Setting up the Window System to use the Guest Additions"
434 # Certain Ubuntu/Debian versions use a special PCI-id file to identify
435 # video drivers. Some versions have the directory and don't use it.
436 # Those versions can autoload vboxvideo though, so we don't need to
437 # hack the configuration file for them.
438 test "$system" = "debian" -a -d /usr/share/xserver-xorg/pci &&
439 {
440 rm -f "/usr/share/xserver-xorg/pci/vboxvideo.ids"
441 ln -s "$share_dir/vboxvideo.ids" /usr/share/xserver-xorg/pci 2>/dev/null
442 test -n "$automouse" && setupxorgconf=""
443 }
444
445 # Do the XF86Config/xorg.conf hack for those versions that require it
446 configured=""
447 generated=""
448 if test -n "$setupxorgconf"; then
449 for i in $x11conf_files; do
450 if test -r "$i"; then
451 if grep -q "VirtualBox generated" "$i"; then
452 generated="$generated `printf "$i\n"`"
453 else
454 "$lib_dir/x11config.sh" $newmouse $automouse $nopsaux "$i"
455 fi
456 configured="true"
457 fi
458 # Timestamp, so that we can see if the config file is changed
459 # by someone else later
460 test -r "$i.vbox" && touch "$i.vbox"
461 done
462 # X.Org Server 1.5 and 1.6 can detect hardware they know, but they
463 # need a configuration file for VBoxVideo.
464 main_cfg="/etc/X11/xorg.conf"
465 nobak="/etc/X11/xorg.vbox.nobak"
466 if test -z "$configured"; then
467 touch "$main_cfg"
468 "$lib_dir/x11config.sh" $newmouse $automouse $nopsaux --noBak "$main_cfg"
469 touch "$nobak"
470 fi
471 fi
472 # X.Org Server versions starting with 1.5 can do mouse auto-detection,
473 # to make our lives easier and spare us the nasty hacks.
474 test -n "$automouse" &&
475 if [ -d /etc/hal/fdi/policy ]
476 then
477 # Install hal information about the mouse driver so that X.Org
478 # knows to load it.
479 install -o 0 -g 0 -m 0644 "$share_dir/90-vboxguest.fdi" /etc/hal/fdi/policy
480 # Delete the hal cache so that it notices our fdi file
481 rm -r /var/cache/hald/fdi-cache 2> /dev/null
482 fi
483 if test -n "$doxorgconfd"
484 then
485 if test -d /etc/udev/rules.d
486 then
487 install -o 0 -g 0 -m 0644 "$share_dir/70-xorg-vboxmouse.rules" /etc/udev/rules.d
488 # This is normally silent. I have purposely not redirected
489 # error output as I want to know if something goes wrong,
490 # particularly if the command syntax ever changes.
491 udevadm trigger --action=change --subsystem-match=misc
492 fi
493 test -d /usr/share/X11/xorg.conf.d &&
494 install -o 0 -g 0 -m 0644 "$share_dir/50-vboxmouse.conf" /usr/share/X11/xorg.conf.d
495 test -d /usr/lib/X11/xorg.conf.d &&
496 install -o 0 -g 0 -m 0644 "$share_dir/50-vboxmouse.conf" /usr/lib/X11/xorg.conf.d
497 test -d /etc/X11/xorg.conf.d &&
498 install -o 0 -g 0 -m 0644 "$share_dir/50-vboxmouse.conf" /etc/X11/xorg.conf.d
499 fi
500 succ_msg
501 test -n "$generated" &&
502 cat << EOF
503The following X.Org/XFree86 configuration files were originally generated by
504the VirtualBox Guest Additions and were not modified:
505
506$generated
507
508EOF
509 cat << EOF
510You may need to restart the hal service and the Window System (or just restart
511the guest system) to enable the Guest Additions.
512
513EOF
514 fi
515
516 begin "Installing graphics libraries and desktop services components"
517 # Install selinux policy for Fedora 7 and 8 to allow the X server to
518 # open device files
519 case "$redhat_release" in
520 Fedora\ release\ 7* | Fedora\ release\ 8* )
521 semodule -i "$share_dir/vbox_x11.pp" > /dev/null 2>&1
522 ;;
523 esac
524
525 # Install selinux policy for Fedora 8 to allow the X server to
526 # open our drivers
527 case "$redhat_release" in
528 Fedora\ release\ 8* )
529 chcon -u system_u -t lib_t "$lib_dir"/*.so
530 ;;
531 esac
532
533 # Our logging code generates some glue code on 32-bit systems. At least F10
534 # needs a rule to allow this. Send all output to /dev/null in case this is
535 # completely irrelevant on the target system.
536 chcon -t unconfined_execmem_exec_t '/usr/bin/VBoxClient' > /dev/null 2>&1
537 semanage fcontext -a -t unconfined_execmem_exec_t '/usr/bin/VBoxClient' > /dev/null 2>&1
538 # Install the guest OpenGL drivers
539 if [ -d /usr/lib64/dri ]
540 then
541 rm -f /usr/lib64/dri/vboxvideo_dri.so
542 ln -s $LIB/VBoxOGL.so /usr/lib64/dri/vboxvideo_dri.so
543 elif [ -d /usr/lib/dri ]
544 then
545 rm -f /usr/lib/dri/vboxvideo_dri.so
546 ln -s $LIB/VBoxOGL.so /usr/lib/dri/vboxvideo_dri.so
547 fi
548 if [ -d /usr/lib64/xorg/modules/dri ]
549 then
550 rm -f /usr/lib64/xorg/modules/dri/vboxvideo_dri.so
551 ln -s $LIB/VBoxOGL.so /usr/lib64/xorg/modules/dri/vboxvideo_dri.so
552 elif [ -d /usr/lib/xorg/modules/dri ]
553 then
554 rm -f /usr/lib/xorg/modules/dri/vboxvideo_dri.so
555 ln -s $LIB/VBoxOGL.so /usr/lib/xorg/modules/dri/vboxvideo_dri.so
556 fi
557
558 # And set up VBoxClient to start when the X session does
559 install_x11_startup_app "$lib_dir/98vboxadd-xclient" "$share_dir/vboxclient.desktop" VBoxClient VBoxClient-all ||
560 fail "See the log file $LOG for more information."
561 succ_msg
562}
563
564# cleanup_script
565cleanup()
566{
567 # Restore xorg.conf files as far as possible
568 ## List of generated files which have been changed since we generated them
569 newer=""
570 ## Are we dealing with a legacy information which didn't support
571 # uninstallation?
572 legacy=""
573 ## Do any of the restored configuration files still reference our drivers?
574 failed=""
575 test -r "$CONFIG_DIR/$CONFIG" || legacy="true"
576 main_cfg="/etc/X11/xorg.conf"
577 nobak="/etc/X11/xorg.vbox.nobak"
578 if test -r "$nobak"; then
579 test -r "$main_cfg" &&
580 if test -n "$legacy" -o ! "$nobak" -ot "$main_cfg"; then
581 rm -f "$nobak" "$main_cfg"
582 else
583 newer="$newer`printf " $main_cfg (no original)\n"`"
584 fi
585 else
586 for i in $x11conf_files; do
587 if test -r "$i.vbox"; then
588 if test ! "$i" -nt "$i.vbox" -o -n "$legacy"; then
589 mv -f "$i.vbox" "$i"
590 grep -q -E 'vboxvideo|vboxmouse' "$i" &&
591 failed="$failed`printf " $i\n"`"
592 else
593 newer="$newer`printf " $i ($i.vbox)\n"`"
594 fi
595 fi
596 done
597 fi
598 test -n "$newer" && cat << EOF
599
600The following X.Org/XFree86 configuration files were not restored, as they may
601have been changed since they were generated by the VirtualBox Guest Additions.
602You may wish to restore these manually. The file name in brackets is the
603original version.
604
605$newer
606
607EOF
608 test -n "$failed" && cat << EOF
609
610The following X.Org/XFree86 configuration files were restored, but still
611contain references to the Guest Additions drivers. You may wish to check and
612possibly correct the restored configuration files to be sure that the server
613will continue to work after it is restarted.
614
615$failed
616
617EOF
618
619 # Remove X.Org drivers
620 find "$x11_modules_dir" /usr/lib64/xorg/modules /usr/lib/xorg/modules \
621 /usr/X11R6/lib64/modules /usr/X11R6/lib/modules \
622 /usr/X11R6/lib/X11/modules \
623 '(' -name 'vboxvideo_drv*' -o -name 'vboxmouse_drv*' ')' \
624 -exec rm -f '{}' ';' 2>/dev/null
625
626 # Remove the link to vboxvideo_dri.so
627 rm -f /usr/lib/dri/vboxvideo_dri.so /usr/lib64/dri/vboxvideo_dri.so 2>/dev/null
628
629 # Remove VBoxClient autostart files
630 rm /etc/X11/Xsession.d/98vboxadd-xclient 2>/dev/null
631 rm /etc/X11/xinit.d/98vboxadd-xclient 2>/dev/null
632 rm /etc/X11/xinit/xinitrc.d/98vboxadd-xclient.sh 2>/dev/null
633 rm /etc/xdg/autostart/vboxclient.desktop 2>/dev/null
634 rm /usr/share/autostart/vboxclient.desktop 2>/dev/null
635
636 # Remove other files
637 rm /etc/hal/fdi/policy/90-vboxguest.fdi 2>/dev/null
638 rm /etc/udev/rules.d/70-xorg-vboxmouse.rules 2>/dev/null
639 udevadm trigger --action=change --subsystem-match=misc 2>/dev/null
640 rm /usr/lib/X11/xorg.conf.d/50-vboxmouse.conf 2>/dev/null
641 rm /usr/share/X11/xorg.conf.d/50-vboxmouse.conf 2>/dev/null
642 rm /usr/share/xserver-xorg/pci/vboxvideo.ids 2>/dev/null
643}
644
645dmnstatus()
646{
647 /bin/true
648}
649
650case "$1" in
651start)
652 start
653 ;;
654stop)
655 stop
656 ;;
657restart)
658 restart
659 ;;
660setup)
661 setup
662 ;;
663cleanup)
664 cleanup
665 ;;
666status)
667 dmnstatus
668 ;;
669*)
670 echo "Usage: $0 {start|stop|restart|status}"
671 exit 1
672esac
673
674exit
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette