LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 3206|回复: 14

打开多个mozilla初步解决方案

[复制链接]
发表于 2002-8-4 17:56:22 | 显示全部楼层 |阅读模式
声明:本帖是看了弟兄们的帖子才得到解决的,我只是综合了一下 。成果属弟兄们所有。。不要告我侵权。。。。。。哈。。。。。

++++++++++++++++++++++++++++++++++
看到弟兄们的讨论,我也实践了一下,如果是打开一个一个mozilla,如果是另外想打开,实在是有点难度。除了以命令调用外,能不能打开第二个mozilla呢???答案是肯定的。我在整理弟兄的的帖子中,发现了有这个可能。于是就把弟兄们的帖子整理一下,重新组织一下,于是就有了这篇文章。

+++++++++++++++++++++++++++++++++
在/usr/lib下面有个mozilla文件夹,如果是安装新版本,不把老版本删除。用命令调用的还是老版本。所以就得把/usr/lib下的mozilla文件夹改名为mozilla.OLD。
然后把新版的mozilla整个文件复制到/usr/lib目录下。以我的安装新版的mozilla为例,我把1.1b安装到/usr/local目录下,我就把/usr/local目录下的mozilla文件夹复制到/usr/lib目录下。只是这样做还不行。。。。这样就能用命令调用最新版的mozilla了。不过要用鼠标点击启动多个mozilla还是有点难度。
所以还要把[K菜单]上的mozilla拖到桌面上来,会出现一个对话框[移动][复制][链接]三项,那就要选[链接]。
这样就能点鼠标启动mozilla了。而且能启动N个。

在做了上面步聚的前提下,在启动时如果还出现那个对话框,就把[DEFAULT]删除。就OK了。。

++++++++++++++++++++++++++++++++++
注:这种只是一种方法。。。在桌面上建应用程序链接不能启动多个,只能从K菜单拖出来的才有效。。哈。。。。如果哪个弟兄能有更好的方法,就帖出来,咱们这个帖子就完美了,这个问题就能完美解决了。。。毕竟是《打开多个mozilla初步解决方案》

我是在Mandrake8.2下测试通过的,请弟兄们多多测试,
发表于 2002-8-4 23:04:30 | 显示全部楼层
测试通过..多谢北南兄..

另外.发现问题原因.
是mozilla的这个角本问题.

大家可以在/usr/lib下找到一个叫mozilla的角本文件.
如果用行的是它.那么可以运行多个mozilla.
如果是系统安装目录里的mozilla..(注.不管是那个目录,原来的也好.新的也好..)都不能运行 多个..
比较发现..
/usr/lib下的那个解本..有5K大小.而其它的只不过2.8K.

在桌面上的图标..可能默认是首先查找/usr/lib下的程序吧..
所以..可以运行多个...

这就是问题所在了.
另外..目录也没有必要改.
因为有很多程序会 调用mozilla的..
比如gnome下的那个浏览器..叫gle......什么什么..名字记不清了..
如果改原来的..那么其它依赖mozilla的程序会无法运行 ...

但是我们可以改那个角本文件中的路径...
(虽然那角本不一定会改.但路径相信大家都不是问题吧..)

结束..

多谢北南兄..

呵呵.这个问题虽然不大.但在心里郁闷了好久..现在舒服多了.

差掉忘记了..
补充一下..可在KDE的目录的时候..
只要给mozilla  的快捷方式加路径..指向这个角本.而不是简单的一个mozilla....
 楼主| 发表于 2002-10-2 10:43:29 | 显示全部楼层
把开多个mozilla,可用下面的方法,本方法由zhou3345兄弟提供。多谢zhou3345兄弟。哈。。这个方法是最简单的了。。。。

打开多个mozilla问题
用Ctrl+n组合.
发表于 2002-10-2 11:10:25 | 显示全部楼层

系统自带的mozilla角本可以打开多个。

如/usr/bin/mozilla就可以。用vi(或gedit)打开看一下就会发现秘密。关于目录什么的也可以在这个文件中修改。
发表于 2002-10-2 11:11:51 | 显示全部楼层
可以用ctrl-T开到新的标签,就不用开新的mozilla了,大家试试吧,很方便 的
发表于 2003-6-3 02:33:47 | 显示全部楼层

回复: 系统自带的mozilla角本可以打开多个。

最初由 wxz8 发表
如/usr/bin/mozilla就可以。用vi(或gedit)打开看一下就会发现秘密。关于目录什么的也可以在这个文件中修改。


谢谢提醒,我还是把脚本贴出来吧,方便那些没有脚本的兄弟。

#!/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.

VERSION=1.3.1

# Bug#122990
TERM=xterm
export TERM

cmdname=`basename $0`

## don't leave any core files around
ulimit -c 0

