You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Nemo和Nautilus的文件分类规则,使PHP、JS文件独立归类

嘿,这个问题我碰到过好多次了!Nemo和Nautilus把JS、PHP文件标成“Program”,要么是文件权限带了可执行标记,要么是MIME类型的关联出了问题。下面分两种情况来解决:

第一步:先排查最常见的原因——文件可执行权限

如果你的JS/PHP文件被设置了可执行权限(比如用chmod +x改过),文件管理器会默认把它识别为可执行程序,而不是脚本文件。解决起来很简单:

  • 单个文件:运行 chmod -x your-file.js 或者 chmod -x your-file.php
  • 批量处理当前目录下的所有JS/PHP:chmod -x *.js *.php

改完之后,刷新一下文件管理器(按F5),看看类型是不是变过来了。如果还没好,再往下看MIME类型的配置调整。

第二步:自定义MIME类型关联(用户级,不影响系统全局)

Nemo和Nautilus都遵循freedesktop的MIME标准,我们可以在用户目录下创建自定义配置来覆盖默认规则:

  1. 创建MIME定义文件
    打开终端,用文本编辑器创建一个自定义MIME配置文件:
nano ~/.local/share/mime/packages/custom-mime-types.xml

把下面的内容粘贴进去(里面已经包含了JS和PHP的正确MIME定义):

<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
  <!-- 配置JavaScript文件的MIME类型 -->
  <mime-type type="application/javascript">
    <comment>JavaScript file</comment>
    <glob pattern="*.js"/>
    <glob pattern="*.mjs"/>
  </mime-type>

  <!-- 配置PHP文件的MIME类型 -->
  <mime-type type="text/x-php">
    <comment>PHP script</comment>
    <glob pattern="*.php"/>
    <glob pattern="*.php3"/>
    <glob pattern="*.php4"/>
    <glob pattern="*.php5"/>
    <glob pattern="*.phtml"/>
  </mime-type>
</mime-info>

按Ctrl+O保存,Ctrl+X退出编辑器。

  1. 更新MIME数据库
    运行下面的命令让系统加载我们的自定义配置:
update-mime-database ~/.local/share/mime
  1. 重启文件管理器
    为了让更改生效,需要重启Nemo或Nautilus:
  • 对于Nautilus:nautilus -q,然后重新打开文件管理器
  • 对于Nemo:nemo -q,再重新打开

做完这些,你的JS文件应该会显示为“JavaScript file”,PHP文件显示为“PHP script”了。

额外提示:验证MIME类型

如果想确认文件的MIME类型是否正确识别,可以用file命令:

file --mime-type your-file.js
# 正确输出应该是:your-file.js: application/javascript

file --mime-type your-file.php
# 正确输出应该是:your-file.php: text/x-php

内容的提问来源于stack exchange,提问作者Fernando Escalante Gon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:03:04