在 64 位 Ubuntu 中运行带有 sun-jre 的 32 位 Firefox

在 64 位 Ubuntu 中运行带有 sun-jre 的 32 位 Firefox

我正在尝试运行 Juniper Networks Connect 程序来连接 VPN,但它只适用于 32 位 Sun JRE。到目前为止,我用 Google 找到的所有方法都失败了。我无法使用任何脚本,例如疯狂科学家作为身份验证的一部分,我需要从网格中提供一些随机字符。

因此,为了将这个 32 位应用程序安装隔离到一个角落,我下载了 Firefox 和 jre 并将它们解压到 /opt。我使用 sudo 运行 Firefox,因为 Juniper 要求输入 root 密码。

这是 Firefox 插件文件夹

/ot/firefox32/plugins# ls -la
total 8
drwxr-xr-x  2 root root 4096 Mar 11 00:57 .
drwxr-xr-x 11 root root 4096 Mar 10 23:48 ..
lrwxrwxrwx  1 root root   49 Mar 11 00:57 libnpjp2.so -> /opt/java/32/jdk1.6.0_31/jre/lib/i386/libnpjp2.so

Firefox 列出了 sun jre,但是当使用“http://java.com/en/download/installed.jsp”检查时,它无法检测到 java 或 Firefox 冻结

有任何想法吗?

谢谢

答案1

笔记:如果您遇到 Juniper <7.3 VPN 登录,则以下描述有效。Juniper/Junos 7.3 及更高版本应在安装最新的 Ubuntu 后立即可用。

我正在运行 Ubuntu 12.04/64 位,也遇到了这个问题。要通过客户站点的 Web 界面登录 Juniper VPN,我必须提供用户名/密码/短信代码。所以疯狂科学家脚本对我来说也不起作用。

我为运行 32 位浏览器 + 32 位 Java 制定了一个与 psypher246 所写略有不同的解决方案。除了包管理安装的主要 64 位版本外,我还安装了第二个 Firefox 浏览器,32 位版本。其他解决方案描述了完全删除 64 位浏览器并将其替换为 32 位浏览器,但我不想这样做。花费太多时间让该浏览器达到我想要的效果。

这就是我所做的。

  1. 从 Oracle 下载最新的 java-32 位 tarball,并将其解压到您想要的位置(/opt/java/usr/lib/jvm其他位置)。您不需要执行任何update-alternatives操作。只需 JRE 就足够了。
  2. 下载最新的预编译的 32 位 Firefox 版本。将 tarball 解压到您想要的位置。(我的解压位置在我的主文件夹中)。
  3. 在生成的firefox文件夹中,有一个文件夹。在其中browser创建一个文件夹,并在文件夹中创建一个链接。(如)pluginslibnpjp2.sopluginsln -s <your-32bit-jre>/lib/i386/libnpjp2.so <your-firefox32bit-location>/firefox/browser/plugins/
  4. 现在从 shell 启动 32 位 Firefox 版本,使用 -p 强制选择配置文件。(cd <your-firefox32bit-location>/firefox./firefox -p)。创建一个新的配置文件以用于此 32 位 Firefox。确保 Firefox 每次启动时都会要求使用该配置文件。
  5. 现在,about:plugins在 Firefox 地址栏中,您应该只会看到 32 位 java 插件。使用此浏览器实例,转到 Juniper 登录页面,您应该能够启动 VPN 会话。
  6. 您仍然可以启动 64 位版本的 Firefox,然后选择原始(默认)配置文件,并且带有 64 位插件的完整会话仍然存在,并且可以与 32 位 Firefox 一起使用。

这样做的缺点是您每次启动 Firefox 时都必须选择正确的配置文件,但这可以通过在命令行上设置默认参数来解决。

答案2

优点:所有内容均来自存储库,并通过常规更新保持最新:

最新的 OpenJDK 7 与 Juniper VPN 配合良好。不再需要 Sun-jre。

在 12.04 上,可以在运行 apt-get 时在软件包名称后附加“:i386”来在 amd64 上安装 i386 软件包。例如,在运行 amd64 Ubuntu 12.04 Live CD 时,我运行了:

sudo apt-get remove firefox openjdk-6-jdk icedtea-6-plugin
sudo apt-get install firefox:i386 openjdk-7-jdk:i386 icedtea-7-plugin:i386

然后就可以成功登录Juniper VPN。

缺点是,Java 无法在其他 64 位软件(如 Chrome)上运行。


更新:64 位 Ubuntu 中不需要 32 位 Firefox

从 7.3 开始,Juniper SA 设备支持 64 位 Ubuntu Network Connect。

第一的,安装 64 位 jre/jdk 和 icedtea

sudo apt-get install openjdk-7-jre icedtea-7-plugin

第二,安装 32 位 jre

sudo apt-get install openjdk-7-jre:i386

注意,不要安装 32 位的 icedtea。确保 64 位是默认的 java。只要 32 位 jre 存在,Juniper 就会找到所需的文件并运行。

在 Ubuntu 13.04 64 位上测试。

有关详细信息,请参阅瞻博网络知识库

另请参阅Juniper 在 12.04 上的设置

答案3

此问题会影响使用 Juniper Network Connect 的用户,因为用户需要用户名、密码和安全令牌。疯狂科学家的脚本并不支持该令牌,尽管他们声称支持。

我最近使用 Swiftfox 32 位版本修复了这个问题。

在尝试 Swiftfox 之前,请先尝试:“sudo apt-get install ia32-libs”。这可能是您缺少的软件包。

如果没有,请从以下网址下载 Swiftfoxhttp://getswiftfox.com/download.htm。单击 deb 文件并下载 intel prescott 文件。使用以下命令安装它:“sudo dpkg -i swiftfox_3.6.13-1_prescott.deb”。我创建了一个新的 java 文件夹来放置 32 位 java:“sudo mkdir /usr/java”,并将最新的 Java 7 32 位文件解压到那里:“sudo tar -zxvf jre-7u3-linux-i586.tar.gz -C /usr/java”。

现在将插件链接到 Swiftfox:“sudo ln -s /usr/java/jre1.7.0_03/lib/i386/libnpjp2.so /usr/lib/swiftfox/plugins/libnpjp2.so”

毕竟,尽管我无法同时运行 Swiftfox 32 位和 Firefox 64 位,但 Juniper Network Connect 运行完美。

更新:另请查看这个答案:130473

非常简单的方法一起使用 32 位 Firefox 和 Java,无需进行太多其他自定义配置

答案4

使用此处的说明:http://www.rz.uni-karlsruhe.de/~iwr91/juniper/ 我在 Ubuntu 12.04 64 位上运行了 Juniper VPN,除了以下 3 个库之外没有安装任何 32 位软件:

sudo apt-get install libc6-i386 lib32z1 lib32nss-mdns

我使用 --nox 选项(无 gui)启动 jnc perl 脚本并且效果很好,我每天都使用它。

我最初使用 Firefox 64 位下载了证书文件:工具>页面信息>安全>查看证书>详细信息>导出

后来我发现这个脚本有同样的功能: https://github.com/udomsak/juniper-ncui/blob/master/getx509certificate.sh

我的特定配置文件需要主机、用户、领域和证书文件。您的配置文件可能有所不同。

certfile 位置配置需要完整路径名,~ 未扩展为 /home/username

相关内容