আমি কীভাবে বাবাকে উবুন্টুতে আমার ডিফল্ট শেল করব?


101

.bash_profileআমার নিজের হোম ডিরেক্টরিতে একটি রয়েছে তবে এটি লগইনে চালিত হচ্ছে না। আমি যদি নিম্নলিখিতটি করি তবে জিনিসগুলি আমার প্রত্যাশা মতো মনে হচ্ছে:

ssh myhost
bash
source ~/.bash_profile

তবে সাধারণত লগইন এ সব ঘটে। থটস?


3
এছাড়াও নিশ্চিত করুন যে আপনি একটি আছে না তা নিশ্চিত করুন ~/.profileবা ~/.bash_loginতিন মাত্র এক হিসাবে, sourced হয়। (আমি যথাযথ
ক্রমটি

3
শিরোনামে আপনার আলাদা প্রশ্ন এবং আপনার পোস্টের শরীরে আলাদা প্রশ্ন রয়েছে কেন?
পাবুক

উত্তর:


170

ব্যবহার করুন:

chsh

আপনার পাসওয়ার্ডটি প্রবেশ করান এবং আপনি যে শেলটি ব্যবহার করতে চান তার পথটি লিখুন।

বাশের জন্য যে হবে /bin/bash। Zsh জন্য যে হবে /usr/bin/zsh


15
+1 - কেন ওপি সিদ্ধান্ত নিয়েছে যে পাসওয়ার্ড ফাইল সম্পাদনা করা আরও ভাল পছন্দ ছিল তবে এটি সেরা উত্তর
কেডগ্রিগরি

1
হ্যাঁ আমাকে এটি মারধর, এটি স্ট্যান্ডার্ড উপায়।
জন টি

1
এবং উবুন্টুতে আপনি যে শেলটি ব্যবহার করতে চান তার পথটি হ'ল ... / বিন / বাশ (এবং / বিন / শ এক নয়)
হ্যারি উড

49
বা আপনি ব্যবহার করতে পারেনsudo chsh -s /bin/bash username
ওলেগ ভাস্কেভিচ

7
এই পরিবর্তনটি দেখতে আপনাকে অবশ্যই লগ আউট এবং লগ ইন করতে হবে।
নিল ট্রাফট

37

আকিরার উত্তরের উপরে, আপনি নিজের ডিফল্ট শেলটি নির্দিষ্ট করতে নিজের / ইত্যাদি / পাসডাব্লুডি ফাইল সম্পাদনা করতে পারেন ।

আপনি এই উদাহরণের মতো একটি লাইন পাবেন:

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

শেলটি শেষে নির্দিষ্ট করা আছে।


8
আকিরের পরামর্শ অনুসারে 'chsh' কমান্ড ব্যবহার করা ভাল - ভুল করে কিছু ভুল করার সুযোগ কম।
লার্স হগসেট 13

5
'chsh' উল্লেখ না পাওয়া যায় যখন আপনি / etc / passwd কোন লিখতে পারি না
হাতুড়ে Quixote

1
তবে যদি আপনার এটির সংশোধন করার অ্যাক্সেস থাকে /etc/passwdএবং আপনি সতর্ক হন তবে জন এর উত্তর সিস্টেম সরবরাহ করে এমন সরঞ্জামগুলির সদ্ব্যবহার করছে।
এজেপি

3
এই পরিবর্তনটি দেখতে আপনাকে অবশ্যই লগ আউট এবং লগ ইন করতে হবে।
নিল ট্রাফট

2
যদি আপনি ব্যবহারকারীর পাসওয়ার্ড ছাড়াই কোনও সার্ভার চালাচ্ছেন - কেবলমাত্র সরকারী / বেসরকারী এসএসএস কীগুলির মাধ্যমে অ্যাক্সেস সরবরাহ করছেন ... এটিও অনেক অর্থবোধ করে। chsh এর একটি পাসওয়ার্ড প্রয়োজন।
কিথ জন হাচিসন

4

আপনি আপনার টার্মিনাল প্রোগ্রামটি পরীক্ষা করতে পারেন। এটি / বিন / বাশের পরিবর্তে / বিন / শ চালানোর জন্য কনফিগার করা যেতে পারে

বাশ শুধুমাত্র লগইন সেশনের জন্য .bash_ প্রোফাইলে চালায়। .Bashrc কেবলমাত্র লগইন সেশন নয়, সমস্ত ব্যাশ সেশনের জন্য কার্যকর করা হয়। .Bashrc (। বৃত্তাকার নির্ভরতা এড়ান!) থেকে .bash_ প্রোফাইলে উত্সাহিত করার চেষ্টা করুন বা আপনার টার্মিনাল প্রোগ্রামটিকে শেল প্রোগ্রাম হিসাবে চালাতে / বিন / বাশ-এল কনফিগার করুন।


2
টার্মিনাল প্রোগ্রামটির সমস্যার সাথে কোনও সম্পর্ক নেই কারণ এটি রিমোট মেশিনে থাকা এসএসডিডি, যা নতুন শেলটি তৈরি করে।
আকির

2

একটি বিকল্প হ'ল আপনার প্রারম্ভিক স্ক্রিপ্টটির নাম। প্রোফাইলে নামকরণ। এই ফাইলটি বেশিরভাগ ইউনিক্স শেল দ্বারা উত্স করা হচ্ছে ।


2

বাশ সক্ষম করুন:

$ /bin/bash

ব্যবহারকারীর জন্য শেল পরিবর্তন করুন:

$ sudo usermod -s /bin/bash username

কোথায়:

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

2
(1) "সক্ষম বাশ" বলতে কী বোঝ? (২) ব্যবহারকারী রিমোট সিস্টেমে নিজের লগইন শেলটি পরিবর্তন করতে চান । আপনি কেন ধরে নিলেন যে sudoসেই সিস্টেমে তার অ্যাক্সেস রয়েছে ? অন্য ব্যবহারকারীর লগইন শেল পরিবর্তনের ক্ষেত্রে আপনি কেন নির্দেশাবলী সরবরাহ করেন?
জি ম্যান

Chsh ব্যবহার করা (উপরে প্রস্তাবিত হিসাবে) আমার কাজ করে না। এই আদেশ করেছে!
পার লিন্ডবার্গ

1

যেকোন শেলকে আপনার ডিফল্ট করতে, প্রথমে এটি আপনার কম্পিউটারে ইনস্টল করা হয়েছে এবং যাচাই করা আছে তা যাচাই করে নিন /etc/shells:

$ cat /etc/shells
# /etc/shells: valid login shells
/bin/sh
/bin/bash
/usr/bin/bash
/bin/rbash
/usr/bin/rbash
/bin/dash
/usr/bin/dash
/usr/bin/fish

তারপরে chshআপনার শেলটি পরিবর্তন করতে ব্যবহার করুন :

$ sudo chsh -s /usr/bin/bash $(whoami) # or sudo chsh -s /bin/bash $(whoami)

তথ্যসূত্র

  1. https://linux.die.net/man/1/cat
  2. https://linux.die.net/man/1/whoami
  3. https://linux.die.net/man/5/shells
  4. https://linux.die.net/man/1/chsh

0

আপনার প্রশ্নে আমার কাছে নিশ্চিতভাবে বলতে যথেষ্ট তথ্য নেই, তবে আমি আগেও একই সমস্যাটি পেয়েছি। ধরে নিই যে আপনি ইতিমধ্যে আপনার পাসওয়ার্ড এন্ট্রিতে / বিন / বাশ সেট পেয়েছেন, এটি আপনার টার্মিনালটি যেভাবে চালু হবে তা হতে পারে।

আপনি যদি কোনও জিইউআই টার্মিনাল চালু করার চেষ্টা করছেন, বলুন gnome-terminalআপনি শ্যাশটি আপনার ব্যাশ স্টার্টআপ ফাইলগুলি পড়বেন বলে আশা করছেন। তবে এটি উবুন্টু এবং সম্ভবত অন্যান্য সিস্টেমে ডিফল্টরূপে ঘটে না।

উবুন্টুতে আমি যেভাবে এটি স্থির করেছি তা হ'ল জিনোম-টার্মিনাল পছন্দগুলি সম্পাদনা করা এবং স্টার্টআপ কমান্ডটি সেট করা bash -l-lজন্য সংক্ষিপ্ত --login। এটি বাশকে লগইন শেল হিসাবে স্টার্টআপকে বলে, যার ফলে এটি ssh এর মাধ্যমে লগ ইন করার সাথে সাথে স্টার্টআপ স্ক্রিপ্টগুলি লোড করে দেয়।

আমি নিশ্চিত যে এটি হ'ল এটির পক্ষে একটি ভাল যুক্তি রয়েছে তবে আমি লিনাক্স, সাইজিন এবং ম্যাকোস সিস্টেমগুলিতে একই প্রোফাইলগুলি ভাগ করে নেওয়ার কারণে আমি অবাক এবং কিছুটা বিরক্তিকর চেয়েও বেশি পেয়েছি।

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