আমি কীভাবে একাধিক স্ক্রিন সেশন স্বয়ংক্রিয়ভাবে শুরু করতে পারি?


21

আমি একটি কমান্ড তৈরির চেষ্টা করছি যা চালু হয় screen, বিভিন্ন নাম দিয়ে চারটি সেশন তৈরি করে, এবং চারটি পৃথক কমান্ড চালায়।

আমি নিজেই এটি করতে জানি:

1. screen
2. ./command1 args
3. CTRL-A :sessionname Session 1
4. CTRL-A C
5. (GOTO 2)

আমি কি এটি বাশ স্ক্রিপ্ট বা কিছু দিয়ে করতে পারি? কীভাবে করব?

উত্তর:


15

screen -dmS "$SESSION_NAME" "$COMMAND" "$ARGUMENTS"$COMMANDপটভূমিতে চলমান একটি পর্দা ছড়িয়ে দেবে ।

আপনি এর সাথে সক্রিয় সেশনগুলি দেখতে screen -lsএবং এর সাথে পুনরায় যোগাযোগ করতে পারেন screen -r "$SESSION_NAME"

ডেড সেশন দিয়ে হত্যা করা যেতে পারে screen -wipe


ইহা কাজটিকে সফল করে!
হিউজেস

1
এই কমান্ডটি প্রতিটি কমান্ডের জন্য একটি নতুন স্ক্রিন সেশন তৈরি করে। এটি প্রতিটি কমান্ডের জন্য একটি উইন্ডো সমেত একটি একক স্ক্রিন সেশন তৈরি করতে ব্যবহার করা যাবে না (যেমন প্রশ্নটিতে ম্যানুয়াল পদক্ষেপ রয়েছে)। সুতরাং এটি প্রশ্নের উত্তর দেয় না এবং এর .screenrcপরিবর্তে নীচের উত্তরটি গ্রহণ করা উচিত ছিল।
Tey '

মাল্টি-উইন্ডোজ-ওয়ান-সেশনের কোনও বাস্তব সুবিধা আছে যদি আপনি যা কিছু করেন সস্তাভাবে ব্যাকগ্রাউন্ডে কিছু চালিয়ে যেতে চান?
লরেন্সসি

29

একাধিক সেশন স্বয়ংক্রিয়ভাবে শুরু করতে, একটি .screenrcফাইল সেট করুন, স্ক্রিনের জন্য একটি কনফিগার ফাইল file এটিতে আপনি সেশন তৈরি করতে পারেন, প্রোগ্রাম শুরু করতে পারেন, কার্যনির্বাহী dir ইত্যাদি পরিবর্তন করতে পারেন আমি এটি আমার স্ক্রিন সেশনটি আরম্ভ করার জন্য ব্যবহার করি।

একটি স্ক্রিনসিআরসি ফাইলের জন্য সরল নমুনা:

# don't display the copyright page
startup_message off

# increase scrollback buffer size
defscrollback 10000

# create windows
screen -t TODO vim TODO.txt
chdir src
screen -t coding vim main.c
screen -t run 

screenপ্রতিটি উপরে কমান্ড এক পর্দা অধিবেশন তৈরি করুন। -tঅধিবেশন শিরোনাম সেট করে; রেখার বাকি অংশটি হ'ল কমান্ড এবং এর পরামিতিগুলি।

সুতরাং, প্রথম এবং দ্বিতীয় screenলাইনটি একটি সেশন শুরু করে এবং vimভিতরে প্রবেশ করে launch তৃতীয়টি একটি সেশন শুরু করে এবং আপনাকে একটি প্রম্পটে ফেলে দেয় drops chdirপরবর্তী সমস্ত সেশনের জন্য ওয়ার্কিং ডিরেক্টরি পরিবর্তন করে।

আপনি যদি একাধিক .screenrcফাইল রাখতে চান তবে যেভাবে চান তার নাম দিন এবং তার সাথে একটি নির্বাচন করুন screen -c myscreenrc


5

আপনি একসাথে d, m, S বিকল্পগুলি ব্যবহার করতে পারেন:

screen -Sdm s1
screen -Sdm s2
screen -Sdm s3

এস: স্ক্রিন তৈরি করতে

d: একটি পর্দা থেকে বিচ্ছিন্ন

মি: স্ক্রীনটিকে অন্য স্ক্রিনের মধ্য থেকে কল করা হোক বা না করুক না কেন পর্দার সৃষ্টি প্রয়োগ করতে।


3
আকর্ষণীয়, আপনি screen -dmS s1ইত্যাদি এর পরিবর্তে এইভাবে লিখতে পারেন তা আমি জানতাম না, যখন বিকল্পগুলি গোষ্ঠীভুক্ত করার সময়, যুক্তির সাথে শেষটি হওয়া উচিত নয়।
টমাসজ গেন্ডার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.