系统不区分文本和 Arduino 文件

系统不区分文本和 Arduino 文件

我在 wayland 上使用 ubuntu 22.04 LTS 和 Gnome 42.5。我安装了最新版本的 Arduino IDE(一个 .AppImage 文件)。我的问题是,当我必须从文件管理器(我使用 Gnome Files)打开草图时,它要么将 .ino 文件识别为纯文本文件,要么将其识别为 C 源文件。如果我将 Arduino IDE 设置为默认打开 .ino 文件,那么我总是用 Arduino 打开所有文本文件。我如何将纯文本文件与 Arduino 文件(.ino 扩展名)“分开”?

先谢谢您的帮助

2023 年 4 月 29 日更新:

我不明白的是,为什么有些草图被识别为纯文本文件(图 1),而另一些被识别为 C 源文件(图 2),即使它们都具有 .ino 扩展名。有没有办法为 .ino 文件创建新的 mime 类型类别?我希望我能更好地解释自己。

图片 1:.ino 文件被识别为纯文本文件

图片 2:.ino 文件被识别为 C 源文件

2023 年 8 月 30 日更新:

我知道 .ino 文件实际上是纯文本文件,但我希望能够为 .ino 文件创建一个新的 mime 类型类别(我知道在 Linix 上文件是这样“识别”的)。我在网上找到了一些指南,但一直没用。实际上,我也需要这个来处理其他程序。我想做的是一个类似 Windows 的解决方案,其中文件是通过扩展名“识别”的。

谢谢

模拟动态链接库

答案1

如果您尝试识别.ino文件的 MIME 类型,它可能会text/plain像这样打印:

$ xdg-mime query filetype file.ino 
text/plain

... 该 MIME 类型的默认应用程序可能是这样的文本编辑器:

$ xdg-mime query default text/plain
org.gnome.TextEditor.desktop

...所以,它在做它应该做的事,这并不奇怪。

你可能真正需要的是将该文件扩展名准备.ino为新的MIME 类型下列的本教程并使用xdg-mime工具......所以,你想要的应该是这样的:

第一次运行:

cat <<'EOF' > /tmp/mime-ino.xml
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
  <mime-type type="application/extension-ino">
         <comment xml:lang="en">.ino file</comment>
         <glob pattern="*.ino"/>
  </mime-type>
</mime-info>
EOF

创建它...然后运行:

xdg-mime install /tmp/mime-ino.xml

安装它...然后终止所有正在运行的文件管理器进程,如下所示:

killall nautilus

现在,带有扩展名的文件.ino应该与文本文件不同,如下所示:

$ xdg-mime query filetype file.ino 
application/extension-ino

...但没有默认应用程序:

$ xdg-mime query default application/extension-ino
$

...您需要做的就是单击该文件并选择默认应用程序从现在开始打开它...或者您可以使用以下语法从命令行执行此操作:

xdg-mime default application mimetype

答案2

使用gksudo gedit /usr/share/applications/defaults.list打开默认配置。从那里,您应该能够转到“搜索”>“替换”>“全部替换”,并根据需要更改每个格式的应用程序。本指南由 libre-software.net 提供更深入地探讨这个话题。

相关内容