আমি কীভাবে ম্যাক ওএস এক্সে আমার শেলটি সেট করব?


21

আমি জানি যে আমি টার্মিনাল পছন্দগুলিতে "শেলগুলি খোলা" সেট করতে পারি, তবে এটি নির্ধারণের কোনও সিস্টেম-ব্যাপী উপায় (কিছু ইউনিক্সে আপডেট / ইত্যাদি / পাসডাব্লুডের অনুরূপ) থাকলে আমি আগ্রহী।

উত্তর:


24

chshইউটিলিটিটি এর মতো ব্যবহার করুন :

chsh -s bash

উদাহরণস্বরূপ আপনি লিনাক্সে দেখতে চাইলে chshতুলনায় অ্যাপল ম্যাক ওএস এক্সে কিছুটা পরিবর্তন করেছে chsh। আপনি chsh ম্যাক ওএস এক্স ম্যান পৃষ্ঠাতে তাদের পড়তে পারেন ।


এবং এখানে আমি অনুভব করেছি যে এটি কিছু ওএসএক্স-নির্দিষ্ট ইউটিলিটি সহ জটিল ছিল h ধন্যবাদ।
nall

@ জোহান - সুন্দরভাবে শিখেছেন :)
আকিরা

হ্যাঁ, আমি উত্তরটিও শেষবারের মতো জানতাম, আমি কেবল তার কাছে মারপিট করেছিলাম! :(
জন টি

19

মনে রাখবেন যে আপনাকে কেবল তালিকাভুক্ত শেলটিতে পরিবর্তন করার অনুমতি দেওয়া হবে /etc/shells। এটি সাধারণত সূক্ষ্ম হয় তবে এর অর্থ হ'ল আপনি যদি বাশ 4 ইনস্টল করতে চান (হোমব্রিউ, ম্যাকপোর্টস থেকে বা নিজের সংকলন করুন), আপনাকে এতে একটি লাইন যুক্ত করতে হবে /etc/shells। (কয়েক সপ্তাহ আগে আমি এটির মধ্যে দৌড়ে এসেছি এবং এটি বুঝতে পেরেছিলাম যে এটি অন্যকে জানতে সাহায্য করবে ...)

সম্পাদনা করুন : টিম স্মিথ উল্লেখ করেছেন যে আপনি /etc/shellsযদি chshরুট হিসাবে চালিয়ে যান তবে সীমাবদ্ধতাটি পেতে পারেন sudo। যেমন sudo chsh -s /usr/local/bin/my_shell $USERকাজ করবে, এমনকি যদি my_shellতালিকাভুক্ত করা না থাকে /etc/shells। আমি সম্পাদনা করতে পছন্দ করি /etc/shellsতবে শেষ পর্যন্ত, এটি যে sudoকোনও একটিরই ব্যবহার কারণ আপনি /etc/shellsনিয়মিত ব্যবহারকারী হিসাবে সম্পাদনা করতে পারবেন না । সুতরাং সম্ভবত এক ছয়, অন্য অর্ধ ডজন।


/etc/shellsযদি না করতে হয় তবে কেন পরিবর্তন করবেন? বিচক্ষণতার জন্য, আমি সিস্টেম ফাইলগুলি একই রাখতে পছন্দ করি।
ma11 শেই 28

@ ম্যাটডিপিস্কোয়েল আমি নিশ্চিত না যে আপনি "স্যানিটি" দ্বারা কী বোঝাতে চাইছেন। /etc/shellsসিস্টেমের এমন ফাইল যা স্বীকৃত শেলগুলি সংজ্ঞায়িত করে। আমি সেই ফাইলটি পরিবর্তন করেছি কারণ আমি স্বীকৃত শেলগুলির তালিকায় একটি শেল যুক্ত করতে চাই। আমার কাছে বেশ যুক্তিসঙ্গত বলে মনে হচ্ছে।
টেলিমাচাস

ভাল Alt। উপায়, কোনও কারণে chsh আমার পক্ষে কাজ করবে না। আমি এটা বুজেছি ; chsh: bash: non-standard shell
রাইবোল্ট

@ রাইবোল্ট রাইট: কারণটি সম্ভবত উত্তরে আমি উল্লেখ করেছি। আপনি chshতালিকাভুক্ত না থাকা শেলটি ব্যবহার করার চেষ্টা করলে আপনি একা ব্যবহার করতে পারবেন না /etc/shells
টেলিমাচাস

@ টেলিম্যাচাস, আমি কেবলমাত্র আমার ডিফল্ট ম্যাক ওএসএক্স বিল্ডের সাথে আসা আসল বাশ শেলটিতে পরিবর্তনের চেষ্টা করছিলাম। এটি /etc/shellsআমার কাছে অদ্ভুত বলে মনে হয় না।
রাইবোল্ট

10

ম্যাক ওএস এক্স জিইউআই ব্যবহার করে এটি করতে:

  1. "সিস্টেমের পছন্দগুলি" খুলুন।
  2. "অ্যাকাউন্ট" / "ব্যবহারকারী এবং গোষ্ঠী" পছন্দ বাক্সটি খুলুন এবং প্রযোজ্য হলে অগ্রাধিকার ফলকটি আনলক করুন।
  3. আপনি যে ব্যবহারকারীর শেল পরিবর্তন করতে চান, ব্যবহারকারীর উপর control+ ক্লিক বা ডান ক্লিক করুন এবং "উন্নত বিকল্পগুলি ..." নির্বাচন করুন
  4. যেখানে এটি "লগইন শেল:" বলেছে এটি আপনি যে শেলটি ব্যবহার করতে চান তাতে পরিবর্তন করুন।

লক্ষণীয়, এই অবস্থানটি আপনি যেখানে টার্মিনালটি সম্পর্কে অস্বস্তিতে থাকলে আপনার হোম ডিরেক্টরি, ইউআইডি, ব্যবহারকারী আইডি, গ্রুপ আইডি এবং সংক্ষিপ্ত নাম পরিবর্তন করতে পারবেন। এখানেও একই ধরণের প্রশ্ন রয়েছে ।


5

উপরের উত্তরগুলি ব্যবহার করে আমি একটি ত্রুটি বার্তা পেয়েছিলাম:

$ chsh -s zsh
Changing shell for myuser.
Password for myuser:
chsh: zsh: non-standard shell

এটি প্রায় কাজ করতে:

sudo chsh -s zsh $(whoami)

whoami একটি সাব-শেলের মধ্যে আপনার ব্যবহারকারীর জন্য শেল পরিবর্তন করা হয়, রুট নয়।

আপনি হোমব্রু ব্যবহার করছেন তবে আরও একটি জিনিস। আপনি যখন কমান্ডগুলি রুট হিসাবে ব্যবহার করেন (ব্যবহার করে sudo), zsh / bin / zsh এ নির্দেশ করে, যা ওএসএক্সের সাথে আসে এবং এটি পুরানো হতে পারে। হোমব্রিউয়ের মাধ্যমে ইনস্টল করা সর্বশেষতম ব্যবহার করতে, নিম্নলিখিতটি ব্যবহার করুন:

sudo chsh -s $(which zsh) $(whoami)
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.