在 Ubuntu 13.10 下的 64 位架构上运行 32 位软件

在 Ubuntu 13.10 下的 64 位架构上运行 32 位软件

我需要使用一个在 32 位 Ubuntu 10.10 虚拟机中已经运行良好的软件,以及我的 64 位 Ubuntu 13.10。我找到了所有可执行文件并将它们复制/粘贴到同一个目录 (/usr/local//),我使用命令chmod使它们可执行,当我将 Ubuntu 从 13.04 升级到 13.10 时,我能够安装 ia32:libs 包,并在 synaptic 中添加 raring 存储库。

某些功能(某些可执行文件)可以工作,但使用 Java 运行的主图形界面却不行。在终端中,运行命令时我收到以下消息,没有发生任何其他事情,而图形窗口应该像在虚拟机中一样出现。

Exception in thread "main" java.awt.HeadlessException
    at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:207)
    at java.awt.Window.<init>(Window.java:535)
    at java.awt.Frame.<init>(Frame.java:420)
    at java.awt.Frame.<init>(Frame.java:385)
    at javax.swing.JFrame.<init>(JFrame.java:174)
    at xedge.ui.Xedge.<init>(Xedge.java:332)
    at xedge.ui.Xedge.main(Xedge.java:7785)

我应该怎么做才能使图形窗口和软件正常工作?看来我需要另一个版本的 Java,但我该如何正确安装它?

答案1

我找到了一种迄今为止似乎有效的方法。

我有这个版本的Java:

ludovic@ludovic-N61Jq:~$ java -version
java version "1.7.0_25"
OpenJDK Runtime Environment (IcedTea 2.3.12) (7u25-2.3.12-4ubuntu3)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)

并发现在它工作的虚拟机上它是 1.6.xxx 版本,所以我用这个安装了这个版本的 Java网页

这个过程相当简单:
1)添加 ppa
2)更新
3)安装你想要的 java 版本

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java6-installer

之后我检查了当前使用的 Java 版本

ludovic@ludovic-N61Jq:~$ java -version
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)

并运行我的程序,结果成功了。结论是,这显然不是 32 位/64 位问题,而是 Java 版本问题。

相关内容