#!/bin/sh # # CDDL HEADER START # # The contents of this file are subject to the terms of the # Common Development and Distribution License, Version 1.0 only # (the "License"). You may not use this file except in compliance # with the License. # # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE # or http://www.opensolaris.org/os/licensing. # See the License for the specific language governing permissions # and limitations under the License. # # When distributing Covered Code, include this CDDL HEADER in each # file and include the License file at usr/src/OPENSOLARIS.LICENSE. # If applicable, add the following below this CDDL HEADER, with the # fields enclosed by brackets "[]" replaced with your own identifying # information: Portions Copyright [yyyy] [name of copyright owner] # # CDDL HEADER END # # # Copyright 2009 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # DT_BINPATH=/usr/dt/bin XPREFIXES=' /usr/X11 /usr/openwin ' LING=${LC_CTYPE:-"$LC_ALL"} LING=${LING:-"$LANG"} LING=${LING:-"C"} for XPATH in $XPREFIXES do if [ -x $XPATH/bin/xset ] && [ x$XSET = x ] ; then XSET=$XPATH/bin/xset fi if [ -f $XPATH/lib/locale/$LING/OWfontpath ] && [ x$OWFONTPATH = x ] ; then OWFONTPATH=$XPATH/lib/locale/$LING/OWfontpath fi done XSET=${XSET:-"xset"} OWFONTPATH=${OWFONTPATH:-"/usr/openwin/lib/locale/$LING/OWfontpath"} # Copied from /usr/dt/bin/Xsession # ########################################################################### # # Append desktop font aliases to font path # # ########################################################################### ADDFONTPATH_LOCAL() { # Combine lines together to make arguments for the xset command FP=`/usr/bin/awk ' BEGIN { fp="fp+ " } /^[ ]*$/ { fp=" +fp " ; continue } { printf("%s%s", fp, $0) ; fp="," } ' $1` if [ -n "$FP" ]; then eval "$XSET $FP" fi } ADDFONTPATH_REMOTE() { /usr/bin/nawk ' BEGIN { fp=" fp+ " } /^[ ]*$/ { fp=" +fp " ; continue } {cmd = sprintf("%s%s%s%s",XSET,fp, $0," 1>/dev/null"); system(cmd); } ' $1 } # # Reset Xserver font path to its default values # $XSET fp default # Append desktop font paths. Note: these directories should be # accessable by the X server. The file precedence is: # # /etc/dt/config/xfonts/C # /usr/dt/config/xfonts/C # /etc/dt/config/xfonts/$LING # /usr/dt/config/xfonts/$LING # if [ "$DTXSERVERLOCATION" != "remote" -o "$XSERVERLOCATION" != "remote" ]; then # # Since X server is local, optimize by checking local desktop # font directories and making one call to xset. # if [ -r $OWFONTPATH ]; then ADDFONTPATH_LOCAL $OWFONTPATH fi if [ -f /etc/dt/config/xfonts/C/fonts.dir ]; then fontpath=/etc/dt/config/xfonts/C fi if [ -f /usr/dt/config/xfonts/C/fonts.dir ]; then if [ "x$fontpath" = x ]; then fontpath=/usr/dt/config/xfonts/C else fontpath=$fontpath,/usr/dt/config/xfonts/C fi fi if [ "$LING" != "C" ]; then if [ -f /etc/dt/config/xfonts/$LING/fonts.dir ]; then if [ "x$fontpath" = x ]; then fontpath=/etc/dt/config/xfonts/$LING else fontpath=$fontpath,/etc/dt/config/xfonts/$LING fi fi if [ -f /usr/dt/config/xfonts/$LING/fonts.dir ]; then if [ "x$fontpath" = x ]; then fontpath=/usr/dt/config/xfonts/$LING else fontpath=$fontpath,/usr/dt/config/xfonts/$LING fi fi fi if [ "x$fontpath" != x ]; then $XSET fp+ $fontpath fi else # # Since X server not local, we don't know if the desktop font # directories exist on the X server machine, so we have to # set them one at a time. # if [ -r $OWFONTPATH ]; then ADDFONTPATH_REMOTE $OWFONTPATH fi $XSET fp+ /etc/dt/config/xfonts/C 1>/dev/null $XSET fp+ /usr/dt/config/xfonts/C 1>/dev/null if [ "$LING" != "C" ]; then $XSET fp+ /etc/dt/config/xfonts/$LING 1>/dev/null $XSET fp+ /usr/dt/config/xfonts/$LING 1>/dev/null fi # # Append Font Server to tail of path. # Will server any "-dt-" fonts not found on the remote machine. # if [ -x /usr/openwin/bin/fs ]; then Hostname=`/usr/bin/hostname` dom=`/usr/bin/domainname` FS_HOSTNAME='' if [ ! -z "$dom" ]; then dom=".`echo $dom | /usr/bin/cut -d. -f2-`" fi if [ -x /usr/bin/getent ] && \ /usr/bin/getent ipnodes "${Hostname}" > /dev/null 2>&1; then FS_HOSTNAME=`/usr/bin/getent ipnodes "${Hostname}" | \ /usr/bin/head -1 | /usr/bin/cut -f1` elif /usr/sbin/ping "${Hostname}${dom}" 1 > /dev/null 2>&1; then FS_HOSTNAME="${Hostname}${dom}" fi if [ -z "$FS_HOSTNAME" ] || \ ! /usr/sbin/ping "$FS_HOSTNAME" 1 >/dev/null 2>&1 then FS_HOSTNAME="${Hostname}" fi $XSET fp+ "tcp/${FS_HOSTNAME}:7100" fi fi