dtstart revision 12471
ceaa2978be3f6f2d48f7d1e639f956a1ec7b6b89Luke Smith#!/bin/ksh
5abe4e6ccb00e9414eb123e8d3d7e1a8d2a7c317Luke Smith#
5abe4e6ccb00e9414eb123e8d3d7e1a8d2a7c317Luke Smith# Script for starting a desktop session
5abe4e6ccb00e9414eb123e8d3d7e1a8d2a7c317Luke Smith#
5abe4e6ccb00e9414eb123e8d3d7e1a8d2a7c317Luke Smith# CDDL HEADER START
5abe4e6ccb00e9414eb123e8d3d7e1a8d2a7c317Luke Smith#
5abe4e6ccb00e9414eb123e8d3d7e1a8d2a7c317Luke Smith# The contents of this file are subject to the terms of the
5abe4e6ccb00e9414eb123e8d3d7e1a8d2a7c317Luke Smith# Common Development and Distribution License, Version 1.0 only
5abe4e6ccb00e9414eb123e8d3d7e1a8d2a7c317Luke Smith# (the "License"). You may not use this file except in compliance
5abe4e6ccb00e9414eb123e8d3d7e1a8d2a7c317Luke Smith# with the License.
5abe4e6ccb00e9414eb123e8d3d7e1a8d2a7c317Luke Smith#
5abe4e6ccb00e9414eb123e8d3d7e1a8d2a7c317Luke Smith# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5abe4e6ccb00e9414eb123e8d3d7e1a8d2a7c317Luke Smith# or http://www.opensolaris.org/os/licensing.
5abe4e6ccb00e9414eb123e8d3d7e1a8d2a7c317Luke Smith# See the License for the specific language governing permissions
5abe4e6ccb00e9414eb123e8d3d7e1a8d2a7c317Luke Smith# and limitations under the License.
5abe4e6ccb00e9414eb123e8d3d7e1a8d2a7c317Luke Smith#
5abe4e6ccb00e9414eb123e8d3d7e1a8d2a7c317Luke Smith# When distributing Covered Code, include this CDDL HEADER in each
0b9d29819770568053cd440baed0fedeb42aa208Luke Smith# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5abe4e6ccb00e9414eb123e8d3d7e1a8d2a7c317Luke Smith# If applicable, add the following below this CDDL HEADER, with the
5abe4e6ccb00e9414eb123e8d3d7e1a8d2a7c317Luke Smith# fields enclosed by brackets "[]" replaced with your own identifying
0b9d29819770568053cd440baed0fedeb42aa208Luke Smith# information: Portions Copyright [yyyy] [name of copyright owner]
0b9d29819770568053cd440baed0fedeb42aa208Luke Smith#
5abe4e6ccb00e9414eb123e8d3d7e1a8d2a7c317Luke Smith# CDDL HEADER END
0b9d29819770568053cd440baed0fedeb42aa208Luke Smith#
5abe4e6ccb00e9414eb123e8d3d7e1a8d2a7c317Luke Smith#
5abe4e6ccb00e9414eb123e8d3d7e1a8d2a7c317Luke Smith# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
0b9d29819770568053cd440baed0fedeb42aa208Luke Smith# Use is subject to license terms.
0b9d29819770568053cd440baed0fedeb42aa208Luke Smith#
0b9d29819770568053cd440baed0fedeb42aa208Luke Smith
5abe4e6ccb00e9414eb123e8d3d7e1a8d2a7c317Luke SmithDT_SYS_CONFIG_DIR=/usr/dt/config
c967f42c8ecf9b590ab1a9fca4f5d5d905fc1dedLuke SmithDT_SITE_CONFIG_DIR=/etc/dt/config
c967f42c8ecf9b590ab1a9fca4f5d5d905fc1dedLuke SmithMYNAME=$(basename $0)
c967f42c8ecf9b590ab1a9fca4f5d5d905fc1dedLuke Smith
c967f42c8ecf9b590ab1a9fca4f5d5d905fc1dedLuke Smithusage() {
c967f42c8ecf9b590ab1a9fca4f5d5d905fc1dedLuke Smith echo "Usage: $0 session_name"
c967f42c8ecf9b590ab1a9fca4f5d5d905fc1dedLuke Smith echo " session_name is the suffix of an Xinitrc script in"
c967f42c8ecf9b590ab1a9fca4f5d5d905fc1dedLuke Smith echo " $DT_SITE_CONFIG_DIR (local configuration location) or"
c967f42c8ecf9b590ab1a9fca4f5d5d905fc1dedLuke Smith echo " $DT_SYS_CONFIG_DIR (system default location)."
c967f42c8ecf9b590ab1a9fca4f5d5d905fc1dedLuke Smith}
c967f42c8ecf9b590ab1a9fca4f5d5d905fc1dedLuke Smith
c967f42c8ecf9b590ab1a9fca4f5d5d905fc1dedLuke Smithif [ $# -ne 1 ]; then
0b9d29819770568053cd440baed0fedeb42aa208Luke Smith usage
0b9d29819770568053cd440baed0fedeb42aa208Luke Smith exit 1
0b9d29819770568053cd440baed0fedeb42aa208Luke Smithfi
0b9d29819770568053cd440baed0fedeb42aa208Luke Smith
0b9d29819770568053cd440baed0fedeb42aa208Luke Smithcase "$1" in
0b9d29819770568053cd440baed0fedeb42aa208Luke Smith -h|--help|-\?)
0b9d29819770568053cd440baed0fedeb42aa208Luke Smith usage
0b9d29819770568053cd440baed0fedeb42aa208Luke Smith exit 0
0b9d29819770568053cd440baed0fedeb42aa208Luke Smith ;;
0b9d29819770568053cd440baed0fedeb42aa208Luke Smithesac
0b9d29819770568053cd440baed0fedeb42aa208Luke Smith
0b9d29819770568053cd440baed0fedeb42aa208Luke SmithSESSION_NAME="$1"
0b9d29819770568053cd440baed0fedeb42aa208Luke Smith
0b9d29819770568053cd440baed0fedeb42aa208Luke Smithif [ -x "${DT_SITE_CONFIG_DIR}/Xinitrc.${SESSION_NAME}" ]; then
5abe4e6ccb00e9414eb123e8d3d7e1a8d2a7c317Luke Smith XINITRC="${DT_SITE_CONFIG_DIR}/Xinitrc.${SESSION_NAME}"
0b9d29819770568053cd440baed0fedeb42aa208Luke Smithelif [ -x "${DT_SYS_CONFIG_DIR}/Xinitrc.${SESSION_NAME}" ]; then
5abe4e6ccb00e9414eb123e8d3d7e1a8d2a7c317Luke Smith XINITRC="${DT_SYS_CONFIG_DIR}/Xinitrc.${SESSION_NAME}"
5abe4e6ccb00e9414eb123e8d3d7e1a8d2a7c317Luke Smithelse
0b9d29819770568053cd440baed0fedeb42aa208Luke Smith echo "$MYNAME: Xinitrc.${SESSION_NAME} not found in ${DT_SITE_CONFIG_DIR} or ${DT_SYS_CONFIG_DIR}" 1>&2
0b9d29819770568053cd440baed0fedeb42aa208Luke Smith exit 1
0b9d29819770568053cd440baed0fedeb42aa208Luke Smithfi
5abe4e6ccb00e9414eb123e8d3d7e1a8d2a7c317Luke Smith
0b9d29819770568053cd440baed0fedeb42aa208Luke Smith# Use ssh-agent if available.
0b9d29819770568053cd440baed0fedeb42aa208Luke Smith#
0b9d29819770568053cd440baed0fedeb42aa208Luke Smithif [ -x "/usr/bin/ssh-agent" ] && [ -z "$SSH_AUTH_SOCK" ]; then
0b9d29819770568053cd440baed0fedeb42aa208Luke Smith XINITRC="/usr/bin/ssh-agent -- $XINITRC"
0b9d29819770568053cd440baed0fedeb42aa208Luke Smithelse
0b9d29819770568053cd440baed0fedeb42aa208Luke Smith echo "$0: ssh-agent not found."
0b9d29819770568053cd440baed0fedeb42aa208Luke Smithfi
0b9d29819770568053cd440baed0fedeb42aa208Luke Smith
0b9d29819770568053cd440baed0fedeb42aa208Luke Smithexec $XINITRC
0b9d29819770568053cd440baed0fedeb42aa208Luke Smith