ইউনিটি ডেস্কটপের জন্য প্রারম্ভিক স্ক্রিপ্টগুলি কোথায়?


11

আমার লাইটডিএম প্রমাণীকরণটি সফল হওয়ার সাথে সাথেই আমি একটি স্ক্রিপ্ট চালাতে চাই এবং আমার ইউনিটি লোড হওয়া শুরু করে। এবং আমি আমার স্ক্রিপ্টগুলি মূল ব্যবহারকারী হিসাবে চালাতে চাই।

ইউনিটে স্টার্টআপ স্ক্রিপ্টগুলি কোথায় অবস্থিত?


আমার এক্স লোড করার পরে আমি স্ক্রিপ্টটি চালাতে চাই।
May


@ শান্ট এক্স আসলে লাইটডিএমের আগেই শুরু হয়, কারণ লাইটডেএম এক্সেও চলে So আপনি যখন কম্পিউটার সবে বুট করেন তখন স্ক্রিপ্ট চালানোও সম্ভব, আপনি যদি লগইন করে থাকেন বা না থাকেন (এটি এক্সের উদাহরণস্বরূপ শুরু হয়) এর চেয়ে সম্পূর্ণ ভিন্ন প্রশ্ন question আপনি যদি ব্যবহারকারী হিসাবে কোনও কিছু চালাতে চান তবে আপনি সম্ভবত এটি চান এবং উত্তরটি আপনার init সিস্টেমে নির্ভর করে।
এরিকবওয়ার্ক

উত্তর:


5

প্রথমে আপনার স্ক্রিপ্টটি প্রবেশ করুন /usr/binএবং সম্পাদনের অনুমতি দিন।

এখন .desktop ফাইল তৈরি করুন /home/[user-name]/.config/autostart/যা আপনার স্ক্রিপ্টটি চালান যা শুরুতে চলে।

উদাহরণ: - আপনার স্ক্রিপ্টের ফাইলের নামটি "উদাহরণ" বা "উদাহরণ.sh" হতে দিন

নিম্নলিখিত রেখাগুলি সহ জিডিট দিয়ে .ডেস্কটপ ফাইল তৈরি করুন এবং ফাইলনেম.ডেস্কটপ হিসাবে সংরক্ষণ করুন /home/[user-name]/.config/autostart/

[Desktop Entry]
Type=Application
Exec=sudo example
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name=myscript
Comment=Startup Script

এখানে Exec=sudo exampleবা Exec=sudo example.shআপনার স্ক্রিপ্টটি .ডেস্কটপ ফাইলটিতে নির্বাহের অনুমতি দিন থেকে মূল হিসাবে/usr/bin চালায়।

এখন, স্ক্রিপ্ট স্টার্টআপে চলে।


1
পাসওয়ার্ড ছাড়াই উবুন্টু চালানোর জন্য, দেখুন askubuntu.com/questions/39281/...
পান্ড্য

ধন্যবাদ যে কাজ করে। তবে আপস্টার্ট দিয়ে আপনি একই জিনিসটি সম্ভবত কিছুটা সহজতর করতে পারেন (আমার উত্তরটি দেখুন)।
টুকসন


আমি মনে করি না .ডেস্কটপ ফাইলটি কার্যকর করার যোগ্য পতাকাঙ্কিত করা দরকার।
জুলিয়ান

4

আরেকটি সম্ভাবনা:

একটি ফাইল তৈরি করুন $HOME/.config/upstart/my-upstart-script.conf

start on desktop-start
stop on desktop-end

script
  sudo fdisk -l > /home/[user-name]/upstart-test.txt        
end script

আপস্টার্ট আরও বিশদ :

http://ifdeflinux.blogspot.de/2013/04/upstart-user-sessions-in-ubuntu-raring.html

http://upstart.ubuntu.com/cookbook/

sudoপাসওয়ার্ড ছাড়াই চালানোর জন্য ইনফোস :

পাসওয়ার্ড ছাড়াই sudo ব্যবহার করে অ্যাপ্লিকেশনটি কীভাবে চালানো যায়?

আমি কীভাবে একটি পাসওয়ার্ড ছাড়াই নির্দিষ্ট sudo কমান্ডগুলি চালাব?


"OME HOME / .config / upstart" আমার মেশিনে এ জাতীয় কোনও ডিরেক্টরি নেই।
কালামালকা কিড

1
@ কলমালকিকিড আপনি কোন উবুন্টু সংস্করণ ব্যবহার করেন? আপস্টার্ট ডিরেক্টরিটি এই স্থানে থাকা উচিত /home/yourusername/.config/upstart/
নটিলাসে

2

রুট হিসাবে একটি কমান্ড চালানোর জন্য , লগইন করার পরে , আরও একটি সহজ কৌশল আছে:

এটি দুটি পদক্ষেপ নেয়:

  • লগইনে একটি ট্রিগার ফাইল তৈরি করুন
  • একটি cronjob, রুট (সেট দ্বারা চালানো তৈরি /etc/crontabএকটি ক্ষুদ্র স্ক্রিপ্ট (আপনার কমান্ড চালানোর) চালানোর জন্য,) যদি এবং কেবল যদি ট্রিগার ফাইল আগে থেকেই আছে। যেহেতু ট্রিগার ফাইলটি একই স্ক্রিপ্ট দ্বারা সরানো হয়েছে, আপনার আদেশটি কেবল একবার চালিত হয়।

তারপরে ক্রমটি হ'ল:

USER LOGIN > trigger file is created > cronjob runs script (with your command) and removes trigger file, > next time the script passes, since the trigger file does not exist anymore

সেটআপ

দুটি ছোট স্ক্রিপ্ট:

লগইনে ট্রিগার ফাইল তৈরি করার জন্য একটি:

#!/bin/sh
touch $HOME/.trigger

এবং একজন দু'জন কমান্ডটি চালান:

#!/bin/bash

FILE="/path/to/your/homedirectory/.trigger"
# don't use $HOME here, since you run it by root

if [ -f $FILE ]; then
   <your command here, run by root>
   rm -f $FILE
fi
  • দুটি স্ক্রিপ্ট দুটি খালি ফাইলগুলিতে অনুলিপি করুন create_trigger.shএবং এগুলি হিসাবে সংরক্ষণ করুন run_command.sh
  • সুবিধার কারণে এগুলি উভয়কেই কার্যকর করা যায়।
  • আপনার স্টার্টআপ অ্যাপ্লিকেশনগুলিতে নিম্নলিখিত কমান্ডটি যুক্ত করুন (ড্যাশ> স্টার্টআপ অ্যাপ্লিকেশন> অ্যাড)

    /path/to/create_trigger.sh
    
  • /etc/crontab( sudo nano /etc/crontab)) ফাইলটিতে নিম্নলিখিত লাইনটি যুক্ত করুন

    * * * * * root /path/to/run_command.sh
    

এখন সংজ্ঞায়িত কমান্ড লগইন থেকে এক মিনিটের মধ্যে একক সময় চালায়।

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