ম্যাক ওএস এক্সের লগইন শেলটি কীভাবে বাশ থেকে zsh এ পরিবর্তন করবেন?


90

আমি থেকে Mac OS X এর এর লগ-ইন শেল পরিবর্তন করার চেষ্টা করছি bashকরার zsh। আমি ম্যাক ওএস এক্স চিতাবাঘে এটি সম্ভব দেখছি তবে ওএস এক্স সিংহের জন্য আমি কোনও উপায় খুঁজে পাচ্ছি না। আমি সত্যিই আশা করি ল্যাশ-ইন শেলটি ব্যাশ থেকে অন্য কোনওটিতে পরিবর্তন করা সম্ভব। আমি কোথায় সন্ধান করব তা ঠিক জানি না।


শেলটি zsh এ পরিবর্তন করার পরে, আমাকে এখনও zsh টি ম্যানুয়ালি চালু করতে হয়েছিল। লগ আউট সাহায্য করে না। আমি তখন উপরের লগইন শেলটিতে zsh পরিবর্তন করেছি to লগ আউট এবং এটি ছিল।

1
অন্য কিছু না হলে, আপনি zsh সন্ধান এবং সম্পাদন করতে সর্বদা .bashrc পরিবর্তন করতে পারেন। if [ -x /usr/local/bin/zsh ] ; then exec /usr/local/bin/zsh fi। ইঙ্গিত, শেল প্রারম্ভিক স্ক্রিপ্টগুলি সংশোধন করার সময়, শেলটি চলমান রাখা এবং অন্য একটি উইন্ডোতে একটি নতুন শুরু করা নিশ্চিত করুন - আপনি যদি এটি ভাঙেন তবে আপনার এটি ঠিক করার জন্য এখনও একটি সহজ জায়গা রয়েছে।
ড্যান প্রিটস

উত্তর:


101

আপনি নিম্নলিখিত কমান্ড দ্বারা ব্যবহারকারী শেল পরিবর্তন করতে পারেন:

chsh -s /bin/zsh

দ্রষ্টব্য: এটি একটি মানহীন শেলের জন্য পরিবর্তন করতে, নিশ্চিত করুন যে এটির পথটি /etc/shellsফাইলে যুক্ত হয়েছে ।


4
আমি হোমব্রিউয়ের সাথে জেডএস-এর একটি নতুন সংস্করণ ইনস্টল করেছি, যা zsh টি ভিতরে .ুকিয়ে দিয়েছে /usr/local/bin/zsh। দুর্ভাগ্যক্রমে, chsh এটিকে বলার অনুমতি দেয় না chsh: /usr/local/bin/zsh: non-standard shell। ড্যানিয়েল বেকের উত্তর এই ক্ষেত্রে উপযুক্ত সমাধান is
অ্যাডাম_0

43
আপনি অ-মানক শাঁস সঙ্গে সমস্যা পেয়ে হয়, আমার মনে হয় আপনি যোগ করতে সক্ষম হওয়া উচিত /usr/local/bin/zshকরতে /etc/shellsএবং এটা যে সমস্যা সমাধানের করা উচিত নয়।
মাইক মায়ার্স

13
হোমব্রু zsh ইনস্টল তথ্য আসলে আপনাকে এটিকে / ইত্যাদি / শেলগুলিতে যুক্ত করার পরামর্শ দেয়: ==> Caveats To use this build of Zsh as your login shell, add it to /etc/shells.
জর্জ

কখনও কখনও কাজ করে না। @
ফ্র্যাঙ্কের

1
@ অসাধারণ_গর্ফল ডিফল্টরূপে /etc/shellsমালিকানাধীন, এবং কেবলমাত্র মূল ( সুপারুসার) দ্বারা লিখিত হয়। আপনি উদাহরণস্বরূপ, সম্পাদনা করতে সম্পাদনা চালানোর sudo vi /etc/shellsজন্য sudo( s uper u ser do ) ব্যবহার করতে পারেন । আমি কেবলমাত্র আমার সিস্টেমে পরীক্ষা করেছি এবং নিশ্চিত করেছি যে এটি সিস্টেম ইন্টিগ্রিটি প্রোটেকশন দ্বারা সুরক্ষিত নয়, সুতরাং এসআইপি অক্ষম করতে হুপের মাধ্যমে লাফিয়ে না গিয়ে আপনার এটিকে মূল হিসাবে সম্পাদনা করতে সক্ষম হওয়া উচিত। vi/etc/shells
স্পিফ

