লিনাক্স উইন্ডোজ স্টার্টআপ সমতুল্য কি?


16

লিনাক্স স্টার্টআপটিতে কোনও অ্যাপ্লিকেশন / স্ক্রিপ্ট যুক্ত করার কোনও উপায় কি তাই প্রতিবার সিস্টেম বুট করার পরে এটি কার্যকর করা হবে?

আমি কিছু স্বয়ংক্রিয় উপায় খুঁজছি, অর্থাত্ ব্যবহারকারীকে ক্রোন জব বা এটির মতো কিছু দিয়ে এটিকে যুক্ত করা উচিত নয়।



এটি যদি উবুন্টু হয় তবে কেবল $ জিনোম-সেশন-বৈশিষ্ট্যগুলি ব্যবহার করুন
user3804598

উত্তর:


11

ক্রোন এর মতো কিছু ?

@rebootএন্ট্রি নোট করুন

এটি সর্বাধিক নমনীয় পদ্ধতি এবং উইন্ডোজ'র "শিড্যুলড টাস্কগুলি" (আসলে আরও ভাল) এর মতো একটি।


ব্যবহারকারীর উদ্দেশ্য ব্যতীত সিআরএন-তে কোনও যুক্ত করা সম্ভব?
সৌরভ

হ্যাঁ. কেবল /etc/cron.dতাদের কাছে না জেনে আপনার প্রোগ্রাম থেকে লিখুন বা ক্রন্টব্যাটকে কল করুন।

আপনি কি বোঝাতে চেয়েছেন? যদি আপনি ম্যানুয়ালি কোনও প্রোগ্রামক্রমে যুক্ত করেন তবে হ্যাঁ। ক্রন্টাবগুলি কেবল পাঠ্য ফাইল।

10

এক্সর্গ অটো-স্টার্ট

সিস্টেম-স্তরের প্রারম্ভিক স্ক্রিপ্টগুলি ছাড়াও আপনার ডেস্কটপ পরিবেশে স্বতঃ-চলমান প্রোগ্রামগুলির নিজস্ব উপায় থাকতে পারে। ফোল্ডারটি .config/autostartঅটোরান এন্ট্রি সংজ্ঞায়িত করার জন্য একটি ডেস্কটপ-নিরপেক্ষ উপায় বলে মনে করা হচ্ছে। /etc/xdg/autostartসিস্টেম-ব্যাপী কনফিগারেশনের জন্য। Http://developer.gnome.org/autostart-spec/অনুমিত সম্পর্কে বিশদ ।

LXDE এর জন্য অটোস্টার্ট এন্ট্রিগুলিও সেট করা যেতে পারে ~/.config/lxsession/LXDE/autostart

নেটওয়ার্কটি চালু হয়ে যাওয়ার পরে আপনার স্ক্রিপ্টগুলি চালনার দরকার হলে এটি কিছুটা আলাদা । সেক্ষেত্রে আপনার বিশেষ পোস্ট-সংযুক্ত স্ক্রিপ্টগুলি পরীক্ষা করা উচিত যা আপনার নেটওয়ার্ক ম্যানেজারের জন্য সংজ্ঞায়িত করা যায়। উভয় NetworkManager দ্বারা এবং wicd পোস্ট কানেক্ট অটোরান এন্ট্রি উল্লেখ তাদের নিজস্ব উপায় আছে। যদি নেটওয়ার্কের মাধ্যমে কনফিগার করা থাকে ifupdownতবে পোস্ট-আপ স্ক্রিপ্টগুলি /etc/network/if-up.d/ফোল্ডারে রাখা যেতে পারে । তবে সংযোগ-পরবর্তী পোস্টের স্ক্রিপ্টগুলি চালানোর জন্য আরও ভাল পদ্ধতির ব্যবস্থা করা যেতে পারে (এটি সমর্থনকারী সিস্টেমগুলির জন্য, যা আধুনিক ডিস্রোসের সংখ্যাগরিষ্ঠ)।

সিস্টেমড পরিষেবা হিসাবে অটোস্টার্ট

