Как вручную задать файл конфигурации для команды top?

Вопрос или проблема

Я знаю, что поведение команды top можно изменять интерактивно, и оно может быть сохранено в виде конфигурационного файла toprc, который будет использоваться автоматически. Есть ли способ написать и передать файл конфигурации (сохраняемый в другом месте) команде top в виде командной строки или каким-либо другим способом.

В моем случае я должен использовать файл конфигурации, сохраненный в директориях моего проекта, и он не должен влиять на нормальное поведение команды top.

Как я упоминал в моем другом ответе на ваш вопрос, это невозможно с текущей версией top.

После изучения исходного кода top я не нашел таких конфигураций или параметров. Но был найден обходной способ. Вы можете установить XDG_CONFIG_HOME на директорию вашего проекта, и XDG_CONFIG_HOME должен начинаться с “/”, т.е. это должен быть абсолютный путь.

Файл toprc будет прочитан или сохранен в $XDG_CONFIG_HOME/procps. Например, вы можете установить XDG_CONFIG_HOME на PWD

env XDG_CONFIG_HOME="$PWD" top

После некоторых изменений вы можете сохранить с помощью W, команда top выдаст вам:

 Сохранена конфигурация в '/tmp/blah_test/tmp.1729493680_qkB/procps/toprc'

Выйдите и перезапустите с той же командой, и вы увидите, что конфигурация вступает в силу.

Исходный код: procps-ng/procps@gitlab

Ответ или решение

Чтобы вручную задать файл конфигурации для команды top, важно понимать, что стандартный способ использования этой команды предполагает применение глобального файла конфигурации, называемого toprc. Однако в вашей ситуации, когда вы хотите использовать конфигурационный файл, находящийся в вашей проектной директории, без изменения стандартного поведения top, существует обходное решение.

Решение через переменную окружения

Команда top считывает настройки из файла toprc, который может находиться в определенной директории. Для изменения пути к этому файлу можно воспользоваться переменной окружения XDG_CONFIG_HOME. Вот пошаговая инструкция:

  1. Создайте свою конфигурацию: Создайте файл с любым названием, содержащим ваши настройки для top. Например, мы можем назвать его my_toprc.

  2. Настройте рабочую директорию: Убедитесь, что у вас есть проектная директория, в которой хранится созданный файл.

  3. Запустите top с новой конфигурацией:
    Используйте следующую команду для запуска top с заданной конфигурацией:

    env XDG_CONFIG_HOME="$PWD" top

    Здесь $PWD – это переменная, указывающая на текущую рабочую директорию, где вы находитесь.

  4. Сохраните изменения: В процессе работы с интерактивным интерфейсом top вы можете настроить отображение по своему усмотрению. После внесения всех изменений нажмите W для сохранения текущих настроек:

    Wrote configuration to '/tmp/blah_test/tmp.1729493680_qkB/procps/toprc'
  5. Перезапуск top: Закройте top и заново запустите команду с помощью той же команды, чтобы увидеть изменения в конфигурации.

Таким образом, top теперь будет читать файл toprc, расположенный в $XDG_CONFIG_HOME/procps, который соответствует вашему проектному каталогу. Это решение позволяет изолировать конфигурации только для проекта, не влияя на другие экземпляры команды top в системе.

Итог

Используя описанный метод с XDG_CONFIG_HOME, вы можете легко управлять параметрами отображения top для различных проектов или задач, не затрагивая глобальные настройки. Это дает возможность гибко настраивать ваши рабочие среды в зависимости от потребностей конкретного проекта.

Это решение поможет вам достичь желаемого результата и эффективно использовать команду top под свои нужды.

Оцените материал
Добавить комментарий

Капча загружается...