Fedora'da varsayılandan farklı bir düzenleyici kullanmak için visudo nasıl ayarlanır?


28

Fedora 14, visudo çalıştığında varsayılan olarak vi kullanır. Bunu başka bir şeyle değiştirmenin bir yolu var mı?

Yanıtlar:


44

Ekleme Defaults editor=/path/to/editorSudoers dosyasındaki değişikliklerin belirtilen editörü kullanımı visudo neden olur.

Ek olarak, sudo paketiniz --with-env-editor ile oluşturulmuşsa, bazı Linux dağıtımlarında varsayılan olarak, EDITOR ortam değişkenini de yürüterek ayarlayabilirsiniz export EDITOR=/path/to/editor. Komut satırında gerçekleştirildiğinde, bu kabuk oturumu sona erdiğinde, geri döndürülecek, değişkeni ~ / .bashrc veya / etc / profile olarak ayarlamak değişimin sürmesine neden olacaktır.


Lütfen yürüttüğünüz emirleri verebilir misiniz?
Tok,

@Tshepang - Bir editör belirlemek için sudoers dosyasında Defaults editor = / usr / bin / nano öğesini de ayarlayabilirsiniz. Bu noktada, önceki yorumunuzda belirtildiği şekilde nano kullanmak istediğinizi farz ediyorum.
Tok,

@Tshepang - Evet, ancak bu muhtemelen --with-env-editor kullanarak paketi oluşturmanın bir ürünü.
Tok,

1
@Tok: Hangi sistemde visudoonur duymuyor $VISUALve $EDITOR?
Gilles 'SO- kötü olmayı bırak'

3
@Gilles - okumaya dayanarak Ubuntu kısa süre önce sudo paketinin yapı parametrelerini dahil etmeyecek şekilde değiştirdi --with-env-editor, kısa süre önce internet hafızası içinde. Ek olarak, sudo paketi bir süre önce vi'yi, çevresel değişkenlerin kabulü ile ilgili davranışındaki bir değişikliğe denk geldiğine inandığım varsayılan editör olarak kullanmak için varsayılanını değiştirdi. Bu olayların şu anda birbirleriyle nasıl, ne zaman, nasıl ilişkili olup olmadığına dair net bir zaman çizelgesine sahip değilim.
Tok,

11

Aşağıdaki

  • kullanan dağıtımlar için çalışır alternatives(başlangıçta sadece Debian ve çatalları, ama şimdi en büyük dağıtımları, IIUC).
  • avantajı var

    1. sudoersilk önce varsayılan düzenleyicisiyle düzenleme yapmanız gerekmeyecek
    2. hatta paketin eğer = işleri sudoolan değil ile inşa edilmiş--with-env-editor

Bir komut satırından:

  1. Koşmak sudo update-alternatives --config editor
  2. (Metin modu) menüsünden istediğiniz editörü seçin. İstediğiniz düzenleyiciyi göremiyorsanız, muhtemelen yüklemeniz gerekir; iptal et, bunu yap ve tekrarla.

sudo visudo şimdi seçtiğiniz editörü açmalısınız.


7

Bir editör çağırmak isteyen normal bir unix programı, ismi EDITORveya VISUALortam değişkeninde olan programı çalıştırır ve değişken set edilmemişse, sisteme bağlı bir varsayılandır. Programların çoğu, fakat hepsinin değil, her ikisini de kontrol eder EDITORve VISUAL; bu fark çok eski ( EDITORbir teletip ve VISUALbir “cam” terminalde çalışacaksınız …) bu yüzden ikisini de aynı değere ayarlamalısınız. Değişkenin içeriğinin bir çalıştırılabilir öğeye giden tam yol, aranan bir çalıştırılabilir ad $PATHveya bir kabuk pasajı olması gerektiğine dair bazı anlaşmazlıklar vardır , bu nedenle herhangi bir kabuk meta karakterini içermeyen bir çalıştırma yoluna bağlı kalmalısınız. Hiçbir değişken ayarlanmadığında, sistem varsayılan olarak gelenekseldirviBazı dağıtımlar bunu daha çok yeni başlayanlar için editör olarak değiştirdi nano.

visudoher ikisini de kontrol eder VISUALve EDITOR(bu, derleme yapılabilir, muhtemelen kökü, dağıtım yapanın güvenliğine güvenmeyen, ancak OpenBSD bile bunu yapmaz) bir editör kullanmaktan kurtarır).


3

Bu adımlar, editörü Ubuntu 12.04'te visudo için vi olarak ayarlamama izin verdi, muhtemelen çoğu dağıtım için çalışıyorlar:

Sorun komutu:

sudo visudo

Bu nano'da sudoers dosyasını açar. Üst kısımda bu çizgiyi göreceksiniz:

Defaults    env_reset

Yukarıdaki çizginin altına aşağıdaki satırı ekleyin:

Defaults    editor=/usr/bin/vi

Dosyayı kaydet ve çık. Visudo'yu varsayılan kullanıcı olarak yeniden açın:

sudo visudo

Sudoers dosyası şimdi VI'da açılıyor.


2

visudoEDITORörneğin değişkeni kullanır .

sudo EDITOR=/path/to/editor visudo
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.