ToolTalk ユーザーズガイド

リモートホスト上のプログラムの起動に必要な環境変数

開始文字列によってプロセスが起動されるのは ttsession が動作しているホスト上だけですが、起動されたプロセスは他のホスト上の他のプロセスを起動できます。

そのためには、まず開始文字列を次のようにします。


# rsh farhost myprog

次に、myprog を確実に正しいセッションに入れて初期メッセージを受信させるために、ToolTalk の重要な環境変数をいくつか伝播する必要があります。これには、例 4-1 に示すように、シェルスクリプトの ttrsh を使用します。


例 4-1 ToolTalk 環境変数の伝播


#! /bin/sh
# Runs a command remotely in background, by pointing stdout and stderr 
# at /dev/null. By running this through the Bourne shell at the other end, 
# we get rid of the rsh and rshd.
#set -x
user=
debug=
HOST=${HOST-`hostname`}
if [ "$1" = "-debug" ]; then
	debug=1
	shift
fi
if [ $# -lt 2 -o "$1" = "-h" -o "$1" = "-help" ]; 
then
 echo "Usage: ttrsh [-debug] remotehost [-l username] ¥
remotecommand"
 echo "Usage: ttrsh [-h | -help]"
	exit 1
else
 host=$1
	shift
	if test "$1" = "-l" ; then
 	shift
		user=$1
		shift
	fi
fi
xhostname=`expr "$DISPLAY" : "¥([^:]*¥).*"`
xscreen=`expr "$DISPLAY" : "[^:]*¥(.*¥)"`
if test x$xscreen = x; then
	xscreen=":0.0"
fi
if test x$xhostname = x -o x$xhostname = x"unix";
then
 DISPLAY=$HOST$xscreen
fi
if [ "$user" = "" ]; then
	userOption=""
else
	userOption="-l $user"
fi
if [ $debug ]; then
 outputRedirect=
else
	outputRedirect='> /dev/null 2>&1 &'
fi
(
	echo "OPENWINHOME=$OPENWINHOME;export OPENWINHOME;¥
TT_SESSION=$TT_SESSION;export TT_SESSION;¥
TT_TOKEN=$TT_TOKEN;export TT_TOKEN;TT_FILE=$TT_FILE;¥
export TT_FILE;DISPLAY=$DISPLAY;export DISPLAY;($*)" ¥
$outputRedirect | rsh $host $userOption /bin/sh &
) &