ডিফল্ট শেল কীভাবে জেডএসএইচে পরিবর্তন করবেন - chsh "অবৈধ শেল" বলে


36

আমি আমার একটি ভিএম তে জেডএসএইচ ইনস্টল করেছি, যেখানে আমি উত্স থেকে এটি সংকলন করেছি। ZSH এর অবস্থানটি /usr/local/bin/zshযখন আমি chsh -s /usr/local/bin/zshএটি চালিয়ে যাই chsh: /usr/local/bin/zsh is an invalid shell। আমি সুডোর সাথেও এটি চেষ্টা করেছিলাম। আমি কীভাবে এটি পরিবর্তন করতে পারি?



6
@ মাইকেল, না, এই প্রশ্নটি "আমার পক্ষে কাজ করছে না chsh" তার চেয়ে " আমি তার সম্পর্কে জানি না " chshis
সিজেএম

উত্তর:


48

Zsh এতে যুক্ত করুন /etc/shells:

command -v zsh | sudo tee -a /etc/shells

এখন আপনি zsh কে শেল হিসাবে সেট করতে chsh ব্যবহার করতে পারেন:

sudo chsh -s "$(command -v zsh)" "${USER}"

এই ডকুমেন্টেশন দেখুন: আপনার লগইন শেল পরিবর্তন



3

প্রথমে, zshবৈধ শেল দ্বারা তালিকাভুক্ত কিনা তা পরীক্ষা করুন

cat /etc/shells

যদি zshতালিকাভুক্ত না হয় তবে এটি ইনস্টল করুন। উদাহরণস্বরূপ, যদি আপনি ব্যবহার করেনapt

sudo apt-get install zsh

আবারো 1 ধাপ করুন এবং এর পথ দেখুন zsh। আমার ক্ষেত্রে, উভয় /usr/bin/zshএবং /usr/zshতালিকাভুক্ত করা হয়। @ স্টাফেন চ্যাজেলাস মন্তব্যে উল্লিখিত হিসাবে, আপনি যদি স্ক্র্যাচ থেকে শেলটি সংকলন করতে এবং ইনস্টল করতে চান, তবে প্রবেশের পথটি অবশ্যই যোগ করবেন তা নিশ্চিত হন /etc/shells

শেল ব্যবহার করে পরিবর্তন করুন

chsh -s /usr/bin/zsh

ম্যান পৃষ্ঠা থেকে :

-s, --shell SHELLব্যবহারকারীর নতুন লগইন শেলের নাম। এই ক্ষেত্রটি ফাঁকা রাখার ফলে সিস্টেমটি ডিফল্ট লগইন শেলটি নির্বাচন করতে পারে।

লগআউট এবং আবার লগইন করুন।


হ্যাঁ, আপনি যদি ওএস প্যাকেজের অংশ হিসাবে শেলটি ইনস্টল করেন, তবে ওএস প্যাকেজিং সাধারণত শেলটি যুক্ত করে /etc/shells। এখানে মুল বক্তব্যটি হ'ল আপনি যদি শেলটি হাতে করে কম্পাইল করে ইনস্টল করেন তবে আপনার /etc/shellsনিজের হাতে হাতও যুক্ত করতে হবে।
স্টাফেন চেজেলাস

ভাল যুক্তি. আমি 'অ্যাপ' এর মতো প্যাকেজ ম্যানেজারের কথা ভাবছিলাম। আপনার বক্তব্যটি অন্তর্ভুক্ত করার জন্য আমি উত্তরটি সম্পাদনা করেছি।
স্যাট ইয়াম

যদিও অন্য দুটি উত্তর ইতিমধ্যে বলেছে এটি মূলত।
জেফ শ্যাচলার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.