2010-05-22 12 views
20

में डिफ़ॉल्ट खोल के रूप में zsh लोड हो रहा है I KUbuntu 10.04 (ल्यूसिड लिंक्स) का उपयोग कर। मैंने zsh और स्क्रीन स्थापित की है। मैंने सेटिंग में zsh को कमांड सेट करके - टर्मिनल की वर्तमान प्रोफ़ाइल संपादित करें, डिफ़ॉल्ट शेल के रूप में zsh सेट किया है। लेकिन, जब मैं स्क्रीन लॉन्च करता हूं, तो बैश खोल लोड होता है। अगर मैं आदेश zsh चलाने के लिए, तो शुरू होता है zsh लेकिन निम्न संदेश प्रदर्शित होता है:gnu स्क्रीन

"/home/joel/.zshrc:36: Can't add module parameter `mapfile': parameter already exists" 

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

धन्यवाद

+5

Superuser.com पर निर्भर –

+2

कृपया '~/.zshrc' की सामग्री पोस्ट करें। –

+0

या उत्तर के लिए धन्यवाद '~/.zshrc' – rampion

उत्तर

8

सबसे पहले पता लगाने जहां zsh कि तरह है:

$ whereis zsh 

वर्तमान उपयोगकर्ता के लिए दूसरा परिवर्तन खोल:

$ chsh -s /path/to/zsh joel 

और zsh उपयोगकर्ता जोएल के लिए डिफ़ॉल्ट खोल हो जाएगा relogin के बाद।

+0

खाली करने का प्रयास करें। जहां zsh sh देता है:/bin/zsh/usr/bin/zsh/etc/zsh/usr/lib/zsh/usr/share/zsh /usr/share/man/man1/zsh.1.gz। लेकिन जब मैं chsh -s {/ bin/zsh} जोएल करता हूं, तो यह पासवर्ड मांगता है और फिर मुझे संदेश मिलता है "chsh: {/ bin/zsh} एक अवैध खोल है।" – joel

+1

* chsh -s/bin/zsh joel * - यही आपको चाहिए! :) – mosg

+0

ओह .. ठीक है, धन्यवाद कि काम किया! :)। लेकिन मुझे अभी भी संदेश मिलता है "जब मैं स्क्रीन लॉन्च करता हूं तो मॉड्यूल पैरामीटर 'मैपफ़ाइल' नहीं जोड़ सकता: पैरामीटर पहले से मौजूद है"। इसे ठीक करने का कोई तरीका? – joel

47

यदि आप इसे केवल स्क्रीन सत्रों के लिए डिफ़ॉल्ट खोल बनाना चाहते हैं, तो आप बस इस लाइन को अपने ~/.screenrc फ़ाइल में जोड़ सकते हैं।

shell "/usr/bin/zsh" 
+3

मुझे लगता है कि यह जानना भी सहायक है कि '~/.screenrc' इसके द्वारा बनाए जाने तक अस्तित्व में नहीं है आप। मुझे फाइल बनाने और इसे काम करने के लिए 'खोल'/usr/bin/zsh "'रखना था। [कड़ी] (https://ubuntuforums.org/showthread.php?t=1661612) – Slothworks

2

मैं, आप के लिए एक ऐसी ही समस्या थी सिवाय मेरे मामले में मैं बदल खोल vim का उपयोग करता है, .vimrc में set shell=zsh\ --login निर्दिष्ट करने के द्वारा। हर बार जब मैं एक खोल के माध्यम से में गिरा दिया: श zsh एक ही त्रुटि के साथ कराहना होगा:

Can't add module parameter `mapfile': parameter already exists 

मैं #vim और freenode पर #zsh पर पूछा। पता चला है कि यदि आप एक zsh सत्र के भीतर फिर से zsh चलाने के लिए, आप एक ही त्रुटि दिखाई देगी, और सुझाव दिया गया समाधान बस इतना की तरह अपने .zshrc फाइल करने के लिए &>/dev/null संलग्न करने के लिए है:

zmodload -ap zsh/mapfile mapfile &>/dev/null 

zsh mapfile मॉड्यूल एक बनाता है छद्म-वेरिएबल जो उनकी सामग्री में फ़ाइल नामों को मानचित्रित करता है, और केवल तभी आवश्यक होता है जब आपके पास स्क्रिप्ट्स हों जो वास्तव में $ mapfile का उपयोग करें।

यह वैकल्पिक प्रतीत होता है, लेकिन यह बताया गया कि autoload पैरामीटर वहाँ तो यह केवल जरूरत पड़ने पर लोड हो जाता है, इसलिए करने के लिए/dev लाइन और पाइप शिकायतों रखने में कोई बुराई नहीं होना चाहिए/बातिल

संबंधित मुद्दे