Как сменить редактор для crontab на Linux
Crontab на Linux и Unix-подобных системах позволяет запускать задания по расписанию в фоновом режиме. При первом запуске crontab вам предложат выбрать редактор по умолчанию для редактирования файлов crontab. Если позже вы захотите изменить редактор, есть несколько безопасных и простых вариантов.
Почему система предлагает nano
Большинство дистрибутивов Linux рекомендуют nano как редактор по умолчанию: он прост в использовании и понятен новичкам. Это рекомендация, а не требование. Выберите тот редактор, с которым вы увереннее работаете — vim, emacs, micro, gedit, code и т.д.
Важно: выбор редактора влияет только на то, чем будет открыт файл crontab при запуске crontab -e. Сами задания это не меняет.
1. Использование команды select-editor
Команда select-editor показывает список доступных текстовых редакторов и позволяет выбрать предпочитаемый. Это удобный интерактивный способ смены редактора.
Просто выполните:
select-editorВ интерактивном меню введите номер редактора и нажмите Enter. После этого следующая команда:
crontab -eоткроет crontab в выбранном редакторе.
Когда это удобно: если у вас установлен набор стандартных редакторов и вы хотите быстро сменить предпочтение без редактирования конфигурационных файлов.
2. Использование переменных окружения
Если select-editor отсутствует, используйте переменные окружения EDITOR и VISUAL. Переменная EDITOR указывает путь к редактору, который система должна вызвать.
Пример временной установки в текущей сессии:
export EDITOR=/usr/bin/nanoИсходные примеры из руководства:
export EDITOR=/path/to/editorи конкретно для nano:
export EDITOR=/usr/bin/nanoЧтобы сделать изменение постоянным, добавьте строку в файл конфигурации вашей оболочки, например ~/.bashrc или ~/.zshrc:
export EDITOR=/usr/bin/nanoПримените изменения без выхода из сессии:
source ~/.bashrcПосле этого crontab -e будет использовать указанный редактор.
Совет: в некоторых системах рекомендуется установить и VISUAL, особенно если редактор является визуальным (например, code или gedit):
export VISUAL=/usr/bin/code
export EDITOR=/usr/bin/codeПримеры путей для популярных редакторов
- /usr/bin/nano
- /usr/bin/vim
- /usr/bin/emacs
- /usr/bin/micro
- /usr/bin/code (Visual Studio Code в CLI)
Проверьте наличие файла команды через which или command -v:
which nano
command -v vimМини-методология: как безопасно сменить редактор для crontab
- Решите, хотите ли временно или постоянно менять редактор.
- Если временно — выполните export EDITOR=… в текущем терминале.
- Если постоянно — добавьте export в ~/.bashrc, ~/.zshrc или аналог.
- Если доступна — запустите select-editor для простого выбора.
- Откройте crontab -e и проверьте, что файл открылся в нужном редакторе.
- Убедитесь, что вы не изменили системные PATH или права доступа.
Чеклист для администратора
- Проверить установку нужного редактора (command -v).
- Решить scope изменения: только текущая сессия или глобально для пользователя.
- Обновить ~/.bashrc, ~/.zshrc, /etc/environment (если нужно для всех пользователей).
- Применить изменения (source).
- Открыть crontab -e и проверить.
Когда это может не сработать
- select-editor отсутствует в минимальных образах системы.
- У вас нет прав на изменение глобальных конфигураций, поэтому EDITOR в /etc/environment не меняется.
- Системные профили или менеджеры окружения переопределяют переменные на входе в систему.
В таких случаях используйте локальные файлы оболочки или обратитесь к администратору.
Альтернативные подходы
- Изменить редактор для одной команды:
EDITOR=/usr/bin/vim crontab -e- Редактировать временный файл, затем загружать его в crontab:
/usr/bin/vim /tmp/mycrontab
crontab /tmp/mycrontabЭто полезно, если вы предпочитаете не менять переменные окружения.
Безопасность и права
Важно: crontab редактируется от имени пользователя. Не давайте переменные EDITOR глобально для всех пользователей, если редактор может запускать нежелательные хуки. Убедитесь, что файлы crontab не содержат вредоносных команд.
Критерии приёмки
- crontab -e открывается в выбранном редакторе.
- Изменения в crontab сохраняются и cron применяет их без ошибок.
- Переменные применены в нужной области (текущая сессия или постоянная конфигурация).
Короткий глоссарий
- crontab — таблица заданий cron для пользователя.
- cron — демон планировщика заданий.
- EDITOR, VISUAL — переменные окружения, указывающие предпочитаемый текстовый редактор.
Шпаргалка: быстрые команды
- Временно задать редактор и открыть crontab:
EDITOR=/usr/bin/vim crontab -e- Постоянно задать редактор для bash:
echo 'export EDITOR=/usr/bin/nano' >> ~/.bashrc
source ~/.bashrc- Редактировать файл и поставить его как crontab:
crontab /path/to/fileВизуальное решение для выбора редактора
flowchart TD
A[Нужно сменить редактор?] --> B{select-editor установлен?}
B -- Да --> C[Запустить select-editor]
B -- Нет --> D{Изменение временное?}
D -- Да --> E[export EDITOR=/путь/к/редактору]
D -- Нет --> F[Добавить export в ~/.bashrc и source ~/.bashrc]
C --> G[Выбрать редактор в списке]
E --> G
F --> G
G --> H[Запустить crontab -e и проверить]Итог
Crontab удобен для автоматизации задач. Сменить редактор можно быстро через select-editor или через переменные окружения EDITOR/VISUAL. Для постоянных изменений обновите файл конфигурации вашей оболочки и примените его. Выберите способ в зависимости от уровня доступа и целей.
Похожие материалы
RDP: полный гид по настройке и безопасности
Android как клавиатура и трекпад для Windows
Советы и приёмы для работы с PDF
Calibration в Lightroom Classic: как и когда использовать
Отключить Siri Suggestions на iPhone