সহজ উপায় হ'ল একটি টাইম মেশিন উদ্ভাবন করা, বিভিন্ন ব্যক্তি যারা শেল স্টার্টআপ ফাইলগুলি তৈরি করেছিলেন তাদের সাথে যান এবং তাদের পরিষ্কারভাবে তিনটি জিনিসের মধ্যে পার্থক্য করতে বলুন:
- সেশন সেটআপ, উদাহরণস্বরূপ পরিবেশ পরিবর্তনশীল;
- অধিবেশন প্রবর্তন, উদাহরণস্বরূপ, কমান্ড-লাইন শেল বা উইন্ডো ম্যানেজার শুরু করা বা চলমান
startx;
- শেল প্রারম্ভিককরণ, যেমন এলিয়াস, প্রম্পট, কী বাইন্ডিং।
ঠিক পোর্টেবল উপায়ে সেশন বনাম শেল পাওয়া খুব বেশি কঠিন নয়: লগইন-সময় সূচনাটি .profile(বা .zprofile, বা .login) মধ্যে যায়, শেল ইনিশিয়ালাইজেশন যায় .bashrcবা হয় .zshrc। আমি এর আগে লিখেছিলাম .bash_profile, জেডএস বনাম অন্যান্য শেল , বহনযোগ্যতা সম্পর্কে (বেশিরভাগ বাশ সম্পর্কে) আরও.profile , কে পড়েন সে সম্পর্কে আরও ।
একটি অবশিষ্ট সমস্যা সেশন সেটআপ এবং সেশন আরম্ভের মধ্যে পার্থক্য করে। বেশিরভাগ ক্ষেত্রে, ~/.profileযখন আপনি লগ ইন করেন তখন কার্যকর হয় এবং উভয় হিসাবে দ্বিগুণ করতে পারেন তবে ব্যতিক্রমগুলি রয়েছে:
- যদি আপনার লগইন শেলটি (টি) csh বা zsh হয়
~/.loginএবং এর ~/.zprofileপরিবর্তে উত্সাহিত হয় ~/.profile। ব্যাশ এবং জন্য পূর্বোক্ত ~/.bash_profile, কিন্তু এই সহজে গুন দ্বারা মীমাংসিত হয় ~/.profileথেকে ~/.bash_profile।
- আপনি যদি কোনও ডিসপ্লে ম্যানেজারের অধীনে (xdm, gdm, kdm,…) লগ ইন করেন তবে আপনার পড়াটি
~/.profileপ্রোগ্রামের সংস্করণ, আপনার বিতরণ (লিনাক্স বা অন্যথায়) এবং আপনি কোন সেশনের ধরণের উপর নির্ভর করে তার উপর নির্ভর করে।
- আপনি যদি আপনার জন্য একটি সেশন শুরু করার জন্য ডিসপ্লে ম্যানেজারের উপর নির্ভর করেন তবে আপনার
.profileঅবশ্যই পরিবেশের ভেরিয়েবল সেট করতে হবে তবে একটি সেশন শুরু করবেন না (যেমন উইন্ডো ম্যানেজার)।
- এক্স সেশনগুলির জন্য traditionalতিহ্যবাহী কনফিগারেশন ফাইলটি
~/.xsessionসেশন সেটআপ এবং সেশন প্রবর্তন উভয়ই করে। সুতরাং ফাইলটি মূলত হতে পারে . ~/.xsession; . ~/.xinitrc। কিছু বিতরণ উত্স ~/.profileআগে ~/.xsession। আধুনিক বিতরণগুলি কেবল ~/.xsessionতখনই উত্স হয় যখন আপনি ডিসপ্লে ম্যানেজারের কাছ থেকে একটি "কাস্টম" সেশনটি নির্বাচন করেন এবং এই জাতীয় সেশনটি সর্বদা উপলব্ধ থাকে না।
- আপনার সেশন ম্যানেজারের পরিবেশের ভেরিয়েবলগুলি সেট করার নিজস্ব নিজস্ব পদ্ধতি থাকতে পারে। (এটি আপনার ডেস্কটপ এনভায়রনমেন্টের একটি partচ্ছিক অংশ, আপনার দ্বারা একটি কনফিগারেশন ফাইলের মাধ্যমে বা লগ ইন করার সময় একটি সেশনের ধরণের নির্বাচন করে নির্বাচিত; ডিসপ্লে ম্যানেজার দ্বারা প্রদত্ত সেশন প্রারম্ভিক স্ক্রিপ্টগুলির সাথে এটি বিভ্রান্ত করবেন না, যা আপনার ব্যবহারকারীর অধীনে কার্যকর হয় তবে সিস্টেম-ওয়াইড ভিত্তিতে বেছে নেওয়া হয়েছে Yes হ্যাঁ, এটি একটি গোলযোগ।
সংক্ষেপে, ~/.profileপরিবেশ ভেরিয়েবলের জন্য সঠিক জায়গা। যদি এটি না পড়ে থাকে তবে এটি থেকে সোর্স করার চেষ্টা করুন ~/.xsession(এবং সেখান থেকে আপনার এক্স প্রোগ্রামগুলি শুরু করুন), বা সিস্টেম-নির্দিষ্ট পদ্ধতির সন্ধান করুন (যা আপনার বিতরণ, ডিসপ্লে ম্যানেজারের উপর নির্ভর করে যদি ডিসপ্লে ম্যানেজার, সেশন টাইপ এবং ডেস্কটপ পরিবেশ বা সেশন ম্যানেজার)।
.profileআদৌ লোড হয় না, বা অন্য কিছু লোকেল ভেরিয়েবলগুলি ওভাররাইট করছে? (যেমন কিছু অন্যান্য পরিবর্তনশীল সেটিং ব্যবহার করে দেখুনexport MACIEJ_PROFILE=yesনিশ্চিত করতে।set -xএ.profileকি মৃত্যুদন্ড কার্যকর করা হচ্ছে এবং পরে চেক করতে একটি ভালো উপায় হতে পারে.profile, যদি তা একবারেই পড়া যাচ্ছে না।) গুন করে কোনো লাভ নেই.profileথেকে.zshrc।