기본 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는 여전히 nano에서 열립니다.

다른 무엇을해야합니까?


1
나는이 답변들 중 어느 것도 실제로 그들이하는 질문을 다루지 않는다고 생각하지 않습니까?
geotheory

다음은보다 광범위한 답변입니다. askubuntu.com/questions/977538/…
SDsolar

답변:


121

ssh 세션을 시도한 다음

export EDITOR=vim

또는 가능

export EDITOR=/usr/bin/vim.basic

EDITOR 변수 설정 형식은 사용중인 쉘에 따라 다릅니다.

우분투에서는 로그온시 EDITOR 환경 변수를 설정할 수 있습니다. ~/.profile

SSH 세션은이라는 원격 호스트에서 유사한 파일 (있는 경우)을 읽습니다 ~/.ssh/environment. 이것은 ssh 데몬 설정에 의해 구체적으로 정의되어야합니다. 참조 man sshd_config및 찾아 PermitUserEnvironment자세한 내용은.


1
이것은 CentOS에서도 작동합니다.
machineaddict

.bashrc를 사용하고 싶지 않은 이유는 무엇입니까? 나를 위해 일하는 것 같습니까? 또는 .profile이 더 낫습니까?
Nate

3
아래의 선택 편집자 답변이 더 좋습니다
mcarans

214

간단히 실행 select-editor하면 원하는 편집기를 선택할 수 있습니다.


9
내가 선택한 것보다 더 나은 대답이라고 생각합니다. 편집기를 설정하기 위해 bash 프로파일을 변경할 필요가 없습니다. 로그 아웃했다가 다시 로그인하여 확인했습니다.
Paul Carlton

4
허용되는 답변이어야합니다. 고마워 Mostafa!
DylanYoung

3
틀림없이 받아 들여진 대답이었습니다! 이것은 많은 도움이되었습니다! : D
Fadi

3
이것은 나를 위해 일한 유일한 대답했다
cjohansson

3
가장 좋은 답변입니다. ...
우리는 Borg

26

내 개인적인 취향 ...

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

나는 그것을 좋아하고 업데이트 대안이 효과가 없었을 때 나를 위해 충분히 운동했습니다.
Cole Busby

5
vi 설정을 배우기 위해 vi 명령을 배우는 데 가치가없는 관리자에게는 nano의 문제점이 무엇인지 알 수 없습니다.
Max

1
나는 당신이 당신의 자신의 개인 기계에서 원하는대로 할 것 같아요. 그러나 다른 사람과 공유되는 컴퓨터에서이 제안은 본질적으로 사용자가 나노를 요청할 때 대신 vim을 얻는 방식으로 모든 사용자에 대해 nano를 비활성화합니다. 요점이 뭐야? 그들이 vim을 원한다면, 그들은 그것을 요구할 것입니다. 여기서 문제는 개인적으로 vim을 선호하는 환경에서 시스템이 자동으로 nano를 호출하도록 구성된 경우 구성을 변경하십시오.
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 환경 변수가 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는 "alternatives"설정에 의존합니다.

내 해결책 :

두 명령을 모두 루트로 실행

# 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(예를 들어 su보다 sudo의 장점은 무엇입니까?
Marc Vanhoomissen
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.