##
## Variables
##
MOZ_DIST_BIN="/usr/lib/mozilla"
MOZ_PROGRAM="/usr/lib/mozilla/mozilla-bin"
MOZ_CLIENT_PROGRAM="/usr/lib/mozilla/mozilla-xremote-client"

##
## find /dev/dsp handler
##
if [ -f $HOME/.mozillarc ]; then
    . $HOME/.mozillarc
elif [ -f /etc/mozilla/mozillarc ]; then
    . /etc/mozilla/mozillarc
fi

if [ -z  $MOZILLA_DSP ]; then
    MOZILLA_DSP="auto"
fi

if [ "$MOZILLA_DSP" = "auto" ]; then
        MOZILLA_DSP=""
        P=`fuser /dev/dsp  | sed -e 's#^/dev/dsp:##' `
        if [ -n "$P" ]; then
                if echo $P | xargs ps -p | grep esd >/dev/null 2>&1; then MOZILLA_DSP=esddsp;
                elif echo $P | xargs ps -p | grep arts >/dev/null 2>&1; then MOZILLA_DSP=artsdsp; fi
        fi
elif [ "$MOZILLA_DSP" = "none" ];then
        MOZILLA_DSP=""
fi

if type $MOZILLA_DSP > /dev/null 2>&1; then
        # echo "Using $MOZILLA_DSP."
        MOZ_PROGRAM="$MOZILLA_DSP $MOZ_PROGRAM"
fi

##
## Set MOZILLA_FIVE_HOME
##
MOZILLA_FIVE_HOME="/usr/lib/mozilla"

export MOZILLA_FIVE_HOME

##
## Set LD_LIBRARY_PATH
##
if [ "$LD_LIBRARY_PATH" ]
then
  LD_LIBRARY_PATH=/usr/lib/mozilla:/usr/lib/mozilla/plugins:/usr/libLD_LIBRARY_PATH
else
  LD_LIBRARY_PATH=/usr/lib/mozilla:/usr/lib/mozilla/plugins:/usr/lib
fi

export LD_LIBRARY_PATH

##
## Set FONTCONFIG_PATH for Xft/fontconfig
##
# disabled on debian
#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.

set_jvm_vars () {

    if [ ! -L /usr/lib/mozilla/plugins/libjavaplugin_oji.so ]; then
        return;
    fi

    JVM_LINK=`perl -e 'print readlink("/usr/lib/mozilla/plugins/libjavaplugin_oji.so")'`

    # is it relative?  if so append the full path

    echo "${JVM_LINK}" | grep -e "^/" 2>&1 > /dev/null

    if [ "$?" -ne "0" ]; then
        JVM_LINK=/usr/lib/mozilla/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
}

check_running () {
    $MOZ_CLIENT_PROGRAM 'ping()' 2>/dev/null >/dev/null
    RETURN_VAL=$?
    if [ "$RETURN_VAL" -eq "2" ]; then
      echo 0
      return 0
    else
      echo 1
      return 1
    fi
}

open_mail () {
    if [ "${ALREADY_RUNNING}" -eq "1" ]; then
      exec $MOZ_CLIENT_PROGRAM 'xfeDoCommand(openInbox)' \
        2>/dev/null >/dev/null
    else
      exec $MOZ_PROGRAM $*
    fi
}

open_compose () {
    if [ "${ALREADY_RUNNING}" -eq "1" ]; then
      exec $MOZ_CLIENT_PROGRAM '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 "xfeDoCommand(openBrowser)" 2>/dev/null >/dev/null
fi

# 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 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
    RETURN_VAL=$?
    if [ "${RETURN_VAL}" -ne "0" ] && [ -e `pwd`/$opt ]; then
      opt="`pwd`/$opt"
    fi
    exec $MOZ_CLIENT_PROGRAM "openurl($opt,new-window)" 2>/dev/null >/dev/null
  fi
  # just pass it off if it looks like a url
  exec $MOZ_CLIENT_PROGRAM "openurl($opt,new-window)" 2>/dev/null >/dev/null
fi

exec $MOZ_PROGRAM ${1+"$@"}
发表于 2003-6-3 02:53:33 | 显示全部楼层
发表于 2003-6-3 09:19:58 | 显示全部楼层
God,前两天我还在找这个脚本呢。3ks!
发表于 2003-6-3 11:45:14 | 显示全部楼层
不用MOZILLA,再说,你打开那么多的窗口好难看的不是?所以我只用OPERA ,一个窗口搞定!可以用功能键切换不同的窗口,不知道的还以为我只看一个窗口呢!!!!!!!:p :p :p :p :p :p :p :p :p :p :p
发表于 2003-6-3 15:11:57 | 显示全部楼层
我的mozilla好像一直能打开很多个窗口....我就试过打开过1x多个..都没问题.(不过内存要够大)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表