আমার বাশ স্ক্রিপ্টে আমি পার্টিশনগুলি মাউন্ট করি, তাদের পরীক্ষা করে দেখি, তাদের কাছে ফাইলগুলি অনুলিপি করি এবং আনমাউন্ট করি। স্ক্রিপ্টটি যখন পার্টিশনটি মাউন্ট করে, নটিটিলাস একটি উইন্ডো দিয়ে পপ আপ করে পার্টিশনটি দেখায় এবং চুরি ফোকাস দেখায়। এটি এমন কিছু যা আমি এড়াতে চাই।
দ্রষ্টব্য: আমি জানি যে আমি সিস্টেমের সেটিংস, বিশদ, অপসারণযোগ্য মিডিয়াতে Never prompt or start programs on media insertion
এটির আচরণটি পরিবর্তন করতে পারি, তবে আমি আচরণটি পরিবর্তন করতে চাই না যেমন একটি ইউএসবি স্টিকটি প্লাগ ইন করা থাকলে আমি কেবল এটি আমার ব্যাশ স্ক্রিপ্টে আটকাতে চাই want । যেহেতু এই স্ক্রিপ্টটি অন্য ব্যবহারকারীর কম্পিউটারে চলছে আমি এই সেটিংগুলি (স্ক্রিপ্টে) সংশোধন করতে পারি না কারণ এটি অস্বাভাবিকভাবে বন্ধ হয়ে গেলে এটি পরিবর্তিত সেটিংসটি জায়গায় রেখে দেবে (আমি এটিও বিশ্বাস করি না যে এটি করা দরকার)।
আসলে এই অটো ডিসপ্লেটি সামঞ্জস্যপূর্ণ বলে মনে হচ্ছে না। যদি আমি টার্মিনাল থেকে ঠিক একই কমান্ডটি করি তবে নটিলাস প্রদর্শন করবে না এবং আমি জানি আমার স্ক্রিপ্টে অন্যান্য মাউন্ট রয়েছে যা প্রদর্শিত হয় না। সুতরাং এটি কি কারণ হতে পারে? কোডটির একটি উদাহরণ এখানে দেওয়া হয়েছে (উভয়ই পৃথক নটিলাস উইন্ডোগুলিকে পপ করতে পারে):
mount $dev $target
mkdir -p $target/home
mount $homedev $target/home
আমি যে প্রক্রিয়াটির মাধ্যমে মাউন্টটি নটিটিলাসকে ইঙ্গিত দেয় এবং কেন এটি ঘটছে তা বুঝতে আগ্রহী (যখন আমি টার্মিনাল থেকে পার্টিশনটি মাউন্ট করি না তখন)। এবং এটি থেকে রোধ করার সর্বোত্তম উপায় কী।
আমি এই আচরণটি 11.10 প্রকাশের সময় থেকে শুরু হয়েছে (যদি আমি সঠিকভাবে স্মরণ করি) noticed আমি বর্তমানে 12.04 চালাচ্ছি, তবে স্ক্রিপ্টটিতে সমস্ত সমর্থিত রিলিজের কাজ করা উচিত। আমি বিশ্বাস করি না যে সমাধানটিতে সিস্টেম সেটিংস সংশোধন করা জড়িত থাকা উচিত (এটি প্রকাশের মধ্যে পৃথক হতে পারে)। উদাহরণস্বরূপ, আপনি যদি পার্টিশনগুলি মাউন্ট করার মতো অন্যান্য জিনিসগুলি (ওএস-প্রবারের মতো) দিকে লক্ষ্য করেন তবে বিভিন্ন পার্টিশন মাউন্ট করার সময় কোনও নটিলাস উইন্ডো পপ আপ হয় না।
স্ক্রিপ্ট এখানে পাওয়া যাবে । এবং এখানে অংশটি যেখানে নটিলাস পপ করেছে। এইটাও আমার কাছে ভাল পপ মনে এখানে , কিন্তু আমি প্রথম লিঙ্কে আমার পরীক্ষাকার্যের মনোযোগ করছি। এই যেখানে এটি পপ হয় না, m অন্যান্য মাউন্টগুলির পূর্বে বলা হয় - নোট করুন আমি প্রথমগুলিকে পুনর্লিখন করেছি - কেবলমাত্র পড়ুন এবং কেবল যদি একটি বিবৃতিতে এবং এটি কোনও তাত্পর্য রাখে না।
আদর্শভাবে উত্তরটি ব্যাখ্যা করবে যে এটি কেন ঘটছে এবং কীভাবে এটি প্রতিরোধ করা যায়, অন্য কথায়, ব্যাখ্যা করুন যে mount
টার্মিনাল থেকে জারি করা শিরোনামের সাথে ইন-স্ক্রিপ্টটি কেন অন্যরকম আচরণ করা হয়। এটি যদি পুরোপুরি ব্যাখ্যাযোগ্য সমাধান এবং ব্যবহারিক সমস্ত ডেস্কটপ পরিবেশ (উবুন্টু, কুবুন্টু, এক্সুয়ান্টু, লুবুন্টু ইত্যাদি) সমর্থন করে তবে একটি ভাল কাজের ভিত্তিও গ্রহণ করা হবে - আমি এটি যাচাই করার জন্য পরীক্ষায় কোনও তাত্পর্যপূর্ণ বৃদ্ধি এড়াতে চাই।
আগাম ধন্যবাদ
============
পাপাশোর লিঙ্ক অনুযায়ী সমাধান :
add_udev_rules ()
{
for i in "$dev" "$homedev" "$bootdev" "$usrdev"; do
if [ -n "$i" ]; then
block=${i#/dev/}
echo "KERNEL==\"""$block""\",ENV{UDISKS_PRESENTATION_HIDE}=\"1\"" >> "$wubi_move_dir"/wubi_move.rules
fi
done
cp "$wubi_move_dir"/wubi_move.rules /etc/udev/rules.d/wubi_move.rules
udevadm trigger > /dev/null 2>&1
}
remove_udev_rules ()
{
rm /etc/udev/rules.d/wubi_move.rules
rm "$wubi_move_dir"/wubi_move.rules
udevadm trigger > /dev/null 2>&1
}
এটি পছন্দসই ফলাফল অর্জন করে তবে স্লেজহ্যামার পদ্ধতির মতো অনুভব করে। আমি বিশ্বাস করি যে সম্ভবত উদেভে একটি সূক্ষ্ম-সুরায়ন রয়েছে যা পার্টিশনটি নটিলাস (এবং অন্যান্য ফাইল ব্রাউজারগুলিতে) মাউন্ট করার সময় পপিং ছাড়াই এখনও দেখাতে দেবে। যাইহোক, কেউ যদি এটি চেষ্টা করতে চান, নিম্নলিখিত স্ক্রিপ্টটি নটিলাসের পপ-আপের প্রভাবটি প্রদর্শন করবে:
mkdir -p /tmp/testmount
mount /dev/sda1 /tmp/testmount
sleep 3
umount /dev/sda1
mount /dev/sda1 /tmp/testmount
sleep 3
umount /dev/sda1
mount /dev/sda1 /tmp/testmount
sleep 3
umount /dev/sda1
mount /dev/sda1 /tmp/testmount
sleep 3
umount /dev/sda1
rmdir /tmp/testmount
আমি খেলতে যাচ্ছি udev
এবং আমি একটি বাগও দায়ের করেছি , যেহেতু এটি এমন একটি পার্টিশনের পক্ষে কোনও অর্থ বোধ করে না যা মাউন্টের উপরে USBোকানো ইউএসবি / মিডিয়া কার্ডের মতো কাজ করতে প্রবেশ করা হয়নি। এছাড়াও এটি udevadm trigger
কোনও সস্তা অপারেশন নয় যা অস্থায়ীভাবে সবকিছু হিমায়িত করতে (কমপক্ষে 12.04 এ) প্রদর্শিত হবে।
সুতরাং, সংক্ষেপে, আমার একটি কার্যক্ষম সমাধান রয়েছে (যারা সাহায্য করেছেন তাদের সবাইকে ধন্যবাদ), যা আমি প্রয়োগ করতে পারি বা নাও করতে পারি (এখনও নিশ্চিত নয়); তবে আমি অন্য কিছু খুঁজতে থাকব। ধন্যবাদ