পুনরায় সংযুক্তি বা একটি নামযুক্ত স্ক্রিন সেশন তৈরি করবেন? (বা অবিচ্ছিন্ন স্ক্রিন সেশন)


27

মূলত আমার একটি রিমোট স্ক্রিন সেশন রয়েছে, যা আমি স্বয়ংক্রিয়ভাবে পুনরায় যোগাযোগ করতে চাই Currently বর্তমানে আমি নিম্নলিখিত কমান্ডটি দিয়ে এটি করছি (আইটির্ম বুকমার্ক, বা একটি উপাধি হিসাবে)

ssh host -t screen -x thesessionname

এটি দুর্দান্ত কাজ করে, তবে যদি সেশনটি যে কোনও কারণে মারা যায় তবে আমি পরবর্তী সংযোগ করার সময় এটি পুনরায় তৈরি করা চাই। -Rজন্য তা পতাকাঙ্কিত screenহয় প্রায় নিখুঁত:

ssh host -t screen -R -S thesessionname

.. তবে সেশনটি ইতিমধ্যে সংযুক্ত থাকলে, দ্বিতীয় অধিবেশনটি তৈরি হয় ( -Rপ্রথম বিচ্ছিন্ন সেশনের জন্য সাধারণ চেহারা হিসাবে , যদি কোনওটি না পাওয়া যায় তবে এটি একটি নতুন তৈরি করে)

-Rসংযুক্ত অধিবেশনগুলির জন্য পতাকাটিকে দেখার জন্য কী কোনও উপায় আছে এবং thesessionnameঅস্তিত্ব না থাকলে কেবল একটি নতুন তৈরি করতে পারে?

এটি যদি সহজেই সম্ভব না হয় তবে পর্দার সেশনটি মারা যাওয়ার পরে আমি কীভাবে স্বয়ংক্রিয়ভাবে পুনরায় তৈরি করতে পারি? সম্ভবত ক্রোন দ্বারা চালিত কোনও স্ক্রিপ্ট যা নামকরণ করা অধিবেশনটি সন্ধান করে, এটি তৈরি করে কি এটি উপস্থিত থাকা উচিত নয়?

উত্তর:


32

চেষ্টা করার বিষয়ে স্ক্রিনটিকে কিছুটা স্থির থাকতে বলুন:

-D -R
    Attach here and now. In detail this means: If a session is run-
    ning,  then  reattach.  If necessary detach and logout remotely
    first.  If it was not running create it and  notify  the  user.
    This is the author's favorite.

সুতরাং দুটিকে একত্রিত করুন এবং আপনার সমাধান হওয়া উচিত ("-DR" "-D -R" এর সমতুল্য):

screen -DR <yoursession> 

অতিরিক্ত এবং জেনে রাখা দরকারী, আপনি চলমান সেশনগুলি এর সাথে দেখতে পারেন:

screen -ls

5
পারফেক্ট, screen -x -R -S mainআমি যা ব্যবহার করে শেষ করেছি (বাধ্য-বিচ্ছিন্নতা ছাড়াই একই কাজ করে), ধন্যবাদ!
dbr

কখনও কখনও আপনি ব্যবহার করতে চান sceen -r <yoursession>, এটি ইতিমধ্যে সংযুক্ত হওয়ার পরে একটি ত্রুটি দেবে (নতুন সেশন তৈরি করার পরিবর্তে)।
বিপদ 89

11

কয়েকটি ভাল বিকল্প। প্রথম, আমার প্রিয়:

screen -x -R

এটি উপলব্ধ প্রথম স্ক্রিন সেশনে সংযুক্ত হবে (অন্য সংযোগটি সংযুক্ত থাকলে ভাগ করে নেওয়া), এবং কোনও স্ক্রিন সেশন না থাকলে, একটি নতুন শুরু করুন।

screen -d -RR

এর জন্য দস্তাবেজগুলি "একটি সেশন পুনরায় সংযুক্ত করুন এবং প্রয়োজনে এটি আলাদা করে রাখুন বা তৈরি করুন one একাধিক অধিবেশন উপলব্ধ থাকলে প্রথম সেশনটি ব্যবহার করুন।" মূলত, ডাবল-আর এটি সংযুক্ত হওয়ার জন্য প্রথম সেশনের সন্ধান করে।

screen -D -RR

"এখানে এবং এখন সংযুক্ত করুন that এর অর্থ যাই হোক না কেন, কেবল এটি করুন" " অন্য সংযুক্ত সেশনগুলি আলাদা এবং দূরবর্তীভাবে লগআউট করবে এবং এটি প্রথম সেশনে এটি সংযুক্ত করবে। মূলত, বিদ্যমান সেশনে সংযুক্ত করার জন্য যা যা করা দরকার তা করে এবং সেখানে কিছু না থাকলে একটি নতুন তৈরি করে।

খুব প্রথম (-x -R) সমস্যা হবার সম্ভাবনা সবচেয়ে কম (আপনার অন্য সংযোগটি বিচ্ছিন্ন করবে না) তবে সংযুক্ত করার মতো কিছু আছে এবং কিছু সংযুক্ত করার মতো কিছু না থাকলে কেবল সাদামাটা সবসময় কোনও কিছুতে সংযুক্ত থাকে।


1
এগুলি সবই দুর্দান্ত / সহজ বিকল্প, তবে এগুলির কোনওটিই মূল প্রশ্নের উত্তর দেয় না, যা নাম দিয়ে কোনও সেশনে (পুনরায়) সংযুক্ত হতে হয়েছিল
ড্যানিয়েল

5

আমি ব্যবহার করি

screen -dRRS sessname

অন্যান্য শেলটিতে আমার সম্পূর্ণ লগইনটি যেমন বাদ পড়েছে তেমনটি চাই -Dনা এবং আমি অবশ্যই মাল্টি-সংযুক্তি মোডটি চাই না -x

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