ज़श को डिफ़ॉल्ट शेल कैसे बनाएं?

मैं ज़श को अपने डिफ़ॉल्ट शेल के रूप में सेट करने की कोशिश कर रहा हूं, हालांकि यह बैश पर वापस लौटता रहता है ।

मैंने इस कोड की कोशिश की है:

sudo chsh -s $(which zsh)

मैंने भी कोशिश की है:

sudo chsh -s /bin/zsh 

सुडो के बिना भी इन आदेशों की कोशिश की । मुझे और क्या करना है, इस पर कोई विचार । जब बैश के भीतर से जेडएसएच चल रहा है तो यह लोड होता है और ठीक काम करता है लेकिन मैं इसे डिफ़ॉल्ट शेल के रूप में सेट करना चाहता हूं ।

बस का उपयोग कर chsh:

chsh -s $(which zsh)

बिना sudo काम करना चाहिए । यदि आप उपयोग करते हैं sudo यह आपके कामकाजी उपयोगकर्ता के लिए नहीं बल्कि शेल को बदल देगा जड़

अंत में, अपने कंप्यूटर से लॉग आउट करें और वापस लॉग इन करें.

समस्या निवारण:

  • क्या आपके पास जेडएसएच स्थापित (द्वितीय) है? dpkg -l zsh
  • क्या आपका खोल जेडएसएच पर सेट है? का अंतिम क्षेत्र grep $USER /etc/passwd
  • जेडएसएच ए है मान्य लॉगिन शेल? grep zsh /etc/shells

मैंने इस पर पाया सुपरयुसर फोरम

ओपन / आदि / पासवार्ड:

sudo vi /etc/passwd

अपने उपयोगकर्ता नाम के साथ लाइन खोजें:

username:x:1634231:100:Your Name:/home/username:/bin/bash

और ज़श के साथ बैश बदलें:

username:x:1634231:100:Your Name:/home/username:/bin/zsh

लॉग आउट करें और परिवर्तनों के प्रभावी होने के लिए वापस लॉग इन करें ।

आप यह भी कर सकते हैं:

अपने पसंदीदा संपादक में अपनी बीएएसआरसी फ़ाइल खोलें

sudo nano ~/.bashrc

फिर फ़ाइल के ऊपर नीचे की रेखा जोड़ें

exec zsh

हर बार जब आप टर्मिनल लोड करते हैं और अपना जेडएच शेल चलाते हैं तो यह कमांड निष्पादित करेगा ।

मुझे वर्तमान उपयोगकर्ता के तहत शेल बदलने की अनुमति के साथ एक समस्या थी, लेकिन अगला मेरी मदद करता है (आपको अपने कंप्यूटर के लिए सही 'ज़श' फ़ोल्डर सेट करना चाहिए):

sudo chsh -s /bin/zsh <myUserName>

यदि जेडएसएच / बिन / जेडएसएच नहीं है तो सीएचएसएच काम नहीं करेगा । उबंटू पर यह /यूएसआर/बिन/जेडएसएच है । तो कर रहे हैं chsh -s /usr/bin/zsh या chsh -s `which zsh` काम करना चाहिए । डेस्कटॉप सत्र में फिर से लॉगिन करने की भी आवश्यकता है ।

अजीब, "स्वीकृत" उत्तर मेरे लिए काम नहीं किया जैसा कि मुझे मिला

chsh: PAM: Authentication failure

इस समस्या को हल करने के लिए अपना /आदि/पासवार्ड संपादित करें और सुनिश्चित करें कि यह जेडएसएच स्थान को इंगित करता है । (आप इसे "कौन सा ज़श" चलाकर पा सकते हैं) मेरे मामले में "वेबमास्टर" नामक मेरा उपयोगकर्ता इस तरह दिखता था:

webmaster:x:1001:1001:webmaster,,,:/var/www/webmaster:/usr/bin/zsh

साथ ही सीएचएसएच (या संपादन /आदि/पासवार्ड, जो एक ही काम करता है), आपको अपने टर्मिनल एमुलेटर (गनोम टर्मिनल, कंसोल, एक्सएफसीई 4-टर्मिनल, आदि) में सेटिंग्स को संपादित करने की आवश्यकता हो सकती है । आपकी प्रोफ़ाइल में संभवतः एक लॉगिन शेल होगा, जो तब चलाया जाएगा जब आप शेल के बजाय /आदि/पासवार्ड में एक नया टैब खोलेंगे ।
कोनकेर में यह है Settings | Edit Current Profile | Command.

त्वरित उत्तर जो मेरे लिए काम करता है: लॉग आउट करना और फिर डेस्कटॉप सत्र में वापस लॉग इन करना मेरे लिए तय किया ।