firefox 와 thunderbird 사용
- fedora에서 제공되는 firefox 스크립트 파일
#!/bin/sh
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is mozilla.org code.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
##
## Usage:
##
## $ mozilla
##
## This script is meant to run a mozilla program from the mozilla
## rpm installation.
##
## The script will setup all the environment voodoo needed to make
## mozilla work.
cmdname=`basename $0`
##
## Variables
##
MOZ_DIST_BIN="/usr/lib/firefox-1.0"
MOZ_PROGRAM="$MOZ_DIST_BIN/firefox"
MOZ_CLIENT_PROGRAM="$MOZ_DIST_BIN/mozilla-xremote-client"
MOZ_CLIENT_PROGRAM_PARAM="-a firefox"
##
## Set MOZILLA_FIVE_HOME
##
MOZILLA_FIVE_HOME="$MOZ_DIST_BIN"
export MOZILLA_FIVE_HOME
##
## Set LD_LIBRARY_PATH
##
if [ "$LD_LIBRARY_PATH" ]
then
LD_LIBRARY_PATH=$MOZ_DIST_BIN:$MOZ_DIST_BIN/plugins:$LD_LIBRARY_PATH
else
LD_LIBRARY_PATH=$MOZ_DIST_BIN:$MOZ_DIST_BIN
fi
export LD_LIBRARY_PATH
##
## Make sure that we set the plugin path for backwards compatibility
##
if [ "$MOZ_PLUGIN_PATH" ]
then
MOZ_PLUGIN_PATH=$MOZ_PLUGIN_PATH:/usr/lib/mozilla/plugins:$MOZ_DIST_BIN/plugins
else
MOZ_PLUGIN_PATH=/usr/lib/mozilla/plugins:$MOZ_DIST_BIN/plugins
fi
export MOZ_PLUGIN_PATH
##
## Set FONTCONFIG_PATH for Xft/fontconfig
##
FONTCONFIG_PATH="/etc/fonts:${MOZILLA_FIVE_HOME}/res/Xft"
export FONTCONFIG_PATH
# Figure out if we need to ser LD_ASSUME_KERNEL for older versions of the JVM.
function set_jvm_vars() {
# see if the jvm exists in either of the locations
if [ -L $MOZ_DIST_BIN/plugins/libjavaplugin_oji.so ]; then
JVM_ORIG_LINK=$MOZ_DIST_BIN/plugins/libjavaplugin_oji.so
fi
if [ -L /usr/lib/mozilla/plugins/libjavaplugin_oji.so ]; then
JVM_ORIG_LINK=/usr/lib/mozilla/plugins/libjavaplugin_oji.so
fi
if [ -z "$JVM_ORIG_LINK" ]; then
return;
fi
JVM_LINK=`perl -e "print readlink('$JVM_ORIG_LINK')"`
# is it relative? if so append the full path
echo "${JVM_LINK}" | grep -e "^/" 2>&1 > /dev/null
if [ "$?" -ne "0" ]; then
JVM_LINK=$MOZ_DIST_BIN/plugins/${JVM_LINK}
fi
JVM_BASE=`basename $JVM_LINK`
JVM_DIR=`echo $JVM_LINK | sed -e s/$JVM_BASE//g`
JVM_COMMAND=$JVM_DIR/java
if [ ! -r $JVM_COMMAND ]; then
JVM_DIR=${JVM_DIR}../../../bin/
JVM_COMMAND=$JVM_DIR/java
# does the command exist?
if [ ! -r "$JVM_COMMAND" ]; then
return
fi
fi
# export this temporarily - it seems to work with old and new
# versions of the JVM.
export LD_ASSUME_KERNEL=2.2.5
# get the version
JVM_VERSION=`$JVM_COMMAND -version 2>&1 | grep version | cut -f 3 -d " " | sed -e 's/\"//g'`
unset LD_ASSUME_KERNEL
case "$JVM_VERSION" in
(1.3.0*)
# bad JVM
export LD_ASSUME_KERNEL=2.2.5
;;
esac
}
function check_running() {
$MOZ_CLIENT_PROGRAM $MOZ_CLIENT_PROGRAM_PARAM 'ping()' 2>/dev/null >/dev/null
RETURN_VAL=$?
if [ "$RETURN_VAL" -eq "2" ]; then
echo 0
return 0
else
echo 1
return 1
fi
}
function open_mail() {
if [ "${ALREADY_RUNNING}" -eq "1" ]; then
exec $MOZ_CLIENT_PROGRAM $MOZ_CLIENT_PROGRAM_PARAM 'xfeDoCommand(openInbox)' 2>/dev/null >/dev/null
else
exec $MOZ_PROGRAM $*
fi
}
function open_compose() {
if [ "${ALREADY_RUNNING}" -eq "1" ]; then
exec $MOZ_CLIENT_PROGRAM $MOZ_CLIENT_PROGRAM_PARAM 'xfeDoCommand(composeMessage)' 2>/dev/null >/dev/null
else
exec $MOZ_PROGRAM $*
fi
}
# OK, here's where all the real work gets done
# set our JVM vars
set_jvm_vars
# check to see if there's an already running instance or not
ALREADY_RUNNING=`check_running`
# If there is no command line argument at all then try to open a new
# window in an already running instance.
if [ "${ALREADY_RUNNING}" -eq "1" ] && [ -z "$1" ]; then
exec $MOZ_CLIENT_PROGRAM $MOZ_CLIENT_PROGRAM_PARAM "xfeDoCommand(openBrowser)" 2>/dev/null>/dev/null
fi
# check system locale
MOZARGS=
MOZLOCALE=`echo $LANG | sed "s|_\([^.]*\).*|-\1|g"`
[ -f $MOZILLA_FIVE_HOME/chrome/$MOZLOCALE.jar ] && MOZARGS="-UILocale $MOZLOCALE"
# if there's no command line argument and there's not a running
# instance then just fire up a new copy of the browser
if [ -z "$1" ]; then
exec $MOZ_PROGRAM $MOZARGS 2>/dev/null >/dev/null
fi
unset RETURN_VAL
# If there's a command line argument but it doesn't begin with a -
# it's probably a url. Try to send it to a running instance.
USE_EXIST=0
opt="$1"
case "$opt" in
-mail)
open_mail ${1+"$@"}
;;
-compose)
open_compose ${1+"$@"}
;;
-*) ;;
*) USE_EXIST=1 ;;
esac
if [ "${USE_EXIST}" -eq "1" ] && [ "${ALREADY_RUNNING}" -eq "1" ]; then
# check to make sure that the command contains at least a :/ in it.
echo $opt | grep -e ':/' 2>/dev/null > /dev/null
RETURN_VAL=$?
if [ "$RETURN_VAL" -eq "1" ]; then
# if it doesn't begin with a '/' and it exists when the pwd is
# prepended to it then append the full path
echo $opt | grep -e '^/' 2>/dev/null > /dev/null
if [ "${RETURN_VAL}" -ne "0" ] && [ -e `pwd`/$opt ]; then
opt="`pwd`/$opt"
fi
exec $MOZ_CLIENT_PROGRAM $MOZ_CLIENT_PROGRAM_PARAM "openurl($opt)" 2>/dev/null >/dev/null
fi
# just pass it off if it looks like a url
exec $MOZ_CLIENT_PROGRAM $MOZ_CLIENT_PROGRAM_PARAM "openurl($opt,new-window)" 2>/dev/null >/dev/null
fi
exec $MOZ_PROGRAM $MOZARGS ${1+"$@"}
#!/bin/sh
BrowseName=`basename $0`
eval MOZILLA_FIVE_HOME="/usr/local/$BrowseName"
FLASH_GTK_LIBRARY=libgtk-x11-2.0.so.0
export MOZILLA_FIVE_HOME FLASH_GTK_LIBRARY
if $MOZILLA_FIVE_HOME/mozilla-xremote-client -a firefox "xfeDoCommand (openBrowser,$1)" > /dev/null 2>&1 ; then
exit 0
fi
$MOZILLA_FIVE_HOME/$BrowseName "$1"
#!/bin/sh
BrowseName=`basename $0`
eval MOZILLA_FIVE_HOME="/usr/local/$BrowseName"
FLASH_GTK_LIBRARY=libgtk-x11-2.0.so.0
export MOZILLA_FIVE_HOME FLASH_GTK_LIBRARY
if $MOZILLA_FIVE_HOME/$BrowseName -remote "openurl($1, new-tab)" > /dev/null 2>&1 ; then
exit 0
fi
$MOZILLA_FIVE_HOME/$BrowseName "$1"
#!/bin/sh
#
export MOZILLA_FIVE_HOME=/usr/local/thunderbird
case "$1" in
-compose)
opt=${*#*compose}
# 오픈오피스쪽에서 메일을 보낼때 사용이 된다.
# thunderbird is not running (thunderbird n'est pas lance)
# "to=foo@nowhere.net"
# "subject=cool page"
# "attachment=http://www.mozilla.org", "attachment=file:///tmp/file.name"
# example: "to=foo@nowhere.net,subject=cool page"
if [ $(ps ax | grep thunderbird-bin | wc -l) -gt 1 ]; then
$MOZILLA_FIVE_HOME/thunderbird -remote "xfeDoCommand (composeMessage,$opt)"
else
$MOZILLA_FIVE_HOME/thunderbird -compose $opt
fi
;;
-mail)
# 파이어폭스에서 페이지를 메일로 보낼때 사용이 된다.
opt=`echo $*| sed -e s/-mail// -e s/mailto:?/to=,/ -e s/body/attachment/ -e s/\&/,/`
if [ $(ps ax | grep thunderbird-bin | wc -l) -gt 1 ]; then
$MOZILLA_FIVE_HOME/thunderbird -remote "xfeDoCommand (composeMessage,$opt)"
else
$MOZILLA_FIVE_HOME/thunderbird -compose $opt
fi
;;
*)
if [ $(ps ax | grep thunderbird-bin | wc -l) -gt 1 ]; then
$MOZILLA_FIVE_HOME/thunderbird -remote "xfeDoCommand (openInbox)"
else
# thunderbird is not running (thunderbird n'est pas lance)
$MOZILLA_FIVE_HOME/thunderbird
fi
;;
esac
- 만일 그놈을 사용을 하고 있다면 : 환경설정> 기본 프로그램에서 브라우저 사용을 사용자 설정에서 만들어 준 스크립트 명으로 지정을 해준다.
/path/to/the_shell_script %s
user_pref("network.protocol-handler.app.http", "/path/to/the_shell_script");
속도 빠르게 하기
user_pref("general.smoothScroll", true);
user_pref("network.image.imageBehavior", 0);
user_pref("network.http.max-connections", 48);
user_pref("network.http.max-connections-per-server", 16);
user_pref("network.http.pipelining", true);
user_pref("network.http.pipelining.firstrequest", true);
user_pref("network.http.pipelining.maxrequests", 100);
user_pref("network.http.proxy.pipelining", true);
user_pref("nglayout.initialpaint.delay", 100);
플레쉬 속도 빠르게 하기
- mozilla 실행파일에 아래와 같은 라인은 넣어 준다. 이것은 gtk2를 사용을 하겠다는 것이다.
export FLASH_GTK_LIBRARY=libgtk-x11-2.0.so.0
리눅스 모질라 한글 인쇄
- 리눅스 모질라에서 한글을 인쇄하는 방법이다.
- 레드헷에서 제공이 되는 모질라의 경우는 기본적으로 한글이 지원이 되나 그렇지 않을 경우는 아래와 같이 해주면 된다.
- URL주소창에 about:config 를 입력을 한후 print.postscript.nativefont.ko 항목을 찾아 아래의 값을 넣어 준다.
Baekmuk-Gulim-KSC-EUC-H
- 계속해서 about:config 에서 오른쪽 마우스 버튼을 클릭을 하여 new -> string을 선택한다.
preference name : print.postscript.nativecode.ko
value : euc-kr - 또는 prefs.js 파일에
user_pref("print.postscript.nativecode.ko", "euc-kr");
user_pref("print.postscript.nativefont.ko", "Baekmuk-Gulim-KSC-EUC-H"); - 위와같이 설정을 마치고 브라우즈를 재시작을 하면 한글이 인쇄가 되는 것을 볼 수 있다.
인터넷 키워드 URL
- 모질라 주소창에서 한글로 입력시 해당싸이트에 들어 갈수 있는 방법을 기재한다. 예를 들어 모질라 주소창에 "엠파스"를 입력을 하면 www.empas.com에 들어가는 것이다.
- 메뉴 - 편집 - 환경설정 에서 스마트 검색을 선택하고 그기서 인터넷 키워드 사용을 체크 한다.
- 주소창에 "about:config"를 입력하면 환경설정 리스트가 나오는데 그기서 keyword.URL 이라는 항목을 찾아서 내용에 아래와 같이 넣어 준다.
http://www.google.com/search?btnI=I%27m+Feeling+Lucky&ie=UTF-8&oe=UTF-8&q= # google 이용
http://search.netpia.com/search.asp?action=search&com=netpia_nb&keyword= # 넷피아 이용 잘안됨 UTF8을 지원을 하지 않기 때문 - 그리고 모질를 재시작하고 주소창에 한글로 입력을 해본다. "깊은바다속으로"를 입력하면 www.intosea.com으로 접속이 될것 이다.
- keyword.URL에 대한 자세한 사항은 http://www.mozilla.org/docs/end-user/internet-keywords.html 에서 확인을 한다.
기능 북마크 만들기
- 아무런 북마크를 만들고 URL에 아래와 같이 입력을 한다. 익스에서 우짜고 저짜고 하면 걍 무시하고 한다.
javascript:top.location='http://ocn.amikai.com/amiweb/browser.jsp?url='+top.location+'&langpair=2%2C9&c_id=JA&display=2'
- 일본어 싸이트에 들어가서 번역된 페이지를 보고 싶으면 만든 북마크를 클릭을 하면 바로 번역을 해준다.
- 다른쪽 URL 엠파스나 네이버를 이용을 할경우 javascript:top.location='URL궈리문'+top.location+'URL궈리문2' 이런식으로 적어 주면 된다.
- 아래의 링크는 마우스 오른쪽 버턴을 눌러서 북마크 추가 한다.
- gtk2용 모질라로 엠파스에 들어 가면 화면 레이어가 어긋난다. td관련 폰트를 10pt로 소스에서 지정이 되어 있어서 그런 것인데 웹페이지 소스는 바뀔 생각이 없는 것 같으니깐 모질라에서 바꾸자
$ cd ~/.mozilla/defaults/..../chrome # 모지랄 설정 디렉토리에 있는 chrome디렉토리까지 들어 간다.
vim userContent.css # userContent.css 라는 파일을 만들어 준다.
td {font-size:9pt !important}
확장툴
mozex 사용하기
- mms 프로토콜을 사용을 하려면 mozex가 설치가 되어야 한다. mozex는 http://mozex.mozdev.org 에서 설치를 할 수 있다.
- mozex를 설치를 하고 아래의 화면 처럼 지정을 하면 된다.
- Mailer: /PATH/thunderbird -compose "to=%a,subject=%S"
- Source: /PATH/hanterm -e vim %t
- Textareas: /PATH/gvim %t
- 아래의 버전은 패치가 된 버전이다. Textarea 관련해서 한글이 깨지는 것을 방지 해준다.
- 다운로드 : mozex.jar
- 패치 파일은 다음과 같다.
diff -uNr unzip-5.50.org/convfn.c unzip-5.50/convfn.c
--- unzip-5.50.org/convfn.c 1970-01-01 08:00:00.000000000 +0800
+++ unzip-5.50/convfn.c 2004-10-28 04:35:07.045801088 +0800
@@ -0,0 +1,53 @@
+#ifdef _USE_ICONV
+#include
+#include
+#include
+#include
+#define ICONV_BUFSIZE 260
+char* getLegacyCharset() {
+ char *lang = getenv("LANG");
+ if(!lang) return "ASCII";
+ if(!strncmp(lang, "ko", 2)) return "UHC";
+ if(!strncmp(lang, "zh_TW", 5)) return "BIG5";
+ if(!strncmp(lang, "zh_GB", 5)) return "GB2312";
+ if(!strncmp(lang, "ja", 2)) return "EUC-JP";
+ if(!strncmp(lang, "ru", 2)) return "KOI8-R";
+ if(!strncmp(lang, "uk", 2)) return "KOI8-U";
+ if(!strncmp(lang, "th", 2)) return "TIS-620";
+ if(!strncmp(lang, "vi", 2)) return "TCVN";
+ if(!strrchr(lang, "8-FTU")) return "UHC";
+ return "ASCII";
+
+}
+
+
+char* convertfn(char *filename) {
+ size_t ileft, oleft;
+ iconv_t cd;
+ size_t iconv_result;
+ size_t size;
+ char inbuf[ICONV_BUFSIZE];
+ char outbuf[ICONV_BUFSIZE];
+ char *inptr = inbuf;
+ char *outptr = outbuf;
+
+ size = strlen(filename)+1;
+ strncpy(inbuf, filename, size);
+ ileft = size;
+ oleft = sizeof(outbuf);
+
+ cd = iconv_open(nl_langinfo(CODESET), getLegacyCharset());
+
+ iconv_result = iconv(cd, &inptr, &ileft, &outptr, &oleft);
+
+ outbuf[ICONV_BUFSIZE - oleft] = 0;
+ if(iconv_result != -1) strcpy(filename, outbuf);
+
+ iconv_close(cd);
+ return filename;
+}
+#else
+char* convertfn(char *filename) {
+ return filename;
+}
+#endif
diff -uNr unzip-5.50.org/convfn.h unzip-5.50/convfn.h
--- unzip-5.50.org/convfn.h 1970-01-01 08:00:00.000000000 +0800
+++ unzip-5.50/convfn.h 2004-10-28 04:35:07.045801088 +0800
@@ -0,0 +1,5 @@
+#ifndef _CONVERT_FILE_NAME_H
+#define _CONVERT_FILE_NAME_H
+char* convertfn(char *filename);
+#endif
+
diff -uNr unzip-5.50.org/extract.c unzip-5.50/extract.c
--- unzip-5.50.org/extract.c 2002-01-04 03:30:32.000000000 +0800
+++ unzip-5.50/extract.c 2004-10-28 04:35:06.872827384 +0800
@@ -2213,6 +2213,11 @@
return (char *)space;
#else /* NATIVE: EBCDIC or whatever */
+#if 1
+#include "convfn.h"
+ raw = convertfn(raw);
+#endif
+
return (char *)raw;
#endif
diff -uNr unzip-5.50.org/fileio.c unzip-5.50/fileio.c
--- unzip-5.50.org/fileio.c 2002-02-18 06:43:28.000000000 +0800
+++ unzip-5.50/fileio.c 2004-10-28 04:35:06.872827384 +0800
@@ -2133,10 +2133,15 @@
return PK_EOF;
G.filename[length] = '\0'; /* terminate w/zero: ASCIIZ */
+#if 0
/* translate the Zip entry filename coded in host-dependent "extended
ASCII" into the compiler's (system's) internal text code page */
Ext_ASCII_TO_Native(G.filename, G.pInfo->hostnum, G.pInfo->hostver,
G.pInfo->HasUxAtt, (option == DS_FN_L));
+#else
+#include "convfn.h"
+ convertfn(G.filename);
+#endif
if (G.pInfo->lcflag) /* replace with lowercase filename */
STRLOWER(G.filename, G.filename);
diff -uNr unzip-5.50.org/funzip.c unzip-5.50/funzip.c
--- unzip-5.50.org/funzip.c 2002-01-13 06:59:30.000000000 +0800
+++ unzip-5.50/funzip.c 2004-10-28 04:35:06.872827384 +0800
@@ -302,6 +302,7 @@
uch h[LOCHDR]; /* first local header (GZPHDR < LOCHDR) */
int g = 0; /* true if gzip format */
unsigned method = 0; /* initialized here to shut up gcc warning */
+ setlocale(LC_ALL, "");
#if CRYPT
char *s = " [-password]";
char *p; /* password */
diff -uNr unzip-5.50/unix/Makefile unzip-new/unix/Makefile
--- unzip-5.50/unix/Makefile 2002-02-17 02:00:38.000000000 +0900
+++ unzip-new/unix/Makefile 2004-10-28 00:22:11.490658848 +0900
@@ -81,16 +81,16 @@
OSDEP_H =
# object files
-OBJS1 = unzip$O $(CRC32)$O crctab$O crypt$O envargs$O explode$O
+OBJS1 = unzip$O convfn$O $(CRC32)$O crctab$O crypt$O envargs$O explode$O
OBJS2 = extract$O fileio$O globals$O inflate$O list$O match$O
-OBJS3 = process$O ttyio$O unreduce$O unshrink$O zipinfo$O
+OBJS3 = process$O ttyio$O unreduce$O unshrink$O zipinfo$O
OBJS = $(OBJS1) $(OBJS2) $(OBJS3) $M$O
LOBJS = $(OBJS)
OBJSDLL = $(OBJS:.o=.pic.o) api.pic.o
-OBJX = unzipsfx$O $(CRC32)$O crctab_$O crypt_$O extract_$O fileio_$O \
+OBJX = unzipsfx$O convfn$O $(CRC32)$O crctab_$O crypt_$O extract_$O fileio_$O \
globals_$O inflate_$O match_$O process_$O ttyio_$O $M_$O
LOBJX = $(OBJX)
-OBJF = funzip$O $(CRC32)$O cryptf$O globalsf$O inflatef$O ttyiof$O
+OBJF = funzip$O convfn$O $(CRC32)$O cryptf$O globalsf$O inflatef$O ttyiof$O
#OBJS_OS2 = $(OBJS1:.o=.obj) $(OBJS2:.o=.obj) os2.obj
#OBJF_OS2 = $(OBJF:.o=.obj)
UNZIP_H = unzip.h unzpriv.h globals.h $(OSDEP_H)
@@ -719,8 +719,8 @@
freebsd: unix_make
@echo 'NOTE: use bsd target for non-Intel FreeBSD compiles (if any).'
$(MAKE) unzips CC=gcc LD=gcc AS=gcc- CF="-O3 -Wall -I. -DASM_CRC -DBSD $(LOC)"\
- AF="-Di386 $(AF)" CRC32=crc_gcc
+ CF="-O3 -Wall -I. -DASM_CRC -DBSD -D_MBCS -D_USE_ICONV $(LOC)"\
+ LF2="-liconv $(LF2)" AF="-Di386 $(AF)" CRC32=crc_gcc
# Generic BSDish Unix gcc. ``The -O3 only works with later versions of gcc;
# you may have to use -O2 or -O for earlier versions. I have no idea why
@@ -764,8 +764,8 @@
linux: unix_make
@echo 'NOTE: use linux_noasm target for non-Intel Linux compiles.'
$(MAKE) unzips CC=gcc LD=gcc AS=gcc- CF="-O3 -Wall -I. -DASM_CRC $(LOC)"\
- AF="-Di386 $(AF)" CRC32=crc_gcc
+ CF="-O3 -Wall -I. -DASM_CRC -D_MBCS -D_USE_ICONV $(LOC)"\
+ AF="-Di386 $(AF)" CRC32=crc_gcc
# GRR: this echo is pointless; if user gets this far, no difference to install
# @echo 'Be sure to use the install_asm target rather than the install target'
테마
- Noia Mozilla 1.5 Theme 모질라 1.6에서 잘 먹힌다.
검색엔진
- 엠파스 검색엔진을 추가 하자
- empas.tar.gz
- 파일을 저장한뒤에 모질라 또는 파이어폭스가 설치되어 있는 곳에 searchplugins 라는 디렉토리에 풀어 주면 된다.
- 또는 http://in2c.net/empas_search.html
댓글
댓글 쓰기