Изменение редактора crontab по умолчанию


140

Я пытаюсь изменить редактор по умолчанию с 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 все еще открывается в nano

Что еще мне нужно сделать?


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
machineaddict

По какой-то причине вы не хотели бы использовать .bashrc здесь? Кажется, работает для меня, или .profile лучше?
Нейт

3
Ответ отборного редактора ниже - лучший ответ
mcarans

217

Просто запустите select-editor, это позволит вам выбрать любой редактор, который вы хотите.


9
Я думаю, что лучший ответ, чем то, что было выбрано. Не нужно менять мой профиль bash, чтобы установить редактор. Проверено выходом из системы и повторным входом в систему.
Paul Carlton

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
Я думаю, делай что хочешь на своей личной машине. Но на машине, которой поделились с кем-либо еще, это предложение по существу отключает nano для всех пользователей таким образом, что, когда пользователь специально запрашивает nano, вместо этого он получает vim. Какой в ​​этом смысл? Если бы они хотели vim, они бы попросили об этом. Если проблема заключается в том, что система настроена на автоматический вызов nano в некоторых случаях, когда вы лично предпочитаете 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 enivronment, установленная на nano?


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 сейчас открывается Vim


2

У меня была такая же проблема - crontab -e полагается на select-editor, visudo полагается на конфигурацию «альтернатив»

Мое решение:

запустить обе команды от имени пользователя root

# 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 по сравнению с su
Марк Ванхомиссен,
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.