Netscape 4.76이 배포되었습니다. 과거와는 다르게 한글 입력이 잘
지원됩니다. 과거에도 그랬는지 모르겠지만 최준호님의 한글 리소스
화일이 필요없이도 아미와 연결된 한글 입력은 잘 됩니다.
참고로 저는 RH 7.0 영문판을 한글 패치해서 쓰고 있습니다.
아마 이번 버전(4.76)이 나오면서 한글 입력 부분을 강화한 것 같습니다.
제가 한 설치 방법은 다음과 같습니다. (실제로는 Stow를 이용하여 설치
했습니다만 다른 분들을 위해 stow를 쓰지 않고 설치하는 식으로 적습니다.)
1) /usr/local/lib/netscape에 영문판 netscape을 설치합니다.
2) 다음의 디렉토리를 만듭니다.
/usr/local/lib/netscape/en_US/app-defaults
3) 기본적인 Netscape.ad를 위의 디렉토리로 옮깁니다.
mv /usr/local/lib/netscape/Netscape.ad
/usr/local/lib/netscpae/en_US/app-defaults/Netscape
4) 박원규님의 홈페이지(http://chem.skky.ac.kr/~wrkpark)에 가셔서
libnsf를 가져다가 컴파일 하십시요. 컴파일을 root에서 하지 말고
일반 사용자에서 컴파일을 합니다.
5) /usr/local/lib/netscape에 shlib라는 디렉토리를 만들고
만들어진 libnsfix.so.1를 이 디렉토리(/usr/local/lib/netscape/shlib)
로 카피합니다.
6) 다음의 Script를 /usr/local/bin에 설치합니다.
이 스크립트를 netscape이라 하죠. (스크립트는 맨 마지막에
적어 놓습니다.)
7) 실행시켜서 잘 되는지 확인해보세요. 그리고 제가 한 방법은
메뉴가 한글로 나오지는 않지만 한글 입력은 되고 textInput
에 관한 에러메세지가 뜹니다만 한글 resource를 쓰지 않기
때문에 이로 인해 네스케이프가 죽는 현상은 많이 막을 수
있을 듯합니다.
그럼 도움이 되었길 빌며 좋은 하루되시길.
-- [스크립트 시작] --
#!/bin/sh
set -e
#################
## Basic Setting
#################
prefix=$(dirname $(dirname $0))
MOZILLA_HOME=${prefix}/lib/netscape
prefdir=$HOME/.netscape
prefcpcK=${prefdir}/preferences.js
defs="-irix-session-management"
defsrem="irix-session-management -noraise -remote"
b_opt="openBrowser"
nlang=en_US
NPX_PLUGIN_PATH=${prefdir}/plugins:${MOZILLA_HOME}/plugins
XUSERFILESEARCHPATH=${prefdir}/${nlang}/%T/%N:${MOZILLA_HOME}/${nlang}/%T/%N
XFILESEARCHPATH=${XUSERFILESEARCHPATH}:${XFILESEARCHPATH}
LD_LIBRARY_PATH=${MOSZILLA_HOME}:${LD_LIBRARY_PATH}
export MOZILLA_HOME
export NPX_PLUGIN_PATH
export XUSERFILESEARCHPATH
export XFILESEARCHPATH
export LD_LIBRARY_PATH
#########################
# Korean Language Setting
#########################
case "${LANG}" in
ko*)
export LD_PRELOAD=${MOZILLA_HOME}/shlib/libnsfix.so.1
;;
esac
netscape=""
if echo $0 | grep 'navigator' >/dev/null; then
netscape=${prefix}/lib/netscape/netscape-navigator
elif echo $0 | grep 'communicator' >/dev/null ; then
netscape=${prefix}/lib/netscape/netscape-communicator
elif [ -x ${prefix}/lib/netscape/netscape ]; then
netscape=${prefix}/lib/netscape/netscape
elif [ -x ${prefix}/lib/netscape/netscape-navigator ]; then
netscape=${prefix}/lib/netscape/netscape-navigator
else
echo "You don't seem to have netscape installed."
exit 1
fi
procname=$netscape
# This couldn't hurt.
export MOZILLA_LINUX_INSERT_LINK_FIX=1
# Exterminate zombie netscapes, and wipe stale lock file.
killstale () {
user="`whoami`"
ourpids="`/sbin/pidof $procname`"
[ "$ourpids" != "" ] && ourpids=`ps u $ourpids | sed -n "s/^$user[ ]*([^ ]*)[ ].*/1/p"`
for p in $ourpids; do
[ "$p" = "" ] && continue
# int, quit, term, kill
{ kill -2 $p && kill -3 $p && kill -15 $p && sleep 2 && kill -9 $p ; } >/dev/null 2>&1
done
[ -L "$HOME/.netscape/lock" ] && rm "$HOME/.netscape/lock"
return 0
}
# Check the netscape lock file
checklock () {
lock=`ls -l $HOME/.netscape/lock | awk '{ print $11 }'`
# Don't check the IP address; it may have changed.
#ipaddr=`echo $lock | awk -F : '{ print $1 }'`
pid=`echo $lock | awk -F : '{ print $2 }'`
#/sbin/ifconfig | grep -q "inet addr:$ipaddr" &&
pids=`/sbin/pidof $procname`
for apid in $pids ; do
[ "$pid" = "$apid" ] && return 0
done
killstale
return 1
}
# Try calling existing netscape process with functions, else start one.
newbrowser () {
[ $# -gt 0 ] && url=`echo $@ | sed 's/ -[^ ]*//g; s/( | )*//'`
if [ -L "$HOME/.netscape/lock" ] && checklock; then
if [ "$url" = "" ]; then
$netscape $defsrem "xfeDoCommand($b_opt)" "$@" 2>/dev/null ||
{ killstale && exec $netscape $defs $cl_opt "$@" ; }
else
$netscape $defsrem "xfeDoCommand(openBrowser)" 2>/dev/null &&
$netscape $defsrem "openURL($url)" 2>/dev/null ||
{ killstale && exec $netscape $defs "$@" ; }
fi
else
if [ "$url" = "" ]; then
[ ${rerun:=0} -eq 1 ] && { sleep 3; $netscape $defsrem "xfeDoCommand($b_opt)" '$@' 2>/dev/null ; } &
exec $netscape $defs $cl_opt "$@"
else
exec $netscape $defs "$@"
fi
fi
}
newopt () {
opt="$1"
shift
case "$opt" in
"+news"|"+discussions") b_opt="openNewsgroups" ; cl_opt="-discussions" ;;
"+mail"|"+messenger") b_opt="openInbox" ; cl_opt="-messenger" ;;
"+edit"|"+composer") b_opt="openEditor" ; cl_opt="-composer" ;;
"+addr" "+hist"|"+history") b_opt="openHistory" ; cl_opt="-iconic" ; rerun=1 ;;
"+book"|"+bookmarks") b_opt="openBookmarks" ; cl_opt="-iconic" ; rerun=1 ;;
"+mailto") b_opt="composeMessage" ; cl_opt="-messenger -iconic" ; rerun=1 ;;
"+component-bar") b_opt="toggleTaskbar" ; cl_opt="-component-bar";;
esac
newbrowser "$@"
}
oldopt () {
exec $netscape $defs "$@"
}
usage () {
echo ""
echo "Netscape Wrapper $ver, $ts"
echo " (c) 1998,1999 Dave Cinege, H. Peter Anvin, and Red Hat, Inc."
echo ""
echo "usage: netscape [ option ]"
echo " options:"
echo ""
echo " [none] Open new browser"
echo " [URL] Open new browser with URL"
echo " +news | +discussions Show Collabra Discussions"
echo " +mail | +messenger Show Messenger Mailbox (INBOX)"
echo " +edit | +composer Open Composer"
echo " +addr | +addresses Show Address Book"
echo " +hist | +history Open History window"
echo " +book | +bookmarks Open Bookmarks windowsBook"
echo " +mailto Open New Message window"
echo " +component-bar Show (detach) Component Lauch Bar"
echo " -[option] Passed directly to Netscape binary"
echo ""
echo "The wrapper first attempts to open the option in a running"
echo "netscape. If no netscape is running, one is executed with"
echo "the option as the starting window."
echo ""
echo "Edit the top of this file to set default paths."
echo ""
echo ""
echo "Netscape binary help:"
echo ""
exec $netscape "-help"
}
#
# Fix "locale" problems when printing to postscript
#
# If the locale uses a decimal separator other than a point printf
# will return something other than 1.0
#
pnt=`printf "%1.1f" 1 2>/dev/null`
if [ "$pnt" != "1.0" ]; then
export LC_NUMERIC=C # Try a "safe" value for LC_NUMERIC.
pnt=`printf "%1.1f" 1 2>/dev/null`
if [ "$pnt" != "1.0" ]; then # LC_ALL is bad.
LC_COLLATE=$LC_ALL # Set $LC_ALL for every category except
LC_CTYPE=$LC_ALL # LC_NUMERIC, and then unset LC_ALL.
LC_MESSAGES=$LC_ALL
LC_MONETARY=$LC_ALL
LC_TIME=$LC_ALL
unset LC_ALL
export LC_ALL LC_COLLATE LC_CTYPE LC_MESSAGES LC_MONETARY LC_CTIME
fi
fi
# Make user copy of default files unless they already exist
if [ ! -f $prefcpck ]; then
[ ! -d $prefdir ] && mkdir -p $prefdir
pwd=`pwd`
for pdir in $prefskel; do
[ ! -d $pdir ] && continue
cd $pdir
for i in *; do
[ ! -f $prefdir/$i ] && cp $i $prefdir/$i
done
done
touch $prefcpck #safer, slower then this? #echo -n "" >>$prefcpck
cd $pwd
fi
# set up home page
#HOMEPAGE=/usr/share/doc/HTML/index.html
#if [ -f $pref ]; then
# if egrep ""browser.startup.(homepage|page)""
# $pref > /dev/null; then
# HOMEPAGE=""
# fi
#fi
# main
case "$1" in
+*) newopt "$@"; exit ;;
-h|-help|--help) usage; exit ;;
-*) oldopt "$@"; exit ;;
*) [ -z "$*" -a -n "$HOMEPAGE" ] && newbrowser "$HOMEPAGE" || newbrowser "$@"; exit ;;
esac
echo "An error occurred running $netscape.
--
내 서명???