Зміна редактора Crontab за замовчуванням


139

Я намагаюся змінити редактор за замовчуванням з nanoна vim.

Я виконав такі команди:

sudo update-alternatives --config editor

і

update-alternatives --config editor

Зараз виходять обидва:

  Selection    Path                Priority   Status
------------------------------------------------------------
  0            /bin/nano            40        auto mode
  1            /bin/ed             -100       manual mode
  2            /bin/nano            40        manual mode
* 3            /usr/bin/vim.basic   30        manual mode
  4            /usr/bin/vim.tiny    10        manual mode

Я перезапустив сеанс ssh і перезапустив sshd, але crontab -e все ще відкривається в нано

Що ще мені потрібно зробити?


1
Я не думаю, що жодна з цих відповідей насправді стосується питання, чи не так?
геотеорія

Ось більш обширна відповідь: askubuntu.com/questions/977538/…
SDsolar

Відповіді:


121

Спробуйте сеанс ssh, за яким слід

export EDITOR=vim

чи, можливо,

export EDITOR=/usr/bin/vim.basic

Формат налаштування змінної EDITOR залежить від того, яку оболонку ви використовуєте.

В Ubuntu ви можете встановити змінну середовища EDITOR при вході, додавши вищевказане до ~/.profile

Ваш сеанс SSH прочитає подібний файл (якщо він існує) на віддаленому хості, який називається ~/.ssh/environment. Це має бути спеціально визначено конфігурацією демона ssh. Подивіться man sshd_configта шукайте PermitUserEnvironmentдокладнішу інформацію.


1
Це працює і в CentOS
машинний вирок

З якоїсь причини ви не хочете використовувати тут .bashrc? здається, працює на мене, чи краще .profile краще?
Нейт

3
Відповідь редактора вибору нижче - краща відповідь
mcarans

214

Просто запустіть select-editor, це дозволить вам вибрати будь-який редактор, який ви хочете.


9
Краще відповідь, я думаю, ніж те, що було вибрано. Не потрібно змінювати мій профіль bash, щоб встановити редактор. Підтверджено виходу та поверненням до системи.
Пол Карлтон

4
Повинна бути прийнята відповідь. Спасибі Мостафа!
DylanYoung

3
Однозначно повинна була бути прийнята відповідь! Це дуже допомогло! : D
Фаді

3
Це була єдина відповідь, яка працювала на мене
cjohansson

3
Найкраща відповідь. ...
Ми Борг

26

Мої особисті переваги ...

cd /bin
mv nano nano_must_die
ln -s /usr/bin/vim nano

Мені це подобається, я працював досить добре для мене після оновлення-альтернативи не працювали.
Коул Бусбі

5
Я б не знав, що не так з nano для адміністраторів, які не бачать значення в навчанні команд vi лише для налаштування деяких конфігураційних файлів.
Макс

1
Я здогадуюсь робити все, що завгодно, на своїй персональній машині. Але на машині, що ділиться з ким-небудь ще, ця пропозиція по суті вимикає нано для всіх користувачів таким чином, що коли користувач спеціально запитує нано, він отримує натомість vim. У чому сенс цього? Якби вони хотіли вім, вони б просили його. Якщо проблема полягає в тому, що система налаштована автоматично викликати нано за певних обставин, коли ви особисто віддаєте перевагу vim, то змініть конфігурацію.
gwideman

13

Від "man crontab":

   The -e option is used to edit the  current  crontab  using  the  editor
   specified  by  the  VISUAL  or EDITOR environment variables.  After you
   exit from the editor, the modified crontab will be installed  automati‐
   cally.  If  neither  of  the environment variables is defined, then the
   default editor /usr/bin/editor is used.

Можливо, вам встановлена ​​змінна загальна здатність EDITOR на нано?


13

Якщо ви хочете лише вибрати часовий редактор, ви можете зробити наступне

EDITOR=nano crontab -e

Це встановлює EDITORзмінну середовища для команди


11

На моєму комп'ютері Ubuntu 12.04 crontabвикористовується ~/.selected_editorфайл, який містить шлях вибраного редактора. Відредагуйте його:

nano ~/.selected_editor

Я редагував це безпосередньо або використовував select-editor, що є сценарієм, щоб зробити те саме. Редагуйте наступний рядок:

SELECTED_EDITOR="/usr/bin/vim.basic" 

Люди IHMO не повинні нічого змінювати в / etc або / bin для цього. Це річ на рівні користувача, а не загальносистемне завдання.


для gedit:SELECTED_EDITOR="/usr/bin/gedit"
xinthose

2

У мене виникли труднощі, select-editorі update-alternativesмоє рішення було просто відредагувати посилання:

  1. sudo rm /etc/alternatives/editor
  2. sudo ln -s /usr/bin/vim /etc/alternatives/editor

editor тепер відкриває Вім


2

У мене була така ж проблема - crontab -e покладається на редактор select, visudo покладається на конфігурацію "альтернативи"

Моє рішення:

запустіть обидві команди як корінь

# update-alternatives --install /usr/bin/editor editor /usr/bin/sensible-editor 50

# select-editor 

Select an editor.  To change later, run 'select-editor'.
  1. /bin/nano        <---- easiest
  2. /usr/bin/sensible-editor
  3. /usr/bin/vim.basic
  4. /usr/bin/vim.tiny

Choose 1-4 [1]: 3

Як корінь? Краще використовувати sudo(дивіться, наприклад, які переваги sudo over su
Marc Vanhoomissen
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.