ইউএসবি ডিভাইস সংযুক্ত করার জন্য একটি স্ক্রিপ্ট চালানো


13

এটি একটি আলাদা প্রশ্ন হিসাবে দয়া করে এটি সদৃশ হিসাবে চিহ্নিত করবেন না!

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

এটি আমার উদেব নিয়ম ফাইল:

ACTION=="add", ATTRS{idVendor}=="8564", ATTRS{idProduct}=="1000", RUN+="/usr/local/my_script.sh"

এবং এটি আমার লিপি:

#!/ বিন / ব্যাশ

env> /tmp/env.out
সিপি -আর / মিডিয়া / * ডিভাইস-নাম * / * ~ / পরীক্ষা /

আমার 2 টি প্রশ্ন রয়েছে:

১. যখনই আমি আমার ইউএসবি ডিভাইস স্ক্রিপ্টটি প্লাগ ইন করি তখন সম্পাদন করা হয় কারণ একটি ফাইল এনভ.আউট.আউট / টিএমপি- তে উত্পন্ন হয় তবে ইউএসবি ডিভাইস থেকে ডেটা টেস্ট ডিরেক্টরিতে অনুলিপি করা হয় না , যদি আমি স্ক্রিপ্টটি ম্যানুয়ালি চালিত করি তবে এটি ঠিক কাজ করে! কেন ??

২. কীভাবে আমার বিধিগুলি ফাইলটিকে আরও সাধারণ করে তুলতে পারে যাতে এটি কোনও আইডিবি ডিভাইস যা তার আইডি না জেনে সংযুক্ত থাকে তার জন্য কাজ করবে?

এর পিছনে আমার ধারণা হ'ল সংযুক্ত থাকা ইউএসবি ডিভাইস থেকে সমস্ত কম্পিউটার স্বয়ংক্রিয়ভাবে আমার কম্পিউটারে অনুলিপি করা।

অগ্রিম ধন্যবাদ!


আপনি কি এই চেষ্টা করার চেষ্টা করছেন না? জিজ্ঞাসাবাবু
প্রশ্নস /

@ ভার্চুয়াল টেক্সট এই পরামর্শের জন্য ধন্যবাদ! তবে আমি জানতে চাই যে এই পদ্ধতির মধ্যে কী ভুল?
নুল পয়েন্টার

আমার স্ক্রিপ্টটিতে কী ভুল আছে দয়া করে বলতে পারেন? কেন এটা কাজ করছে না?
নুল পয়েন্টার

এছাড়াও, কেবল একটি মাথা আপ - আমি খুব শক্তভাবে শিখেছি যে এই জাতীয় সুনির্দিষ্ট প্রশ্নগুলি সাধারণত জিজ্ঞাসুবন্টুর চেয়ে সুপারসারের পক্ষে আরও উপযুক্ত।
ভার্চুয়ালসিটিসি

যদি অনুমতিগুলির সমস্যাটি এটি হয়ে থাকে তবে আমি নিজে নিজে এটি চালানোর চেষ্টা করার সময় এটি প্রদর্শিত হত, তাই না?
নুল পয়েন্টার

উত্তর:


8

আমার নিজের প্রশ্নের উত্তর দিতে:

1. স্ক্রিপ্ট চলছিল না কারণ এটি sudoচালানোর অধিকারের দরকার ছিল ..

এর সমাধান:

এই স্ক্রিপ্ট কার্যকর করা sudo!

EDIT sudoers ফাইল ব্যবহার করে

sudo visudo

25 লাইনের পরে (অর্থাত্ %sudo ALL=(ALL)) এটি যুক্ত করুন

username ALL=(ALL) NOPASSWD: /home/username/my_script.sh

এখন আমরা sudoএই স্ক্রিপ্টে sudo পাসওয়ার্ড না চাওয়া ব্যবহার করতে পারি

তবে এটি কিছু সুরক্ষা সমস্যার কারণ হতে পারে তাই দয়া করে এই লিঙ্কটি উল্লেখ করুন

আমার দ্বিতীয় প্রশ্নের উত্তর:

সংযুক্ত থাকা যে কোনও ইউএসবি ডিভাইসের জন্য এই স্ক্রিপ্টটিকে কাজ করার জন্য এটিতে নিয়মের ফাইলটি পরিবর্তন করুন

ACTION=="add", ATTRS{idVendor}=="****", ATTRS{idProduct}=="****", RUN+="/usr/local/my_script.sh"

asterik (*) বলেছে যে এটি সংযুক্ত প্রতিটি ইউএসবি ডিভাইসের জন্য করা উচিত!

এটাই! স্ক্রিপ্টটি এক্সিকিউটেবল এবং আপনার ইউএসবিতে প্লাগ করুন তা নিশ্চিত করুন!

উপভোগ করুন!


0

আপনার হোম ডিরেক্টরিতে পুরো পথ দিয়ে টিল্ড প্রতিস্থাপনের চেষ্টা করুন। এটি কাজ করবে কিনা তা আমি জানি না, তবে আপনি বলছেন যে স্ক্রিপ্টটি আপনি সরাসরি চালনার সময় কাজ করে কিন্তু যখন এটি স্বয়ংক্রিয়ভাবে চালিত হয় এটি তা করে না: এটি আমার মনে করে যে সমস্যাটি এটির দ্বারা চালিত হওয়ার সাথে সাথে করা হতে পারে different ব্যবহারকারী যখন এটি স্বয়ংক্রিয়ভাবে চালিত হয়, এবং টিল্ড বিভিন্ন ব্যবহারকারীর জন্য বিভিন্ন মানগুলিতে সমাধান হয়।


প্রশ্নের জবাব দেওয়ার আগে দয়া করে মন্তব্যগুলি পড়ুন
নুল পয়েন্টার

আমি মন্তব্যগুলি পড়েছি, তারপর আমি প্রশ্নের উত্তর দিয়েছি। আমি কি কিছু ভুল করবেন? বিশেষ করে কোন মন্তব্যটি আপনি উল্লেখ করছেন?
টবি 1 কেনোবি

মন্তব্যে এই পরামর্শগুলি ইতিমধ্যে দেওয়া হয়েছিল এবং তারা আমার পক্ষে কাজ করে নি..তই আমি মন্তব্যগুলি পড়তে বলেছিলাম
নুল পয়েন্টার

ওহ হ্যাঁ, দুঃখিত, শেষ 5 টি মন্তব্য আমার কাছ থেকে লুকানো ছিল এবং আমি সেগুলি লক্ষ্য করি নি। আমার ভুল!
টবি 1 কেনোবি

@ নালপোয়েন্টার: দয়া করে আপনার প্রশ্নটি সম্পাদনা করুন এবং প্রশ্নের সম্পূর্ণ তথ্য রাখুন যাতে লোকেরা মন্তব্যগুলি পড়ার প্রয়োজন না হয় ... মন্তব্যগুলি প্রশ্নের অংশ নয় ... ;-)
ফ্যাবি

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.