আপনি অটোস্টার্টটি যে জিনিসটি চান তা যদি কোনও গ্রাফিকাল অ্যাপ না হয় যার জন্য ডেস্কটপের প্রয়োজন হয় তবে xorg বা আপনার বর্তমান ডেস্কটপ পরিবেশ দ্বারা প্রদত্ত যে কোনও অটোস্টার্ট সুবিধা ব্যবহার করা এড়ানো ভাল।

systemd অনেক আধুনিক ডিস্ট্রোজে সর্বব্যাপী হয়ে উঠেছে এবং এটি আপনার পরিষেবাগুলি কীভাবে শুরু হয় এবং কীভাবে এটি চালিত হয় সে ক্ষেত্রে এটি প্রচুর নিয়ন্ত্রণ এবং নমনীয়তা সরবরাহ করে।

আমি কিছু সুবিধা সংক্ষিপ্ত করব ( সিস্টেমড আরও অনেক কিছু করতে পারে ):

  • রুট হিসাবে বা নির্দিষ্ট ব্যবহারকারী হিসাবে চালান: যেমন User=myuser
  • কনফিগারযোগ্য সময়সীমার সাথে ব্যর্থতায় পরিষেবাগুলি পুনঃসূচনা করুন: Restart=on-failure|on-watchdog|on-abnormal|always
  • পরিষেবার ধরণ নির্ধারণ: Type=simple|forking|oneshot|notify|dbus
  • প্রারম্ভকালে পূর্বশর্ত এবং নির্ভরতা স্থাপন, IE আপনি আপনার পরিষেবার সেট শুরু করার পর নেটওয়ার্ক আছে ( Wants=network-online.targetমধ্যে [Unit]অধ্যায়)।

একটি উদাহরণ পরিষেবা যা একটি টেলিগ্রাম-ক্লাইম ডেমন শুরু করে। এটি রাখুন /etc/systemd/system/tg.service

[Unit]
Description=MyDaemon
Wants=network-online.target
After=network-online.target

[Service]
ExecStart=/usr/local/bin/telegram-cli -k /etc/telegram-cli/tg-server.pub -W -P 1234 -d -vvvRC
ExecStop=/usr/bin/pkill -f telegram-cli

User=jicu

[Install]
WantedBy=multi-user.target

এখন আপনি পরিষেবাটি অটোস্টার্টে সক্ষম করতে পারবেন:

sudo systemctl enable tg

পরিষেবাটি শুরু করুন:

sudo systemctl start tg

পরিষেবা বন্ধ করুন:

sudo systemctl stop tg

স্থিতি পরীক্ষা করুন:

systemctl status tg

পরিষেবাটি অক্ষম করুন:

sudo systemctl disable tg

অতিরিক্ত টাইপিং বাঁচাতে আপনি আপনার ~/.bashrcলাইনে যুক্ত করতে পারেন তবে আপনি alias sc='sudo systemctl $*'উপরের আদেশগুলি সংক্ষিপ্ত করতে সক্ষম হবেন উদাহরণস্বরূপ sc start tg

দ্রষ্টব্য: আপনি যদি ব্যবহার করেন cronতবে সচেতন হন যে ক্রোনটব এন্ট্রিগুলি একটি সীমাবদ্ধ পরিবেশে চালিত হয় - এটি একই ক্ষেত্রে প্রযোজ্য systemd: সর্বদা নিখুঁত পাথ ব্যবহার করুন এবং কোনও ভেরিয়েবল সংজ্ঞায়িত হওয়ার কোনও অনুমান করবেন না। আপনার স্ক্রিপ্টগুলি নির্ভর করে এমন কোনও ভেরিয়েবল সুস্পষ্টভাবে সেট করুন। আপনার ব্যবহারকারীর এবং ব্যবহার systemd করবে না.bashrc$PATH

অধিক তথ্য:


7

হ্যাঁ লিনাক্সের স্টার্টআপে এক্সিকিউটেবলের জন্য পাথগুলি নির্দিষ্ট করে rc.localযা ডিরেক্টরি /etcবা /etc/rc.dডিরেক্টরিতে থাকে তার উদাহরণ নির্ধারণের মাধ্যমে প্রোগ্রামগুলি চালানো সম্ভব :

#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.

touch /var/lock/subsys/local
/path/to/executable

