मैं AWS उदाहरण पर अपना डिफ़ॉल्ट शेल कैसे बदलूं?


121

मैं अपने अमेज़ॅन EC2 इंस्टेंस पर डिफ़ॉल्ट बैश शेल से zsh में अपना शेल बदलना चाहता हूं। मैं इसे कैसे करूं? धन्यवाद!

जवाबों:


159

chshकमांड का उपयोग करके देखें ।

जैसे

chsh -s / bin / zsh

आप चलाकर whereis zshया वैकल्पिक रूप से बस चलाकर zsh के स्थान की पुष्टि कर सकते हैं

चश -s $ (जो zsh)

यदि आप एक उपयोगकर्ता खाते के लिए शेल को बदलना चाहते हैं, जिसके अलावा आप लॉग इन हैं, तो आपको इसे रूट के रूप में चलाने की आवश्यकता होगी, इसलिए जॉन के शेल को बदलने के लिए, करें:

सूद chsh -s $ (जो zsh) जॉन

ध्यान दें कि परिवर्तन में प्रभावी होने के लिए आपको लॉग आउट और लॉग इन करना होगा। यदि आप Gnome या किसी अन्य विंडो प्रबंधक का उपयोग कर रहे हैं, तो आपको उस सत्र से पूरी तरह से लॉग आउट करना होगा - बस अपने टर्मिनल को बंद करना और खोलना अपर्याप्त है।


मैंने कोशिश की है कि, लेकिन जड़ उपयोगकर्ता के साथ !! मेरी AMI छवि में रूट के बजाय ubuntu है। शेल को बदलने के लिए ubuntu उपयोगकर्ता पर स्विच करना पड़ा! संकेत के लिए धन्यवाद :)
श्रीपद कृष्णा

3
अगर आप रूट कर रहे हैं तो आप इसे दूसरे यूजर के लिए बदल सकते हैं chsh -s /bin/zsh username
जॉन टी

बहुत बढ़िया :) बहुत आसान है। उस जानकारी के लिए भी धन्यवाद।
श्रीपाद कृष्ण

3
@ हम दुनिया हैं: आपको / usr / लोकल / बिन / zsh को एक नई पंक्ति के रूप में / etc / गोले में जोड़ने की आवश्यकता है
नैट पार्सन्स

5
मैं एक हल्के ढंग से अलग संस्करण का उपयोग करता हूंsudo chsh -s $(which zsh) $(whoami)
SergioAraujo

20

खुला / आदि / पासवार्ड:

sudo vi /etc/passwd

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

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

और बश को zsh से बदलें:

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

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


6
इसका उपयोग करना बेहतर है chsh, लेकिन यदि आप वास्तव/etc/passwd में हाथ से संपादित करने जा रहे हैं, तो कम से कम vipwकमांड का उपयोग करें ।
वाल्मीकि अर्कविंददास

मैं अपनी मशीन पर chsh नहीं है। इसके अलावा, कुछ अजीब कारण से मेरी / etc / passwd फ़ाइल को नियमित रूप से डिफ़ॉल्ट द्वारा अधिलेखित किया जा रहा है। क्या आप जानते हैं कि ऐसा क्यों हो सकता है?
जॉर्जी ओलेनिकोव

स्पर्श न करें / आदि / पासवार्ड। ऐसा करने के लिए बेहतर तरीके हैं जिन्हें पासवार्ड टूल के साथ गड़बड़ करने की आवश्यकता नहीं है!
एंड्रयू

6

मैं यहां केवल अतिरिक्त जानकारी जोड़ने के लिए आया हूं। यदि आप अमेज़न द्वारा अमेज़न लिनक्स एएमआई में zsh इंस्टॉल करते समय परेशानी उठाते हैं, जैसे कि आप चलाते हैं:

sudo chsh $(which zsh) : // chsh command not found

फिर आपको उपयोग -लिनेक्स-उपयोगकर्ता स्थापित करना चाहिए :

sudo yum install util-linux-user

(डिफ़ॉल्ट रूप से अमेज़ॅन लिनक्स एएमआई में केवल lchsh है , लेकिन मैं यह नहीं समझ सकता कि यह कैसे काम करता है)।

फिर निम्न कमांड चलाएँ, यह काम करना चाहिए:

sudo chsh -s $(which zsh) $(whoami)

5

उबंटू में, गनोम टर्मिनल के अंदर, चेश के माध्यम से परिवर्तन करने से अपेक्षित प्रभाव नहीं होगा ...

इस समस्या से निपटने के लिए, यह करें:

  • टर्मिनल में राइट क्लिक करें
  • प्रोफाइल -> प्रोफ़ाइल प्राथमिकताएँ
  • "शीर्षक और कमांड" टैब के तहत, "मेरे शेल के बजाय एक कस्टम कमांड चलाएँ" पर टिक करें और निष्पादन योग्य zsh को पथ प्रदान करें।
  • टर्मिनल को पुनरारंभ करें।

शांति।

PS छवियों को पोस्ट करने के लिए 10 प्रतिष्ठा नहीं है, इसलिए सभी पाठ निर्देश। :)


अब आपके पास आवश्यक प्रतिनिधि है : पी
प्रद्युम्नसग

0

एक पंक्ति

sudo chsh -s $(which zsh) $(whoami)

अतिरिक्त जानकारी: उसके बाद आप शायद ऐसा करना चाहेंगे

git clone https://github.com/zdharma/fast-syntax-highlighting.git \
  ~/.oh-my-zsh/custom/plugins/fast-syntax-highlighting

git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

nano ~/.zshrc 

प्लगइन्स ढूंढना = (git) zsh-autosuggestions और zsh-syntax-highlighting को प्लगइन्स में जोड़ना () इस तरह

प्लगइन्स = (git zsh-autosuggestions फास्ट-सिंटैक्स-हाइलाइटिंग)

source ~/.zshrc
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.