54

মজাজনকভাবে যথেষ্ট, আপনার প্রশ্নের সাথে যে লিঙ্কটি আপনি লিঙ্ক করেছেন একই পদ্ধতি এখনও সিয়েরার মাধ্যমে (10.12) ওএস এক্স লায়নটিতে কাজ করে। পার্থক্যটি: পছন্দের ফলকে অ্যাকাউন্টগুলির পরিবর্তে ব্যবহারকারী এবং গোষ্ঠীগুলির নাম দেওয়া হয়েছে ।

  1. "সিস্টেমের পছন্দগুলি" খুলুন → "ব্যবহারকারী ও গোষ্ঠী"।
  2. লক আইকনটি ইতিমধ্যে আনলক না করা থাকলে লক আইকনটি ক্লিক করুন এবং নিজেকে প্রমাণীকরণ করুন।
  3. ব্যবহারকারীর নামের তালিকার কোনও ব্যবহারকারীর প্রসঙ্গে ক্লিক করুন ( Controlক্লিক করার সময় কীটি ধরে রাখুন বা ডান হাতের দুটি বোতামের মাউসে ডান ক্লিক করুন)।
  4. প্রসঙ্গ মেনুতে, "উন্নত বিকল্পগুলি ..." নির্বাচন করুন।
  5. প্রদর্শিত শীটে "লগইন শেল" চয়ন করুন।

"অ্যাডভান্সড অপশনস" স্ক্রিনের শীর্ষে থাকা নোটটি দাবি করে যে পরিবর্তনটি কার্যকর করতে আপনাকে পুনরায় চালু করতে হবে, তবে আপনাকে সত্যিই কেবল লগ আউট করতে হবে এবং আবার ফিরে আসতে হবে।

এখানে চিত্র বর্ণনা লিখুন


1
নিশ্চিত হয়ে গেছে যে এটি মাউন্টেন সিংহটিতে কাজ করে, পাশাপাশি "অ-মানক শেলস" নিয়ে কাজ করে যা আপনি নিজেরাই ইনস্টল করতে পারেন (বা হোমব্রু ইনস্টল থাকতে পারেন)।
অ্যাডাম_0

2
10.10 ইয়োসেমাইটে এখনও কাজ করা হয়েছে তা নিশ্চিত করেছেন।
এক্নেপসনাই

4
"উন্নত বিকল্পগুলি" মেনু আনতে ব্যবহারকারীর নামটিতে ডান ক্লিক করুন। এটি খুঁজতে আমার কয়েক মিনিট সময় লেগেছে।
pdwalker

1
উত্তরে সক্ষম হওয়ার আগে কেন কাউকে অফসাইটে যেতে সমস্ত তথ্য সংগ্রহ করতে বাধ্য করা? সুতরাং অন্য কেউ ক্ষেত্রে মন্তব্যটি একই ধারণা করে যে উত্তরটি এখানে এবং সেখানকার চেয়ে বরং এখানে রয়েছে।
pdwalker

1
@jvriesem আসলে, তা করে। আমার ধারণা আপনি পদক্ষেপ 2 এড়িয়ে
ড্যানিয়েল বেক

11

বা:

sudo dscl . change /users/$USER UserShell /bin/bash $(which zsh)

3
আপনি ব্যাখ্যা করতে পারেন কেন এই প্রশ্নের উত্তর?
ক্রিসএফ

এটি পরে চালাতে ভুলবেন না brew install zsh
মেমেল

3
এছাড়াও, সতর্কতা অবলম্বন করুন যে হোমশ্রুউয়ের মাধ্যমে ইনস্টল করা zsh এর পথটি আলাদা। আমি এটি হিসাবে এটি করি:sudo dscl . change /users/$USER UserShell /bin/bash $(which zsh)
metakermit

1
সতর্কতা: আপনি যদি প্রথমে zsh এর পথ পরীক্ষা না করে এটি অনুলিপি / পেস্ট করেন তবে এটি আপনার শেলটি ভেঙে দেবে। পরিবর্তে metakermit যা বলেছে তা করুন।
র‌্যাডিকশাউন্ড

1

যদি কেউ একই সমস্যা ভাবছেন তবে ম্যাকস সিয়েরায় ঘটে এবং নিম্নলিখিত আদেশটি আমাকে সমস্যা ছাড়াই শেল পরিবর্তন করার অনুমতি দিয়েছে:

chpass -s /usr/local/bin/zsh

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