home *** CD-ROM | disk | FTP | other *** search
- #!/bin/sh
-
- ### BEGIN INIT INFO
- # Provides: open-vm-tools
- # Required-Start: $local_fs
- # Required-Stop: $local_fs
- # X-Start-Before: $network
- # X-Stop-After: $network
- # Default-Start: 2 3 4 5
- # Default-Stop: 0 1 6
- # Description: Runs the open-vm-tools services
- # Short-Description: Runs the open-vm-tools services
- ### END INIT INFO
-
- . /lib/lsb/init-functions
-
- exit_if_not_in_vm () {
- if [ ! -x /usr/bin/vmware-checkvm ] || ! /usr/bin/vmware-checkvm > /dev/null 2>&1
- then
- echo "Not starting as we're not running in a vm."
- exit 0
- fi
- }
-
- case "${1}" in
- start)
- # Check if we're running inside VMWare
- exit_if_not_in_vm
-
- log_daemon_msg "Loading open-vm-tools modules"
- log_progress_msg "vmhgfs"; modprobe vmhgfs
- log_progress_msg "vmmemctl"; modprobe vmmemctl
- log_progress_msg "vmsync"; modprobe vmsync
- log_end_msg 0
-
- log_daemon_msg "Starting open-vm daemon" "vmtoolsd"
- /usr/bin/vmtoolsd --background /var/run/vmtoolsd.pid
- log_end_msg 0
- ;;
-
- stop)
- # Check if we're running inside VMWare
- exit_if_not_in_vm
-
- log_daemon_msg "Stopping open-vm guest daemon" "vmtoolsd"
-
- if [ -f /var/run/vmtoolsd.pid ]
- then
- kill $(cat /var/run/vmtoolsd.pid)
- fi
-
- log_end_msg 0
-
- log_daemon_msg "Removing open-vm-tools modules"
- log_progress_msg "vmhgfs"; modprobe -r vmhgfs
- log_progress_msg "vmmemctl"; modprobe -r vmmemctl
- log_progress_msg "vmsync"; modprobe -r vmsync
- log_end_msg 0
- ;;
-
- force-reload|restart)
- ${0} stop; ${0} start
- ;;
-
- *)
- log_success_msg "Usage: ${0} {start|stop|restart|force-reload}"
- exit 1
- ;;
- esac
-