सवाल मैं उबंटू पर बैश को अपना डिफ़ॉल्ट खोल कैसे बना सकता हूं?


मेरे पास एक .bash_profile मेरे घर निर्देशिका में, लेकिन यह लॉगिन पर नहीं चल रहा है। यदि मैं निम्नलिखित करता हूं, तो चीजें अपेक्षा की जाती हैं जैसा कि मैं अपेक्षा करता हूं:

ssh myhost
bash
source ~/.bash_profile

लेकिन आम तौर पर सभी लॉगिन पर होता है। विचार?


80
2017-09-25 12:03


मूल


यह भी सुनिश्चित करें कि आपके पास कोई नहीं है ~/.profile या ~/.bash_login, क्योंकि तीनों में से केवल एक ही सोर्स किया गया है। (मैं सही क्रम भूल गया।) - grawity
शीर्षक में आपके अलग-अलग प्रश्न और आपकी पोस्ट के शरीर में अलग-अलग प्रश्न क्यों हैं? - pabouk


जवाब:


उपयोग:

chsh

अपना पासवर्ड दर्ज करें और उस शेल के पथ को बताएं जिसका आप उपयोग करना चाहते हैं।

बैश के लिए होगा /bin/bash। जेएसएच के लिए होगा /usr/bin/zsh


142
2017-09-25 12:08



+1 - यह सुनिश्चित नहीं है कि ओपी ने फैसला क्यों किया कि पासवर्ड फ़ाइल संपादित करना बेहतर विकल्प था, लेकिन यह सबसे अच्छा जवाब है - kdgregory
हाँ मुझे इसे हराया, यह मानक तरीका है। - John T
और उबंटू पर जिस शेल का आप उपयोग करना चाहते हैं उसका पथ है ... / bin / bash (और / bin / sh समान नहीं है) - Harry Wood
या आप उपयोग कर सकते हैं sudo chsh -s /bin/bash username - Oleg Vaskevich
इस परिवर्तन को देखने के लिए आपको लॉग आउट करना होगा और वापस लॉग इन करना होगा। - Neil Traft


अकीरा के उत्तर के शीर्ष पर, आप अपना संपादन भी कर सकते हैं / Etc / पासवर्ड अपने डिफ़ॉल्ट खोल निर्दिष्ट करने के लिए फ़ाइल।

आपको इस उदाहरण की तरह एक रेखा मिल जाएगी:

john:x:1000:1000:john,,,:/home/john:/bin/sh

खोल अंत में निर्दिष्ट है।


34
2017-09-25 12:09



अकीरा द्वारा सुझाए गए 'chsh' कमांड का उपयोग करने के लिए बेहतर - गलती से कुछ खराब करने का कम मौका। - Lars Haugseth
'chsh' का उल्लेख नहीं करना है जब आप / etc / passwd पर लिख नहीं सकते हैं - quack quixote
लेकिन अगर आपके पास संशोधित करने के लिए पहुंच है /etc/passwd और आप सावधान हैं, जॉन का जवाब सिस्टम द्वारा प्रदान किए जाने वाले टूल का अच्छा उपयोग कर रहा है। - AJP
इस परिवर्तन को देखने के लिए आपको लॉग आउट करना होगा और वापस लॉग इन करना होगा। - Neil Traft
यदि आप उपयोगकर्ता पासवर्ड के बिना सर्वर चला रहे हैं - केवल सार्वजनिक / निजी एसएसएच कुंजी के माध्यम से पहुंच प्रदान करते हैं ... यह भी बहुत समझ में आता है। chsh एक पासवर्ड की आवश्यकता है। - Keith John Hutchison


आप अपना टर्मिनल प्रोग्राम देख सकते हैं। इसे / bin / bash के बजाय चलाने / bin / sh चलाने के लिए कॉन्फ़िगर किया जा सकता है

बैश केवल लॉगिन सत्रों के लिए .bash_profile निष्पादित करता है। .bashrc सभी बैश सत्रों के लिए निष्पादित किया जाता है, न केवल लॉगिन सत्र। .Bashrc से sashcing .bash_profile (सर्कुलर निर्भरता से बचें!) या एक खोल प्रोग्राम के रूप में चलाने / bin / bash -l चलाने के लिए अपने टर्मिनल प्रोग्राम को कॉन्फ़िगर करने का प्रयास करें।


2
2017-09-25 12:14



टर्मिनल प्रोग्राम में समस्या से कोई लेना देना नहीं है क्योंकि यह रिमोट मशीन पर एसएसडीडी है, जो नए खोल को जन्म देता है। - akira


एक विकल्प है अपनी स्टार्टअप स्क्रिप्ट को .profile में पुनर्नामित करना। यह फ़ाइल सबसे ज्यादा स्रोत है यूनिक्स गोले


2
2018-06-01 11:40





बैश सक्षम करें:

$ /bin/bash

उपयोगकर्ता के लिए खोल बदलें:

$ sudo usermod -s /bin/bash username

कहा पे:

  -s, --shell SHELL             new login shell for the user account

0
2018-01-25 18:44



(1) "सक्षम बैश" से आपका क्या मतलब है? (2) उपयोगकर्ता बदलना चाहता है उसका अपना रिमोट सिस्टम पर लॉगिन खोल। आप क्यों मानते हैं कि उसके पास है sudo उस प्रणाली पर पहुंच? आप किसी अन्य उपयोगकर्ता के लॉगिन खोल को बदलने के संदर्भ में निर्देश क्यों प्रदान करते हैं? - G-Man


निश्चित रूप से कहने के लिए आपके प्रश्न में पर्याप्त जानकारी नहीं है, लेकिन मैंने पहले एक ही समस्या को मारा है। मान लें कि आप पहले से ही अपने पासवर्ड एंट्री में / bin / bash सेट कर चुके हैं, यह आपके टर्मिनल लॉन्च होने का तरीका हो सकता है।

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

जिस तरह से मैंने इसे उबंटू पर तय किया है, वह gnome-terminal प्राथमिकताओं को संपादित करना है, और स्टार्टअप कमांड को सेट करना है bash -l-l के लिए छोटा है --login। यह लॉगिन शेल के रूप में स्टार्टअप के लिए बैश को बताता है, जो एसएसएच के माध्यम से लॉग इन करते समय आपको स्टार्टअप स्क्रिप्ट लोड करने का कारण बनता है।

मुझे यकीन है कि इस तरह से एक अच्छा तर्क है, लेकिन मुझे यह आश्चर्यजनक लगता है और थोड़ा परेशान होने के कारण मैं लिनक्स, साइविन और मैकोज़ सिस्टम में एक ही प्रोफाइल साझा करता हूं।


0
2017-09-15 19:37