Sudo ভিজুডো যখন ডিফল্ট সম্পাদক পরিবর্তন করুন


23

করছেন যখন sudo visudo, ডিফল্ট সম্পাদক হয় nano
আমি এটিতে viবা পরিবর্তন করতে চাই vim

আমি ইতিমধ্যে vimডিফল্ট সম্পাদক তৈরি করেছি এবং geditপিএইচপি, .txt, .c এবং .h ফাইলগুলি খোলার বিকল্প হিসাবে ব্যবহার করব , কোনও vim.desktopফাইল রেখে ~/.local/share/applications/এবং সঠিকভাবে সম্পাদনা করে ~/.local/share/applications/mimeapps.listবা /etc/gnome/defaults.list। তবে দৃশ্যত এটি প্রযোজ্য নয় nano

কোন সুত্র ?


আপনি চেক করেছেন man visudo?
fkraiem

আমি এটি লেখার পর থেকে আরও কিছু জিনিস খুঁজে পেয়েছি - আমি আরও পরে যুক্ত করার আশা করি; লিনাক্স বিভ্রান্তি এটিকে অন্যভাবে পরিচালনা করে।
ভোলকার সিগেল

হ্যাঁ এবং আমি আমার env-var VISUAL কে vim এ সেট করে এবং .bashrc এবং .Bash_profile এ "রফতানি" করেছিলাম এবং তারপরে শেলটি উত্সাহিত করেছি কিন্তু কোন ফলসই হয়নি। এমনকি নিশ্চিত হওয়ার জন্য সেশন ইন লগ আউট এবং লগ-ইন করা হয়েছে।
সিবিহে

2
আমি sudo -E visudoউত্তরে পরে জুড়েছি , আপনি কি তা চেষ্টা করেছিলেন? -E sudoসমস্ত env ভার্স অপসারণ করে না। এটা আছে কারণ উবুন্টু একটি লাইন আছে Defaults env_reset/etc/sudoers
Volker সিয়েগেল

এছাড়াও, আপনিও update-alternativesআমি যুক্ত করে দিয়েছিলে?
ভোলকার সিগেল

উত্তর:


19

সমস্যাটি এটি নয় যে এটি প্রয়োগ হয় না nano, এটি শেলের সাথে প্রযোজ্য নয়:

VISUALপরিবেশের পরিবর্তনশীল সেট করুন :

export VISUAL=vim

এটিকে স্থায়ী করতে খুব too / .bashrc যুক্ত করুন।

আপনি যেমন সাধারণভাবে ভিএম ব্যবহার করছেন বলে মনে হয়, উভয় সেট করুন VISUALএবং EDITOR:

export VISUAL="vim"
export EDITOR="$VISUAL"

বা আরও পসিক্স-সঠিক

VISUAL="vim" ; export VISUAL
EDITOR="$VISUAL" ; export EDITOR

আমি ধরে নিই যে nanoএকটি বা উভয় ভেরিয়েবলের মান ছিল।

ভিসুডোতে আসলে সম্পাদকটির ব্যবহার করতে, আমাদের হ্যান্ডেল করা দরকার sudoযা পরিবেশের পরিবর্তনগুলি সাধারণত রাখে না। বিকল্প -Eযে পরিবর্তন করে।

sudo -E visudo

ছাড়া -Eএখানে, আপনি একটি ডিফল্ট দিয়ে শেষ হবে nanoআবার


