সুডো দিয়ে টার্মিনালে একটি স্টার্টআপ প্রোগ্রাম চালাচ্ছে


8

আমি একটি টার্মিনাল, একটি পাইথন স্ক্রিপ্ট চালানোর প্রয়োজন myscript.py (Lubunt দিকে) স্টার্টআপে। এই স্ক্রিপ্টের মূল প্রয়োজন।

আমি একটি .desktopফাইল সেট আপ করেছি যা নিম্নলিখিত কমান্ডটি চালায়:

lxterminal --command="python /home/d/Jarvis/alarm.py && /bin/bash"

টার্মিনাল উইন্ডোটি শুরুতে খোলে এবং স্ক্রিপ্টটি চালায় তবে পাইথন স্ক্রিপ্টটি যখন ত্রুটি ফেরায় তখন বন্ধ হয় (কারণ এটি রুট হিসাবে চালানো হচ্ছে না)। আমি যখন এতে পরিবর্তন করি Exec=...

lxterminal --command="sudo python /home/d/Jarvis/alarm.py && /bin/bash"

... (কমান্ডের সাথে প্রিফিক্সিং sudo) যা কাজ করে। তবে টার্মিনালটি প্রারম্ভকালে খোলে এবং প্রদর্শন করে

[sudo] password for d: \

প্রম্পট, আমার পাসওয়ার্ড ইনপুট প্রয়োজন। আমি চাই যে প্রারম্ভকালে পাইথন স্ক্রিপ্টটি কার্যকর করা কোনও ব্যবহারকারীর ইন্টারঅ্যাকশন ছাড়াই সম্পূর্ণ স্বয়ংক্রিয় হয়ে উঠুক।

আমি কীভাবে এটি সম্পাদন করতে পারি?

উত্তর:


5

আপনি যদি এটি লগইন করতে চান এবং না শুরুতে (যেমন আমি দেখতে পাচ্ছি না যে এক্স সার্ভারটি তৈরি না করে কীভাবে এলএক্সটার্মিনাল খোলা যেতে পারে), আপনাকে / etc / sudoers ফাইলে একটি ব্যতিক্রম যুক্ত করতে হবে যাতে আপনাকে অনুরোধ করা হবে না আপনার পাসওয়ার্ড.

এটি করতে, চালান sudo visudoএবং তারপরে নিম্নলিখিতগুলি যুক্ত করুন:

<your username> ALL = NOPASSWD: /home/d/Jarvis/alarm.py

এটি কাজ করার জন্য ফাইলের শেষে আপনি এটি যুক্ত করেছেন তা নিশ্চিত করুন। আমি alarm.pyএটির জন্য এক্সিকিউটেবলের অনুমতিও নির্ধারণ করতাম । সুতরাং, এটি নির্বাহযোগ্য হিসাবে সেট করতে এটি করুন:

chmod +x /home/d/Jarvis/alarm.py

আশা করি এটা সাহায্য করবে!


এইটা কাজ করে! তোমাকে অনেক ধন্যবাদ! আমার এখনও একটি সমস্যা আছে ... আমি যখন "পাইথন অ্যালার্ম.পি" এর পরিবর্তে "অ্যালার্ম.পি" চালাই তখন আমি পাইথন মডিউলগুলির (তৃতীয় তারিখের সময়) ত্রুটিগুলি 'আমদানি: খুঁজে পাইনি' পাই। আমি মনে করি না যে আমি এই জালগুলি / জার্ভিস / এ অনুলিপি করতে সক্ষম, তাই আমি কী করব?
ব্র্যান্ডন 21

@ ব্র্যান্ডন আপনাকে PYTHONPATHভেরিয়েবল সেট করতে হতে পারে তবে এটি কেবল অনুমান। এই জন্য, আমি একটি স্ক্রিপ্ট নিম্নলিখিত বিষয়বস্তু সঙ্গে 'alarm_starter.sh' বলা তৈরি করবে: PYTHONPATH={what ever it should be} sudo /home/d/Jarvis/alarm.py। যদিও আমি এই সম্পর্কে সত্যই নিশ্চিত নই। হতে পারে এটি সাহায্য করবে: ডকস.প্যাথন.আর.
টিউটোরিয়াল / মডুলস। Html#the-module-search-path

9

রুট হিসাবে প্রারম্ভকালে সম্পাদিত কাস্টম স্ক্রিপ্টগুলি এর মাধ্যমে চালানো যেতে পারে rc.local

/etc/rc.localমূল অধিকার সহ সম্পাদনা করুন :

sudo nano /etc/rc.local

এবং লাইন রাখুন

python /home/d/Jarvis/alarm.py

শেষ লাইনের ঠিক আগে যা বলা উচিত exit 0। এটি কাজ করে কিনা তা পুনরায় বুট করুন।


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