যখন কোনও নতুন ডিভাইস উপস্থিত হয়, ইউদেবকে অবহিত করা হয়। এটি সাধারণত /dev
অন্তর্নির্মিত নিয়মগুলির উপর ভিত্তি করে একটি ডিভাইস ফাইল তৈরি করে ¹ আপনি ডিভাইসের ফাইলের অবস্থান পরিবর্তন করতে বা একটি স্বেচ্ছাসেবী প্রোগ্রাম চালাতে এই বিধিগুলিকে ওভাররাইড করতে পারেন। এখানে যেমন একটি udev নিয়ম একটি নমুনা:
KERNEL=="sd*", ATTRS{vendor}=="Yoyodine", ATTRS{serial}=="123456789", NAME="keepass/s%n", RUN+="/usr/local/sbin/keepass-drive-inserted /dev/%k%n"
NAME=
নির্দেশ ডিভাইস ফাইলের অবস্থান পরিবর্তন, আমি এটা চিত্রণ উদ্দেশ্যে জন্য অন্তর্ভুক্ত কিন্তু এটি সম্ভবত আপনার ব্যবহার কেস জন্য দরকারী নয়। ATTRS
নিয়ম ডিভাইস চিহ্নিত; udevinfo -a -n /dev/sdz
ড্রাইভটি উপলব্ধ থাকলে /dev/sdz
এটিতে কী কী বৈশিষ্ট্য রয়েছে তা চালান । সাবধান থাকুন যে আপনি কেবল ইনপুটটির ATTRS
একক বিভাগ থেকে বিধিগুলি ব্যবহার করতে পারেন udevinfo
(এছাড়াও, আপনি ATTR
প্রাথমিক বিভাগ থেকে নিয়ম ব্যবহার করতে পারেন )। দেখুন `udevadm তথ্য -a -n, / dev / sdb` আউটপুট বুঝুন আরো পটভূমির জন্য। এই নিয়মটি এমন কোনও ফাইলে যায় যা কিছু বলে /etc/udev/rules.d/local-storage-keypass.rules
।
RUN
নির্দেশে প্রদত্ত স্ক্রিপ্টে আপনি যে কমান্ডগুলি চালাতে চান তা রাখুন । কিছুটা এইরকম:
#!/bin/sh
set -e
if [ -d /media/keypass-drive ]; then
[ "$(df -P /media/keypass-drive | awk 'NR==2 {print $1}')" = "$(df -P /media | awk 'NR==2 {print $1}')" ]
else
mkdir /media/keypass-drive
fi
mount "$1" /media/keypass-drive
su ereon -c 'keypass2' &
আপনার যদি ওদেব থেকে ট্রিগার হওয়া কোনও স্ক্রিপ্ট থেকে জিইউআই প্রোগ্রাম চালাতে সমস্যা হয় তবে দেখুন যে আমি অন্য ব্যবহারকারীর ডেস্কটপে কোনও গ্রাফিকাল প্রোগ্রামটি রুট হিসাবে চালু করতে পারি?
¹ না আধুনিক সিস্টেমে যেখানে /dev
udevtmpfs চালু আছে।
udevadm info -a -n /dev/sdX
, আপনি একাধিক পূর্বপুরুষের উপর ভিত্তি করে মেলতে পারবেন না। আপনি কেবলমাত্র ডিভাইস থেকে প্রাপ্ত ডেটা এবং একক পূর্বপুরুষের ভিত্তিতে মিল করতে পারেন। এটি আচ্ছাদিতman 7 udev
, তবে এটি একটি ছোট মন্তব্য সহজেই উপেক্ষা করা হয়।