Ubuntu 一直尝试在共享 NTFS 驱动器中执行文本文件,忘记了默认应用程序

Ubuntu 一直尝试在共享 NTFS 驱动器中执行文本文件,忘记了默认应用程序

直到最近,我还在使用 Ubuntu Mate 14.04。上周,我全新安装了 Mate 20.04。我使用 Windows 双启动,并在两个操作系统之间使用共享分区。共享分区是 NTFS。我遇到了几个愚蠢但极其烦人的问题,而使用 14 时没有遇到过这些问题。

  1. 每当我尝试从共享驱动器打开 txt 文件时,我都会收到提示,询问我是否要执行它,因为它被识别为可执行文件。从网上看,这似乎与它是 NTFS 有关。显然,如果您可以在没有执行权限的情况下挂载它,这种情况就不会发生。但是,我能找到的唯一解决方案是在启动期间挂载它并使用 fstab 设置权限。我不希望默认挂载分区。但是,如果不是因为……,这个问题是可以容忍的。

  2. 文件管理器总是忘记我想用 Pluma 打开 txt 文件。我反复尝试使用“使用其他应用程序打开”并选中“记住此应用程序以打开纯文本文档文件”。它不起作用。它在我的 Ubuntu 文件系统的任何地方都能完美运行,但在我的共享驱动器中却不行。我需要帮助,因为我经常使用 txt 文件。我的首要任务是能够在必要时右键单击后打开文本文件,而不必浏览整个程序列表。如果有必要,我很乐意这样做并忽略可执行提示。

我相信 14.04 中没有“使用其他应用程序打开”按钮,而是有一个“打开方式”菜单,这样可以更快、更轻松地在那里找到 Pluma。如果我能找回它,那就足够了。

答案1

要修复“可执行文本文件”部分的问题,您可以按照以下答案进行操作这个问题。基本上,您可以设置掩码,以便每个文件都不会被安装为可执行文件。

答案2

因此,我设法一次性解决了这两个问题,但确实需要进行一些研究。我回答这个问题是为了防止其他新手(像我一样)对这种行为感兴趣。

Lacek 的回答并不完全正确,但它确实为我指明了正确的方向。我用本教程本文档

我在 /etc/fstab 中添加了以下几行:

# <Little comment to indicate that I added this line myself>
UUID=<the-uuid-of-your-shared-partition> /media/<username>/<partition-label>               ntfs    user,noexec,noauto 0       2

根据链接的文档,我从 获得了 UUID sudo blkid。如果您跳过 sudo,您将找不到它。/media 目录只是分区通常挂载的目录。

这样,noexec 就保证驱动器中的任何文件都不可执行(这对于 NTFS 驱动器来说是理想的,尤其是 Linux 和 Windows 之间的共享驱动器)。我已经知道这部分了,但我错过了禁止自动,这确保它不会在启动期间被安装。

由于某种原因,使用此配置,上下文菜单中的第一个选项现在是 Pluma,我不需要检查其他任何内容。

我建议遇到这些问题的任何人都将 fstab 的副本保存在 /home 的某个位置,这样您就可以在重新安装、升级等之后轻松恢复它。我可能早在 2014 年就已经这样做了,但因为没有备份而完全忘记了它。

相关内容