ওয়েল, "গ্রাফিকাল লগইনস" সম্পর্কে এটি নির্ভর করে যে আপনি * ডিএম ব্যবহার করেন ...
জিডিএম সহ (জিনোম ৩.১৮) আমার কাছে এটি রয়েছে:
জন্য / etc / gdm / Xsession
#!/bin/sh <= *important*
...
# First read /etc/profile and .profile
test -f /etc/profile && . /etc/profile
test -f "$HOME/.profile" && . "$HOME/.profile"
# Second read /etc/xprofile and .xprofile for X specific setup
test -f /etc/xprofile && . /etc/xprofile
test -f "$HOME/.xprofile" && . "$HOME/.xprofile"
সুতরাং, ~ / .profile ব্যবহার করে লগইন মধ্যে sourced পরার / বিন / SH এবং / বিন / ব্যাশ
দুটি মামলা আছে
- / বিন / SH লিঙ্ক করা হয়েছে / বিন / ব্যাশ কিন্তু "POSIX / বোর্ন" মোডে রান
- / বিন / শ হ'ল / বিন / ড্যাশ (ডেবিয়ান / উবুন্টু)। দ্রুততম তবে কম বৈশিষ্ট্যযুক্ত (শেলশক সমর্থন;) )
সুতরাং / বিন / শ প্রোফাইলটি ~ /। প্রোফাইল এবং ~ / .বাশ_প্রোফাইল নয়, ~ / .zprofile
এই ফাইলটি "শেল অজোনস্টিক" সেটিংসের জন্য যেমন পথ এবং পরিবেশের ভেরিয়েবলগুলি ব্যবহার করা উচিত।
লগইন-কেবল ব্যবহারকারীর ইন্টারঅ্যাকশনের জন্য কোনও এক্সিকিউটেবল প্রোগ্রাম হওয়া উচিত এখানে নয় (মেল চেক, ভাগ্য ইত্যাদি ...)
~ /.* আরসি কেবলমাত্র "ইন্টারেক্টিভ" সেশনের জন্য বোঝানো হয় (উদাহরণস্বরূপ এলিয়াস ...)
ইন্টারেক্টিভ লগইন শেলগুলির জন্য বাশ এবং zsh এর মধ্যে পার্থক্য রয়েছে
কেবল বাশ উত্স .bash_profile, যখন zsh উত্স ক্রমে:
- ~ / .Zprofile
- ~ / .Zshrc
- inte / zlogin (এখানে inte / .zshrc এ সংজ্ঞায়িত উপকরণগুলি উপলভ্য। "ইন্টারেক্টিভ" + "লগইন" শেলসের ক্ষেত্রে
সঠিক পদ্ধতিতে b / .bash_ প্রোফাইলে এখানে উত্তর দেওয়া হয়েছিল:
.Bashrc এবং .bash_profile এর মধ্যে পার্থক্য
if [ -r ~/.profile ]; then . ~/.profile; fi
case "$-" in *i*) if [ -r ~/.bashrc ]; then . ~/.bashrc; fi;; esac
পরীক্ষা সক্ষম করতে (এবং প্রোফাইলিং), আপনি এটি ব্যবহার করতে পারেন
~ / .Bash_profile:
#!/bin/bash
# ------------------------------------------------
export _DOT_BASH_PROFILE_0=`date --rfc-3339=ns`
# ------------------------------------------------
if [ -f ~/.profile ] ; then
. ~/.profile
fi
case "$-" in *i*) if [ -r ~/.bashrc ]; then . ~/.bashrc; fi;; esac
# ------------------------------------------------
export _DOT_BASH_PROFILE_1=`date --rfc-3339=ns`
# ------------------------------------------------
~ / .Zprofile:
#!/bin/zsh
# ------------------------------------------------
export _DOT_ZSH_PROFILE_0=`date --rfc-3339=ns`
# ------------------------------------------------
if [ -f ~/.profile ] ; then
. ~/.profile
fi
# no need to source, zsh already handle ~/.zshrc
###case "$-" in *i*) if [ -r ~/.zshrc ]; then . ~/.zshrc; fi;; esac
# ------------------------------------------------
export _DOT_ZSH_PROFILE_1=`date --rfc-3339=ns`
# ------------------------------------------------
তারপরে, পরীক্ষা করতে:
chsh -s /bin/bash
ssh localhost
env
exit
ssh localhost env
ssh -t localhost bash -i -c env
chsh -s /bin/zsh
ssh localhost
env
exit
ssh localhost env
ssh -t localhost bash -i -c env
সুতরাং আরভিএম / ভার্চুয়ালেনভকে আইএমএইচও / pr / প্রোফাইলে যেতে হবে
কিন্তু এই না কাজ , কখনও কখনও ...
উদাহরণস্বরূপ, শেরে চলমান এক্সসিশনটি "আসল" বাশ (BASH_VERSION রফতানি করে) কেবল তখনই ভাইরাসুয়েলভ্রাপার কাজ করে
আপনি যদি কোনও ড্যাশ সিস্টেমে থাকেন তবে পরিবেশের পরিবর্তনশীল এবং পাথ সেটিংয়ের কাজ করে তবে ভাইরাসুয়েলভারপ্যাপার ফাংশন সংজ্ঞাটি কাজ করে না কারণ স্ক্রিপ্টটি পসিক্সের সাথে সামঞ্জস্যপূর্ণ নয়।
স্ক্রিপ্টটি কোনও ত্রুটি দেয় না তবে এটি কোনও "ওয়ার্কন" সংজ্ঞা ছাড়াই শেষ হয় ।
সুতরাং আপনি ক্লায়েন্ট থেকে সঠিক অজগর এক্সিকিউশন সক্ষম করতে এক্স / থেকে সরাসরি শুরু করে: পরিবেশকে হাতের মুঠোয় সেট করতে পারেন :
export VIRTUAL_ENV="/home/mike/var/virtualenvs/myvirtualenv"
export PATH="$VIRTUAL_ENV/bin:$PATH"
unset PYTHON_HOME
https://gist.github.com/datagrok/2199506
https://www.bountysource.com/issues/9061991-setting-up-your-computer-virtualenvwrapper-linux-all
তবে ভাইরুয়েলেনভ্রাপারের জন্য আপনার কাছে দুটি বিকল্প রয়েছে:
- উৎস এটা ~ / .bash_profile বা ~ / .zprofile (অথবা ~ / .zlogin) লগ-ইন শেল যখন টার্মিনাল কাজ
- script / .bashrc বা ash / zshrc এ স্ক্রিপ্ট অন্তর্ভুক্ত করুন
এর অর্থ X গ্রাহক (উদাহরণস্বরূপ emacs) গ্রাফিকালটি থেকে নয় টার্মিনাল শেল থেকে শুরু করা উচিত!
"আমি সন্তুষ্টি পেতে পারি না ..."