উত্তর:
xmessage
টুল আপনি ঠিক করতে দেয়; ভিতরে একটি পাঠ্য বার্তা সহ ব্যবহারকারীদের কাছে একটি পপআপ উইন্ডো উপস্থাপন করুন।
উদাহরণ: ইউজার 2 বাক্স এবং ইস্যুতে একটি BASH সেশনে লগ করে:
export DISPLAY=':0.0'
xmessage "some message here"
আপনি যদি কোনও টিএসসিএইচ সেশনে লগইন করেন তবে এটি এমন কিছু হবে:
setenv DISPLAY ':0.0'
xmessage "some message here'
বিকল্পভাবে, আপনি দুটি উপায়ের একটিতে টার্মিনাল সেশনে বার্তা পাঠাতে পারেন:
ব্যবহার wall
(= সব [ব্যবহারকারীদের] সাবধান থাকুন)
ম্যান পৃষ্ঠা থেকে:
ওয়াল ফাইলের সামগ্রীগুলি বা ডিফল্টরূপে, এর স্ট্যান্ডার্ড ইনপুটটি বর্তমানে লগ ইন থাকা সমস্ত ব্যবহারকারীদের টার্মিনালে প্রদর্শন করে।
আপনি যদি কোনও নির্দিষ্ট ব্যবহারকারীকে লক্ষ্য করতে চান তবে ব্যবহার করুন write
। আবার মানুষ আমাদের বলে:
রাইট ইউটিলিটিটি আপনাকে আপনার টার্মিনাল থেকে লাইনটি অনুলিপি করে অন্যান্য ব্যবহারকারীর সাথে যোগাযোগের অনুমতি দেয়।
xmessage
তবে কীভাবে এটি চালানো যায় user1
এবং এই ছোট উইন্ডোটির user2
পর্দায় খোলা যায় ? এটা কি সম্ভব?
একটি নিয়ম হিসাবে, এক্স 11 সেশনগুলি সাধারণত "ব্যক্তিগত" মোডে শুরু করা হয়, সুতরাং আপনার দুটি বিষয়গুলির মধ্যে একটির প্রয়োজন: হয়, user2
তাদের স্ক্রিনগুলি অ্যাক্সেস করার জন্য আপনাকে সম্মতি দিন , বা তাদের পর্দার "ব্রেক ইন" করার সুপারভাইজার সুবিধাগুলি।
বিপদজনক: মনে রাখবেন, একবার আপনি যদি তাদের স্ক্রিনে অ্যাক্সেস পেয়ে যান, আপনি ক্যাপচার কীস্ট্রোকগুলি (সম্ভাব্যভাবে পাসওয়ার্ড সহ) ক্যাপচার এবং স্ক্রিনশট গ্রহণের মতো কাজও করতে পারেন, সুতরাং এটি একটি বড় সুরক্ষা ঝুঁকি।
ইন অধিকাংশ ক্ষেত্রেই এটা পরিবর্তে একটি মেসেজিং টুল বা এই জিনিসের জন্য চ্যাট প্রোগ্রাম ব্যবহার করা বাঞ্ছনীয়।
গুহাগুলি একদিকে:
সহযোগী
যদি তাদের স্ক্রিন অ্যাক্সেস user2
করার অনুমতি user1
দিতে চান , তবে প্রথমে user2
অবশ্যই একটি কমান্ড জারি করতে হবে:
xhost +si:localuser:user1
এটি সম্ভবত কোনও প্রকারের একটি স্টার্ট-আপ স্ক্রিপ্টে যুক্ত করা যেতে পারে; আমি ফ্লাক্সবক্স জানি না, তবে আমি ধরে নিই যে এটির একটি rc
বা সেশন-স্টার্ট হুক রয়েছে।
এটি একবার নষ্ট হয়ে গেলে , তারা যদি এটির সন্ধান করতে পারে তবে তার প্রদর্শনীতে user1
লিখতে user2
পারেন।
যদি user2
এ সম্পর্কে অবগত থাকে তবে তারা সর্বদা এটি user1
অন্য কোনও উপায়ে প্রেরণ করতে পারে ।
অন্য ব্যবহারকারীর প্রদর্শন সন্ধান করা
একটি সাধারণ ওয়ার্কস্টেশনে, এক বা দু'জনের বেশি ব্যবহারকারী লগ ইন হওয়া অস্বাভাবিক; যে ক্ষেত্রে, "অনুমান করা" যে ডিসপ্লেটি আপনি চান তা 0, 1, বা 2 সম্ভবত একটি কার্যক্ষম সমাধান হতে পারে।
যাইহোক, আরও সম্পূর্ণ সমাধানের জন্য, ধরে নেওয়া যাক আপনার কাছে এমন একটি মেশিন রয়েছে যেখানে খুব বেশি ব্যবহারকারী সাইন ইন করতে পারে এবং আপনি যা চান সেটি আবিষ্কার করার চেষ্টা করুন।
for proc in /proc/[0-9]*/
do
if [ Xorg = $(< $proc/comm ) ] 2>/dev/null && \
[ $(id -u user2) -eq $(< $proc/loginuid) ] 2>/dev/null
then
for subproc in $(
do
echo "user2 display=" $(perl -ne 'if (m,DISPLAY=(.*)\0,) { print $1 }' < $subproc/environ)
done
fi
done
তারপরে, user1
অবশেষে (উপরে প্রাপ্ত ডিজিটাল মানটি ব্যবহার করে; আমি স্রেফ :14.0
এখানে লিখেছি ...)
DISPLAY=:14.0 xmessage "Hello, user2"
পরিবর্তে একটি বিজ্ঞপ্তি পাঠানো হচ্ছে
সম্পূর্ণতার স্বার্থে, নিম্নলিখিতটি কমপক্ষে জিনোম ডেস্কটপে কাজ করে। ফ্লক্সবক্সের কোনও বিজ্ঞপ্তি আছে কিনা তা আমি জানি না।
DISPLAY=:14.0 notify-send "Hello, user2"
এটিতে প্রদর্শনের জন্য আরও অনেক বেশি ব্যবহারকারী-বান্ধব বিকল্প রয়েছে এবং এটি সম্ভবত ব্যবহারকারীর স্ক্রিনে বরং বন্ধুত্বপূর্ণ উপায়ে পপ আপ হবে।
for subproc in
কি? আমি মনে করি আপনার লিপিটি এখানে দুর্নীতিগ্রস্থ হয়েছে।
user1
আমার উদাহরণে) এক্স 11 এ লগ ইন হয়ে থাকে, এবং খোলেনিxterm
বা অন্য টার্মিনালটি না খেলে - খুবwall
কাজ করবে ? আমি মনে করি এটিuser1
বার্তা দেখতে পাবে না।