বাইরে থেকে কোনও স্ক্রিন সেশনে ইনপুট প্রেরণ করা হচ্ছে


18

আমার পরিস্থিতি এটি:

আমার একটি দূরবর্তী লোকেশনে একটি স্ক্রিন সেশন চলছে। এই স্ক্রিনের অভ্যন্তরে একটি কনসোল ভিত্তিক প্রোগ্রাম। যখন স্ক্রিন ছাড়াই চালানো হয় তখন এই প্রোগ্রামটি টার্মিনালে শুরু হয় এবং এর স্ট্যান্ডার্ড ইনপুটটিতে আদেশগুলি গ্রহণ করে।

আমি যা চাই তা হ'ল দূরবর্তীভাবে স্ক্রিনে একটি কমান্ড প্রেরণ করা যাতে কনসোল প্রোগ্রাম দ্বারা এই কমান্ডটি প্রাপ্ত হয়। সম্ভবত এটির মতো:

আমার পিসি -> এসএসএইচ এমএসজি অটো -> স্ক্রিন সেশন -> প্রোগ্রাম প্রেরণ করুন (রান কমান্ড প্রাপ্ত হয়েছে)

সুতরাং একটি রিমোট পিসি থেকে আমি এসএসএইচ কমান্ডের মাধ্যমে স্ক্রিনে প্রেরণ করতে পারি যা তাদের প্রোগ্রামে প্রেরণ করে। প্রোগ্রাম তাদের গ্রহণ করে এবং কার্যকর করে।

উত্তর:


17

যদি আমি সঠিকভাবে বুঝতে পারি তবে আপনি কোনও স্ক্রিন সেশনের অভ্যন্তরে চলমান কোনও প্রোগ্রামে ইনপুট পাঠাতে চান want আপনি এটি পর্দার stuffকমান্ড দিয়ে করতে পারেন । স্ক্রিনের -Xবিকল্পটি কোনও স্ক্রিন সেশনে এটি সংযুক্ত না করে কার্যকর করতে ব্যবহার করুন ।

screen -S sessionname -p windowname -X stuff 'command1
command2
'

আপনি যদি প্রোগ্রামটির আউটপুট দেখতে চান তবে hardcopy, logএবং logfileকমান্ডগুলি দেখুন।


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

@ সাইরেক্স: stuffঅক্ষর প্রেরণ করে, ঠিক যেমন আপনি সেগুলি টাইপ করেছেন। আপনি ঠিক কী চেষ্টা করেছিলেন, উদ্দেশ্য কী ছিল এবং পরিবর্তে কী ঘটেছিল?
গিলস 'অসন্তুষ্ট হওয়া বন্ধ করুন'

আমি দেখতে পাচ্ছি যে আপনি আমি যে ছিল না। সেই অংশটি যুক্ত করা হয়েছে এবং এটি এখন কমান্ডটি প্রেরণ করছে তবে আমি প্রতিটি কমান্ডের জন্য কীভাবে ENTER টিপব?
লুইস আলভারাদো

এটি পেয়েছি। অ্যাডিন্ট $ কোট করার আগে এবং সি এর মধ্যে পালানোর মতো। এই-এক্স স্টাফের মতো users 'ব্যবহারকারীদের দেখান \ n'
লুইস আলভারাডো

@ সাইরেক্স: -pএকাধিক উইন্ডো থাকলে প্রয়োজনীয় (বা কমপক্ষে একটি ভাল ধারণা)। "এন্টার টিপুন" করতে, আমি যেমনটি করেছি ঠিক তেমনি আর্গুমেন্টে একটি নতুন লাইন অন্তর্ভুক্ত করুন (অর্থাত্ উদ্ধৃতিগুলির অভ্যন্তরে)।
গিলস 'তাই খারাপ হওয়া বন্ধ করুন'
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.