Jawaban:
Menambahkan Defaults editor=/path/to/editor
file sudoers akan menyebabkan visudo menggunakan editor yang ditentukan untuk perubahan.
Selain itu, jika paket sudo Anda telah dibuat dengan --with-env-editor, seperti default pada beberapa distribusi Linux, Anda juga dapat mengatur variabel lingkungan EDITOR dengan mengeksekusi export EDITOR=/path/to/editor
. Dilakukan pada baris perintah, ini akan kembali segera setelah sesi shell diakhiri, pengaturan variabel dalam ~ / .bashrc atau / etc / profile akan menyebabkan perubahan berlanjut.
visudo
menghormati $VISUAL
dan $EDITOR
?
--with-env-editor
, baru-baru ini di sini berarti dalam memori internet. Selain itu paket sudo mengubah default mereka beberapa waktu lalu untuk menggunakan vi sebagai editor default mereka yang saya percaya bertepatan dengan perubahan perilaku sehubungan dengan penerimaan variabel lingkungan. Saya tidak memiliki garis waktu yang jelas tentang bagaimana, kapan, atau jika peristiwa-peristiwa ini berhubungan satu sama lain saat ini.
Pengikut
alternatives
(awalnya hanya Debian dan forks-nya, tetapi sekarang sebagian besar distro, IIUC).memiliki kelebihan itu
sudoers
terlebih dahulu dengan editor default-nyasudo
telah tidak dibangun dengan--with-env-editor
Dari baris perintah:
sudo update-alternatives --config editor
sudo visudo
sekarang harus membuka editor pilihan Anda.
Program unix normal yang ingin memohon editor akan menjalankan program yang namanya ada dalam variabel lingkungan EDITOR
atau VISUAL
, dan jika variabel tidak disetel, default yang bergantung pada sistem. Banyak, tetapi tidak semua, program memeriksa keduanya EDITOR
dan VISUAL
; perbedaannya sudah lama usang (sekali Anda akan menjalankan EDITOR
pada teletype dan VISUAL
pada terminal "kaca" ...) sehingga Anda harus mengatur keduanya ke nilai yang sama. Ada beberapa ketidaksepakatan tentang apakah konten variabel harus path lengkap ke file executable, nama executable yang dicari $PATH
, atau potongan shell, jadi Anda harus tetap berpegang pada path ke file executable yang tidak mengandung metacharacter shell. Sistem default ketika variabel tidak diatur secara tradisionalvi
, meskipun beberapa distribusi telah mengubah ini menjadi editor yang lebih ramah bagi pemula seperti nano
.
visudo
memeriksa keduanya VISUAL
dan EDITOR
(ini dapat dikompilasi, mungkin untuk mencegah root dari menggunakan editor yang keamanan pembuat distribusinya tidak percaya, tetapi bahkan OpenBSD tidak melakukan ini).
Langkah-langkah ini izinkan saya mengatur editor ke vi untuk visudo pada Ubuntu 12.04, mereka mungkin bekerja untuk sebagian besar distribusi:
Perintah masalah:
sudo visudo
Ini membuka file sudoers di nano. Di dekat bagian atas Anda akan melihat baris ini:
Defaults env_reset
Tambahkan baris berikut di bawah baris di atas:
Defaults editor=/usr/bin/vi
Simpan file dan keluar. Buka kembali visudo sebagai pengguna default Anda:
sudo visudo
File sudoers sekarang terbuka di VI.