আমার .bashrc এ "স্ক্রিন-আর" লাগানো কি ভাল ধারণা?


17

আমি আমার সার্ভারে ssh সেশনগুলি বাঁচিয়ে রাখতে স্ক্রিন ব্যবহার করতে চাই। লগ ইন করার সময় আমি যদি স্বয়ংক্রিয়ভাবে আমার ব্যবহারকারীর জন্য কোনও চলমান সেশন পুনরায় শুরু করতে পারি তবে এটি দুর্দান্ত হবে। আমি কেবল ভাবছি যে এটি এমন শর্তে কিছু ভেঙে ফেলবে যা আমি এখনও পরীক্ষা করি নি। এখানে অভিজ্ঞতার সাথে যে কেউ আমাকে বলতে পারে এটি আমার করা উচিত কিনা?

উত্তর:


20

আপনার উপস্থিতি screen -R -dদুটি বিদ্যমান থাকা সেশনে স্বয়ংক্রিয়ভাবে সংযুক্ত হওয়া প্রয়োজন এবং যদি একটি সেশন তৈরি করে অন্যথায়।

নিশ্চিত করুন যে আপনি এটি কেবল ইন্টারেক্টিভ শেলগুলিতেই করছেন~/.bashrcএমনকি এর অবিভাবনীয় শেলের জন্য বাশ উত্সগুলি যখন তার মূল প্রক্রিয়াটি আরএসডি বা এসএসডি করা হয় (এটি ডকুমেন্টেশনে উল্লেখ করা হয়েছে, তবে এটি মিস করা সহজ)। আপনি শেলটি ইন্টারেক্টিভ বলতে পারেন কারণ $-এতে রয়েছে i

case $- in
  *i*) screen -Rd;;
esac

এটি আপনাকে সহজেই বিভিন্ন টার্মিনালগুলিতে বিভিন্ন স্ক্রিন সেশন চালাতে দেয় না।

আপনাকে পর্দা থেকে আলাদা করতে হবে, তারপরে লগ আউট করার জন্য প্যারেন্ট শেলটি থেকে প্রস্থান করুন। exec screenপরিবর্তে ব্যবহার করে এটি সমাধান করা যেতে পারে screen

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

case "/$(ps -p $PPID -o comm=)" in
  */sshd) screen -R -d;;
esac

আপনি যখন .bashrcকোনও ত্রুটি হিসাবে শেল থেকে বেরিয়ে আসার কারণ হিসাবে জটিল জিনিসগুলি ব্যবহার করেন তখন লগইন করতে অসুবিধা হয় careful


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

ssh -t host.example.com screen -R -d

(আপনি সম্ভবত ক্লায়েন্টে একটি শেল ওরফে বা ডেস্কটপ এনভায়রনমেন্ট শর্টকাট তৈরি করতে পারেন way) আপনি সহজেই স্ক্রিনটি চালাবেন না, বিকল্প সেশনের নাম উল্লেখ করতে পারেন।


পারফেক্ট। ম্যান পেজে থাকা উচিত।
মার্চ

Ssh চালানো screen -D -Rকি আরও ভাল নয় screen -D -RR?
নিিউটেক

2

আপনার এক্স সার্ভার প্রারম্ভিক স্ক্রিপ্টগুলি প্রায়শই একটি নতুন শেল শুরু করে, যেমন আপনি যদি "ব্যবহারকারী সংজ্ঞায়িত সেশন" ব্যবহার করে জিডিএম ব্যবহার করে লগইন করেন।

আমি মনে করি যে প্রস্থান থেকে বের হয় না এমন কোনও কিছুই আপনার এক্স স্টার্টআপটি স্তব্ধ হতে পারে। এটি অন্তর্ভুক্ত করা হবে screen -r


এক্স সার্ভার স্টার্টআপ স্ক্রিপ্টগুলি চলবে না .bashrc। তবে অন্যান্য পরিস্থিতি রয়েছে যেখানে এটি একটি সমস্যা হতে পারে, উদাহরণস্বরূপ দৌড়ানোর সময় ssh host.example.com somecommand(অদ্ভুতভাবে, বাশ .bashrcতখন চালানো হয় )।
গিলস 'দুষ্ট হওয়া বন্ধ করুন'

আপনি যদি "ব্যবহারকারী সংজ্ঞায়িত সেশন" চয়ন করেন তবে এটি কিছুটা ডিস্ট্রোজে রয়েছে। উবুন্টুতে এটি প্রোফাইলে সূচিত করে, অন্যরা লগইন শেলের ভিতরে থেকে .xsession কল করে, যার অর্থ সাধারণত .bash_profile এবং বেশিরভাগ ব্যবহারকারী তাদের .bash_profile এর ভিতরে থেকেই .brcrc উত্স করে।
মাইকেল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.