Current File : //usr/lib/vtxlock
#!/usr/sbin/sh
#
# Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
#

#
# $1 is the display to be locked.
# /var/xauth/$1 is a symbolic link to the actual xauth file.
#

XSCREENSAVER_LOCK=/usr/openwin/bin/xscreensaver-command
XSCREENSAVER_LOCKARGS="-lock"
XSCREENSAVER_CHECKARGS="-time"
XSCREENSAVER_LOCKED="locked"

OTHER_LOCK=/usr/openwin/bin/xlock
OTHER_LOCKARGS="-mode blank"

XLSATOMS="/usr/openwin/bin/xlsatoms"
XLSATOMS_ARGS="-name"
CDE_ATOM=_DT_SM_PREFERENCES
GNOME_ATOM=GNOME_SM_DESKTOP
XSCREENSAVER_ATOM=SCREENSAVER

DISPLAY=:$1; export DISPLAY
XAUTHORITY=/var/xauth/$1; export XAUTHORITY

#
# Note that these text strings we're greping are not localized.
#

#
# Is it GNOME?
#
if ${XLSATOMS} ${XLSATOMS_ARGS} ${GNOME_ATOM} 2>/dev/null \
    | grep -w ${GNOME_ATOM} >/dev/null; then
	#
	# Is it xscreensaver?
	#
	# xscreensaver
	if [ -x ${XSCREENSAVER_LOCK} ]; then
		${XSCREENSAVER_LOCK} ${XSCREENSAVER_CHECKARGS} 2>/dev/null \
		    | grep -w ${XSCREENSAVER_LOCKED} >/dev/null && exit 0

		${XSCREENSAVER_LOCK} ${XSCREENSAVER_LOCKARGS} >/dev/null 2>&1 &
		exit 0
	fi
fi

#
# Is it CDE?
#
if ${XLSATOMS} ${XLSATOMS_ARGS} ${CDE_ATOM} 2>/dev/null \
    | grep -w ${CDE_ATOM} >/dev/null; then
	exit 0
fi

# In other situations, use xlock as default.
if [ -x ${OTHER_LOCK} ]; then
	${OTHER_LOCK} ${OTHER_LOCKARGS} &
	exit 0
fi

exit 0