দ্রষ্টব্য: ফাইলের ডকুমেন্টেশনে বর্ণিত হিসাবে এক্সিকিউটেবল অধিকারগুলি অর্পণ করতে ভুলবেন না Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure that this script will be executed during boot.


ফাইল এন্ট্রি যুক্ত প্রতিটি সময় প্রোগ্রাম শুরু হবে?
সৌরভ

2
প্রতিবার আপনি রিবুট করবেন, হ্যাঁ। আপনি যদি নিয়মিত নির্ধারিত কাজগুলি (প্রতিদিন, ঘন্টা, সপ্তাহ, বা কোনও বিজোড় সংমিশ্রণ) চান তবে cronশিডিয়ুলারটি আপনার বন্ধু।

3
  1. Startup applicationsহোম বোতাম ব্যবহার করার জন্য অনুসন্ধান করুন
  2. ক্লিক Add
  3. অ্যাপ্লিকেশন কল করতে একটি নাম প্রবেশ করান (যে কোনও নাম করবে)
  4. ইন Startup command boxকমান্ড লিখুন
  5. ক্লিক করুন OK(তালিকায় আপনার নতুন কমান্ডটি দেখতে হবে)
  6. ক্লিক Close

পুনরায় চালু বা লগ আউট এবং পিছনে ফিরে পরীক্ষা করুন।

সূত্র: https://help.ubuntu.com/commune/AddingProgramToSessionStartup


1

প্রতিটি বিতরণ প্রতিটি নিজস্ব বুটস্ট্র্যাপ কৌশল ব্যবহার করে, তাই আপনার ডিসট্রোর জন্য ডক্সের দিকে নজর দেওয়া দরকার। /etc/rc.local এমন একটি জায়গা যেখানে আপনি কয়েকটি স্বয়ংক্রিয় স্ক্রিপ্ট রাখতে পারেন তবে এটি সত্যই পুরানো। এখন বেশিরভাগ লিনাক্স ভিত্তিক সিস্টেম রানলেভেল বা সিস্টেমযুক্ত বুটস্ট্র্যাপ ব্যবহার করে, তাই বেশিরভাগ অটোস্টার্ট কাজ সূক্ষ্ম-গ্রেড দ্বারা নিয়ন্ত্রিত হতে পারে।


0

আমি আমার উত্তরটি এখানে পেয়েছি: /programming/7221757/run-auto चालित-program-on-startup-und-linux-ubuntu আমি যখন ছিলাম আমি আমার ট্র্যাকপ্যাড বন্ধ করার জন্য একটি ফাইল / স্ক্রিপ্ট তৈরি করতে সক্ষম হয়েছি আমার লিনাক্স উবুন্টু 12.10 সেশন।


3
খুশি হলেন যে আপনি একটি সমাধান পেয়েছেন, আপনি কি আপনার উত্তরের পদক্ষেপগুলির একটি সংক্ষিপ্তসার অন্তর্ভুক্ত করতে পারেন, ঠিক এই উত্তরটি কেবল একটি লিঙ্কের চেয়ে আরও কার্যকর। ধন্যবাদ!
SLM

প্রারম্ভকালে আমার ট্র্যাকপ্যাডটি স্বয়ংক্রিয় করার এবং বন্ধ করার উপায় খুঁজছিল। টার্মিনালে আমি যে কমান্ডটি প্রবেশ করিয়েছিলাম তা হ'ল 'সুডো মডপ্রোব-আর পিএমউস' এটি বর্তমান সেশনে থাকাকালীন ট্র্যাকপ্যাডটি বন্ধ করে দেবে। আমি বুটে এটি স্বয়ংক্রিয় করতে চেয়েছিলাম। আমি কিছু গবেষণা করেছি এবং একটি স্ক্রিপ্ট লিখেছি /etc/rc.local ফাইলটি সংশোধন করে, 'sudo modprobe -r psmouse যোগ করে। তারপরে টার্মিনাল থেকে নিম্নলিখিত কমান্ডগুলি জারি করা হচ্ছে: 'sudo mv / filename /etc/init.d/' 'sudo chmod + x /etc/init.d/filename' 'sudo update-rc.d filename Defaults' এখন টাচপ্যাড বন্ধ রয়েছে শুরুতে
CatGuyTX
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.