我最近购买了 Minecraft 并将其安装在 Ubuntu 上(我曾在 Windows 上玩过,没有任何问题)。我有 JDK Java 6 运行时。当我尝试使用 Java 打开 Minecraft 时,它显示一条错误消息,提示它未标记为可执行文件。它是.jar
。我需要将其转换为吗.exe
?如果需要,怎么做?我对 Ubuntu 比较陌生,希望得到任何帮助!
答案1
为了使用终端将文件标记为可执行文件,您可以使用以下命令
sudo chown -X path/to/minecraft.jar
答案2
解决方案很简单。在 Nautilus(文件管理器)中导航到 .jar 文件并右键单击它。转到“权限”选项卡并选中标有以下内容的框:
允许作为程序执行文件
这将设置 JDK 所抱怨的可执行位。
但是为什么会这样?这个“可执行位”又是什么呢?
在 Linux 中,文件扩展名在确定如何处理文件方面的作用较小。相反,Linux 使用魔法数字,它们基本上是标头。如果您熟悉 Linux 脚本,shebang(#!
开头的 The)也是一个人类可读的标头。可执行文件有一个标头,可能包含ELF
或ELF64
表明它们是 Linux Elfs(程序文件和库)。然而,这不是唯一的检查。
Linux 还保留文件权限。它存储每个文件和目录的用户和组 ID,以及所有者、组和每个人可以执行的操作。其中包括可执行位。如果您执行chmod a+x
文件或按照我上面给出的图形说明操作,则设置此位会告诉 Linux 和 Java 和 Wine 等程序应该允许它们运行该文件。如果通过取消选中复选框或取消设置此位chmod a-x file
,则未设置的位会告诉 Linux 和想要执行它的软件不这样做为了安全。但是,这并不适用于源代码。
答案3
当我使用“用 java 打开”时,我遇到了同样的问题,但您不必更改权限即可播放。通过从命令行使用 java -jar minecraft.jar 启动它(假设您在正确的文件夹中),它无论如何都会打开。