sim*_*dll 5 files file-format mime-type arduino 22.04
我在 Wayland 上使用 ubuntu 22.04 LTS 和 Gnome 42.5。我已经安装了最新版本的 Arduino IDE(.AppImage 文件)。我的问题是,当我必须从文件管理器(我使用 Gnome 文件)打开草图时,它要么将 .ino 文件识别为纯文本文件,要么识别为 C 源文件。如果我将 Arduino IDE 设置为默认打开文件 .ino,那么我总是使用 Arduino 打开所有文本文件。如何将纯文本文件与 Arduino 文件(.ino 扩展名)“分离”?
先谢谢您的帮助
我不明白的是为什么有些草图被识别为纯文本文件(图 1)而其他草图被识别为 C 源文件(图 2),即使它们都有 .ino 扩展名。没有办法为 .ino 文件创建新的 mime 类型类别吗?我希望我能更好地解释自己。
图 1:.ino 文件被识别为纯文本文件
我知道 .ino 文件实际上是纯文本文件,但我希望能够为 .ino 文件创建一个新的 mime 类型类别(我知道在 Linix 上文件是这样“识别”的)。我在互联网上找到了一些指南,但从未奏效。实际上我也需要这个用于其他程序。我想做的是一个类似 Windows 的解决方案,其中文件通过扩展名“识别”。
谢谢
模拟文件
如果您尝试识别.ino文件 MIME 类型,它可能会text/plain像这样打印:
$ xdg-mime query filetype file.ino
text/plain
Run Code Online (Sandbox Code Playgroud)
...该 MIME 类型的默认应用程序可能是一些文本编辑器,如下所示:
$ xdg-mime query default text/plain
org.gnome.TextEditor.desktop
Run Code Online (Sandbox Code Playgroud)
...所以,它正在做它应该做的事情,这也就不足为奇了。
您实际上可能需要的是按照本教程.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
Run Code Online (Sandbox Code Playgroud)
创建它...然后运行:
xdg-mime install /tmp/mime-ino.xml
Run Code Online (Sandbox Code Playgroud)
安装它...然后杀死所有正在运行的文件管理器进程,如下所示:
killall nautilus
Run Code Online (Sandbox Code Playgroud)
现在,带有扩展名的文件.ino应该与文本文件不同,如下所示:
$ xdg-mime query filetype file.ino
application/extension-ino
Run Code Online (Sandbox Code Playgroud)
...但没有默认应用程序:
$ xdg-mime query default application/extension-ino
$
Run Code Online (Sandbox Code Playgroud)
...您需要做的就是单击该文件并选择默认应用程序从现在开始打开它...或者您可以使用以下语法从命令行执行此操作:
xdg-mime default application mimetype
Run Code Online (Sandbox Code Playgroud)