দুটি ভেরিয়েবল যেখানে ফাইলের নামকরণ *.desktopবা mime*এমনকি বিদ্যমান থাকার অনেক আগে ব্যবহৃত হয় ।
(এবং চিত্তাকর্ষক বিষয়টি হ'ল: এগুলি আসলে একটি সাধারণ মান হিসাবে ব্যবহৃত হয়েছিল ))
উবুন্টুতে, সিস্টেম ডিফল্টটি সেট করা আছে বলে মনে হয় sudo update-alternatives --config editor। এটি বর্তমান সমিতি পরিবর্তন করতে একটি মেনু দেখায়।


বিভাগটি দেখুন ENVIRONMENTমধ্যে man visudo:

  VISUAL           Invoked by visudo as the editor to use

  EDITOR           Used by visudo if VISUAL is not set

1
তুমি কি চেষ্টা করেছ? ডিফল্টরূপে sudoচালিত কমান্ডটির জন্য পরিবেশ থেকে বেশিরভাগ পরিবেশের ভেরিয়েবল আনসেট করে। VISUAL=vim sudo visudo(এবং আপনার প্রস্তাবিত রূপগুলি) আমার পক্ষে কাজ করে না এবং এগুলি কাজ করার আশা করা উচিত নয়। sudo VISUAL=vim visudoকাজ করে, যদিও। (আমি দু'জনেই আবার চেষ্টা করেছি, নিশ্চিত হতে।) যাইহোক, VISUALএবং EDITORডিফল্টরূপে আনসেট হয়েছে, সেট করা নেই nanoVISUALএবং EDITORপ্রক্রিয়া, যার মাধ্যমে নয় visudoনির্বাচন nanoডিফল্ট কনফিগারেশনে (যতটুকু ছাড়া এটা তাদের পরামর্শ, তারা খুঁজে বের করে করছি সেট না করা বা খালি, এবং প্যাচসমূহ)।
এলিয়াহ কাগন

3
এটি সাথে কাজ করে sudo -E visudo- যা অবশ্যই উত্তরে থাকা উচিত, ঠিক আছে।
ভোলকার সিগেল

+1 এবং আমি আপনার সেরা উত্তর গ্রহণ করি, ভোলকার। "বেস্টেন ড্যাঙ্ক!" পরিবেশের ভেরিয়েবলগুলিতে পাস করার অনুমতি না দেওয়া সম্পর্কে আমি এখনও ই-ফ্ল্যাগের সাথে একটি ত্রুটি বার্তা পেয়েছি, তবে তারপরে আমি সীমাবদ্ধ অ্যাক্সেস ব্যবহারকারীর কাছ থেকে অ্যাডমিন-বিশেষাধিকার এবং বিঙ্গো সহ একটিতে মামলা করতে পারি! সমস্ত ভাল কাজ করে।
সিবিহে

ওহ, আমি আরও একটি জিনিস যুক্ত করতে পেরে খুশি যা ভুল হতে পারে / সহায়তা করতে পারে;) আপনি কি Defaultআপনার / ইত্যাদি / sudoers এর বিকল্পগুলি (লাইনগুলি ) পরীক্ষা করতে পারবেন ? আমি মনে করি একটি বিকল্প আছে যা তা নিষেধ করে, তবে এটি আমার ডিফল্ট ফাইলে ছিল না।
ভোলকার সিগেল 21

@ ভোলকারসিগেল: আমি কল্পনা করেছি যে আপনি / ইত্যাদি / sudoersenv_reset ডিফল্টটি উল্লেখ করেছেন । এটি আমার ক্ষেত্রে ঠিক তেমন সেট করা হয়েছে।
সিবিহে

8

এই উত্তরে বর্ণিত হিসাবে , যোগ করুন

Defaults editor=/path/to/editor

থেকে sudoers ফাইল

দ্রষ্টব্য: এটি কেবল তখনই কাজ করবে যদি সম্পাদনা করা ফাইলটিতে Defaults editor=/path/to/editorলাইন থাকে বা এতে থাকা কোনও ফাইল অন্তর্ভুক্ত থাকে।

উদাহরণস্বরূপ: visudo -f /etc/sudoers.d/my_sudoers_extensionন্যানোতে ডিফল্ট হবে।


2
+1: ভাল, এবং আমি প্রথম এই থ্রেডটি শুরু করার সময় এটি লক্ষ্য করিনি, ধন্যবাদ।
সিবিহে

3

আপনি যদি কখনও ন্যানো ব্যবহার করার পরিকল্পনা না করেন তবে আপনি এটিকে সরাতেও পারেন। তারপরে সিস্টেমটি ডিফল্ট হিসাবে vi / vim ব্যবহার করবে।

sudo apt-get purge nano

আমি জানি এটি সরকারী উত্তর নয়, তবে উবুন্টু ইনস্টল করার পরে এটি আমার পক্ষে প্রথম আদেশের মধ্যে একটি।


এটি অবশ্যই "নেক্রোপোস্টিং" হিসাবে যোগ্যতা অর্জন করেছে তবে ওহে ... উত্তর উত্তর আকর্ষণীয়, এটি উবুন্টুর সাথে সম্পর্কিত। অন্য কয়েকটি ডিস্ট্রো (তাদের মধ্যে আর্চলিনাক্স) কেবলমাত্র 1 ম স্থানে ইনস্টল করা সম্পাদক (গুলি) রয়েছে, তাই আপনার কাছে উবুন্টুর সাথে আমার যে পিবিএম হয়েছিল তাও নেই, বা আপনার পরামর্শ অনুসারে পরিমাপ করার প্রয়োজন নেই। হাতের ক্ষেত্রে (উবুন্টু + ন্যানো + ভিআইএম), আমি মনে করি যে সম্পাদকের ক্ষেত্রে অনেকের বিকল্পের প্রয়োজন হতে পারে। এটি সত্য যে এটি খুব কমই কোনও ব্যবহারকারীর প্রোফাইলে পছন্দগুলি পছন্দ করে emacsএবং vimসক্রিয়ভাবে সহাবস্থান করতে পারে। তবে nanoএবং vimবন্য একসাথে ঘটতে ... রাখুন nano!
সিবিহে 13

অবশ্যই সেরা উত্তর
বটকপ

emacsএবং vimআনন্দের সাথে সহাবস্থান করুন এবং ক্রমাগত ব্যবহার করা হয়। nanoকীটপতঙ্গের মতো, যত তাড়াতাড়ি এটি সিস্টেম থেকে অপসারণ করা ভাল। আমি বুঝতে পারি যে কিছু লোক এটি স্বাচ্ছন্দ্য বোধ করতে পারে তবে এই উত্তরটি পুরোপুরি বৈধ।
মেমেনাম
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.