Як змінити стандартний редактор crontab

Бажаєте самостійно обирати текстовий редактор для роботи з crontab, а не погоджуватися на нав’язаний? Цей посібник розповість, як це зробити. Інструкції підходять для Linux, macOS та інших UNIX-подібних операційних систем.

Текстові редактори: вічна суперечка

Текстовий редактор – інструмент для доволі простої задачі. Однак, прихильність користувачів до певних редакторів породила гарячі дискусії, що тривають з 1985 року. Ми не прагнемо підлити масла у вогонь і не будемо відстоювати перевагу одного редактора над іншим. Ми просто покажемо, як змінити редактор, який використовується за замовчуванням для crontab, якщо ви цього забажаєте.

Команда crontab -e відкриває текстовий редактор для редагування вашої таблиці cron. У цій таблиці зберігається список запланованих задач, які мають виконуватися у визначений час. В рамках цієї статті ми не будемо детально розглядати механізм роботи cron. Нас цікавить лише редактор, що асоційований з командою crontab -e.

Коли ви вперше вводите команду crontab -e в терміналі Bash, вам буде запропоновано обрати редактор, який ви хочете використовувати. Введіть crontab, пробіл, -e і натисніть Enter.

crontab -e

Обраний вами редактор буде використовуватись для відкриття таблиці cron. У цьому прикладі було обрано nano, натиснувши клавішу 1.

Редактор, який ви виберете з меню, буде запускатися щоразу, коли ви вводите команду crontab -e. Що робити, якщо ви пізніше захочете змінити свій вибір, але меню з’являється лише один раз? Це легко виправити за допомогою команди select-editor.

select-editor

Поки що все просто. Але як бути, якщо ви хочете використовувати редактор, якого немає в меню? Або якщо ви працюєте в операційній системі, що не має команди select-editor? Ми розглянемо і ці випадки.

Що робити, якщо немає команди select-editor?

Ми можемо встановити редактор за замовчуванням для crontab, додавши рядок до файлу .bash_profile. Скористайтесь цією командою:

gedit ~/.bash_profile

Коли редактор відкриється, додайте в файл наступний запис:

export VISUAL="gedit"

Звичайно, замість “gedit” ви можете вказати команду, що запускає потрібний вам редактор. Збережіть файл і закрийте редактор. Щоб зміни вступили в силу, потрібно вийти із системи і знову увійти, або виконати команду:

. ~/.bash_profile

Зверніть увагу, що рядок починається з крапки (.). Команда source є псевдонімом для крапки і виконує ту ж дію. Однак, не всі дистрибутиви надають команду source. Команда “крапка” завжди повинна бути присутньою. Зважаючи на це застереження, команда source є присутня в усіх дистрибутивах. Ця стаття була перевірена на Ubuntu, Debian, Manjaro, Arch, Fedora, CentOS та OpenIndiana.

Незалежно від того, чи введете ви крапку, чи слово source, команда зчитує налаштування з вашого .bash_profile та застосовує їх до поточної сесії. Тепер, якщо ви введете:

crontab -e

Редактор, який ви вказали, буде використовуватись для відкриття таблиці cron.

Файл .bash_profile може бути не порожнім

Ваш файл .bash_profile може вже містити певні записи. Просто прокрутіть його до кінця і додайте рядок export VISUAL="gedit" в кінець файлу. Нижче показано стандартний .bash_profile в Manjaro Linux з доданим новим рядком:

Спеціально для OpenIndiana

В OpenIndiana вам потрібно додати рядок export VISUAL="gedit" у файл .bashrc, а не в .bash_profile. Команда для цього:

pluma ~/.bashrc

Додайте рядок, збережіть файл, закрийте і знову відкрийте вікно терміналу.

Виконайте команду crontab -e, щоб переконатися, що зміни спрацювали:

crontab -e

Тепер ваша таблиця cron відкривається в nano.

Отже, ви можете вказати потрібний вам редактор на багатьох дистрибутивах Linux, незалежно від того, чи походять вони від Debian, RedHat, Arch, або наближені до ванільного Unix.