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

如何通过Ansible生成Midnight Commander(MC)配置文件

Ansible场景下MC默认配置自动生成方案

核心逻辑

直接触发MC原生初始化逻辑生成配置,无需提前准备跨发行版兼容的预置配置文件,也不需要手动启动交互界面。

具体实现步骤

  • 首先调用MC命令触发初始化,执行完成后会自动生成对应发行版、对应版本的原生默认配置,可选的可执行命令有两个,可根据实际发行版适配选择:
    1. 优先级最高的方案:mc --nosubshell -c "exit",该命令会加载MC初始化逻辑生成配置后直接退出,不会进入交互界面,兼容性覆盖绝大多数MC 4.8+版本
    2. 兼容老版本的备选方案:timeout 0.5s mc,给MC进程设置极短的超时时间,初始化逻辑执行完成后进程直接被终止,同样可以生成配置
  • 配置生成的目标路径和运行用户绑定,默认路径为~/.config/mc/ini,部分老版本MC路径为~/.mc/ini,可以直接通过目标路径是否存在做幂等判断,避免重复执行

完整Ansible任务示例

# 定义变量:需要生成MC配置的目标用户
vars:
  target_user: "your_user"

tasks:
  - name: 安装Midnight Commander
    package:
      name: mc
      state: present

  - name: 触发MC生成原生默认配置
    command: mc --nosubshell -c "exit"
    become: true
    become_user: "{{ target_user }}"
    args:
      # 配置文件已存在则跳过执行,保证任务幂等
      creates: "~{{ target_user }}/.config/mc/ini"
    register: mc_init_result
    changed_when: mc_init_result.rc == 0

  - name: 按需修改MC配置项示例(可选)
    ini_file:
      path: "~{{ target_user }}/.config/mc/ini"
      section: "Midnight-Commander"
      option: "skin"
      value: "gotar"
      owner: "{{ target_user }}"
      group: "{{ target_user }}"
      mode: '0644'

注意事项

如果使用的是老版本MC,只需要调整creates参数的路径为~{{ target_user }}/.mc/ini即可,其余逻辑无需变动。

内容的提问来源于stack exchange,提问作者Mystic

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 12:18:04