অন্য ব্যবহারকারীর স্ক্রিন টার্মিনালে কমান্ড পাঠান


3

আমার দুটি ব্যবহারকারী আছে; ব্যবহারকারী 1 এবং ব্যবহারকারী 2। ব্যবহারকারীর 1 দ্বারা চালিত একটি ব্যাশ স্ক্রিপ্ট আছে, ব্যবহারকারীর দ্বারা শুরু হওয়া একটি স্ক্রীন টার্মিনালে একটি কমান্ড চালানোর প্রয়োজন। পরামর্শ? ধন্যবাদ ম্যাক্স

উত্তর:


4

আপনি যদি এটি দেখতে চান USER2 কমান্ড টাইপ করা?

এর ব্যাপারে screen, তুমি ব্যবহার করতে পার

screen -S user2/sessionname -p windowname -X stuff "~user1/somescript.sh
"

এই টেক্সট টাইপ করা হবে ~user1/somescript.sh (ব্যবহারকারীর হোম ডিরেক্টরির মধ্যে একটি ফাইল উল্লেখ করে) প্রদত্ত পর্দা সেশন একটি নির্দিষ্ট উইন্ডোতে এবং একটি নতুন লাইন পাঠাতে।

(হ্যাঁ, দ্বিতীয় " একটি নতুন লাইন হতে হবে, অন্যথায় আপনি শুধু পাঠ্য পাঠাতে হবে এবং স্ক্রীন সেশনে ফিরে আসতে হবে। বিকল্পভাবে, ব্যবহার করুন $'stuff blah\n' )

এটি করার জন্য আপনাকে লেখার অ্যাক্সেস থাকতে হবে user2/sessionname; বর্ণনা জন্য পর্দা এর ম্যানুয়াল পৃষ্ঠা পড়ুন multiuser এবং acladd


জেনারিক "অন্য tty" রান স্টাফ ক্ষেত্রে, আপনি ব্যবহার করতে পারেন writevt /dev/pts/X sometext; দ্য writevt হাতিয়ার অংশ কনসোল-সরঞ্জাম প্যাকেজ। আপনার distro ব্যবহার করে kbd পরিবর্তে, পেতে writevt.c। এই লিনাক্স নির্দিষ্ট।

অথবা আপনি শুধু user2 দেখতে চান আউটপুট ?

./somescript.sh >& /dev/pts/X

কোথায় /dev/pts/X t2 ডিভাইসটি যা user2 এর স্ক্রিনের সাথে সম্পর্কিত।

আপনি লেখার অ্যাক্সেস প্রয়োজন হবে; এই ব্যবহারকারীর দ্বারা chmod / setfacl দিয়ে দেওয়া যেতে পারে, অথবা আপনি ব্যবহার করতে পারেন sudo

( >& file সমতুল্য > file 2>&1, যা স্টেডাউট এবং stderr উভয় প্রদত্ত ফাইলে পুনঃনির্দেশিত করে।)


উত্তরের জন্য ধন্যবাদ; স্পষ্ট করার জন্য, আমাকে প্রথম লক্ষ্যটি সম্পন্ন করতে হবে (যেমন ব্যবহারকারী ২ কমান্ড টাইপ করেছেন)। পর্দা, এবং windowname মধ্যে পার্থক্য কি? আমি স্ক্রীনের জন্য ম্যান পৃষ্ঠা দেখেছি, কিন্তু কিছু খুঁজে পাচ্ছি না। ধন্যবাদ
Ben

@ মাজাজজঃ একজন ব্যবহারকারীর একাধিক 'পর্দা' সেশন থাকতে পারে (আমি মনে করি আমি ব্যবহার করা উচিত sessionname বরং স্ক্রিন নাম )। প্রতিটি অধিবেশন একাধিক উইন্ডো থাকতে পারে। (একটি টাইল্ড বিন্যাসে প্রদর্শিত একাধিক উইন্ডোজ সাধারণ: সি-একটি :split )
grawity

এবং যদি আপনার কাছে শুধুমাত্র একটি উইন্ডো থাকে তবে এর নাম কী হবে? এটি একটি ডিফল্ট নাম আছে, নাকি আমাকে এটি কোথাও খুঁজে পেতে হবে?
Ben

@ মাজাজজঃ শুধু-প বিকল্পটি বাদ দিন।
grawity

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