Автоматично стартиране на приложения в Linux
- Интересни статии
- Автоматично стартиране на приложения в Linux
Автоматично стартиране на приложения в Linux
След стартиране на компютъра, като правило, трябва да стартираме някои програми. които използваме най-често. Освен това след стартиране на системата може да се наложи да извършим някои специфични действия, например да създадем необходимите файлове или да зададем някои параметри. Много е неудобно да го правите ръчно. За решаване на такива проблеми има автоматично зареждане.
В тази статия ще разгледаме как работи автоматичното зареждане на Linux, как да добавяте стартиращи програми, къде би било по-правилно да ги добавите и какви видове автоматично зареждане има в тази операционна система.
Как работи автоматичното зареждане?
За да разберем как работи автоматичното зареждане, първо трябва да си спомним какво се случва по време на процеса на зареждане на Linux. След като ядрото завърши своята инициализация и е готово за по-нататъшна работа, то ще прехвърли управлението на системата за инициализация. Системата за инициализация е основният процес, той е този, който стартира всички останали процеси в системата.
Има процеси, които система за стартиране като systemd стартира по подразбиране, но можете също да я конфигурирате да стартира процесите, които искате. Освен това много дъщерни процеси изпълняват скриптови файлове или имат някаква възможност да изпълняват програмите, от които се нуждаете. Повечето десктоп среди също имат тази функция.
Помислете за основните нива на автоматично зареждане, които можете да използвате:
- Автоматично зареждане на ниво ядро - можете да посочите всяка програма, която да се стартира след стартиране на ядрото вместо системата за инициализация;
- Стартиране на системата за инициализация - стартиране на основните системни услуги, допълнителни услуги, както и вашите скриптове на етапа на инициализация на системата;
- Autoload rc.local - остарял метод за зареждане на скриптове, изпълнявани преди стартиране на графичната среда;
- Автоматично зареждане на мениджъра за влизане - можете да изпълнявате вашите скриптове или команди след стартиране на мениджъра за влизане, но преди стартирането на средата;
- Стартиране на X сървър - стартирайте необходимите програми или скриптове веднага след стартирането на X сървъра;
- Среда за автоматично зареждане - повечето среди поддържат програми за автоматично зареждане, можете дори да конфигурирате отложено стартиране и други параметри там;
- Autoloading bash - Най-новата опция е автоматично зареждане на ниво отделна обвивка, можете да изпълнявате необходимите команди автоматично веднага щом терминалът бъде стартиран.
След това ще разгледаме по-отблизо как да използвате всеки от елементите за автоматично зареждане на програми, скриптове или изпълнение на команди в Linux.
Автоматично зареждане на ниво ядро
Автоматичното зареждане на ниво ядро едва ли ще ви бъде много полезно за ежедневна употреба, но реших да го спомена, защото е възможно. С параметъра на ядрото init можете да посочите коя програма да се стартира веднага след като ядрото приключи с инициализацията. Например, можете да заредите Bash shell вместо Systemd. За да направите това, просто настройте реда за стартиране на ядрото в конфигурационния файл на Grub или по време на стартиране. Добавете параметъра init в края:
Но обикновено е по-удобно тази стойност да се промени временно в менюто Grub. Прочетете повече за това в статията за опциите на ядрото на Linux. Това не зарежда автоматично Linux програмата, но въпреки това,понякога може да бъде полезно.
Автоматично зареждане в системата за стартиране
Най-често, когато се казва автоматично зареждане на Linux, това означава автоматично зареждане на услуги с помощта на системата за инициализация. systemd има много напреднала система за управление на услугите. Той поддържа разрешаване на зависимости, паралелно стартиране, отложено стартиране и рестартиране при грешка. В терминологията на Systemd всички стартирани програми са представени чрез модулни файлове, всеки модул описва параметрите на програмата, нейния изпълним файл, както и допълнителни изисквания за стартиране.
Командата systemctl се използва за добавяне или премахване на услуги от автоматично стартиране. За да добавите услуга към автоматично стартиране:
И за да деактивирате автоматичното стартиране на Linux:
Например, ако искате да добавите Apache към стартиране, трябва да изпълните:
Можете също да проверите дали услугата вече е добавена към стартиране:
Ако не знаете точното име на служебния файл, но знаете първата му буква, тогава можете да използвате автоматично довършване, както бихте направили навсякъде другаде в терминала, като използвате бутона Tab:
Можете също така да видите всички услуги, които са добавени към стартиране, като използвате командата:
Автоматично зареждане на скриптове в Linux
Преди беше обичайно да се поставят всички скриптове, които се изпълняват по подразбиране, във файла /etc/rc.local. Този файл все още съществува, но е остатък от системата за стартиране на SysVinit и сега се пази само за съвместимост. Скриптовете трябва да се зареждат само с помощта на Systemd.
За да направите това, достатъчно е да създадете прост единичен файл и да го добавите към автоматично зареждане, както всяка друга услуга. Нека първо създадем този файл:
[Единица] Описание=Моята скриптова услуга След=multi-user.target
[Услуга] Тип=неактивен ExecStart=/usr/bin/local/script.sh
В секциятаUnit ние даваме кратко описание на нашия файл и казваме с опциятаAfter, че трябва да изпълним този скрипт в многопотребителски режим. СекциятаService е най-важната, тук посочваме вида на услугата -idle, което означава, че просто трябва да стартирате и да забравите, няма нужда да наблюдавате, а след това в параметъраExecStart посочваме пълния път до нашия скрипт.
Остава да зададете правилните права:
След това актуализирайте конфигурацията и добавете нов скрипт към стартирането на Linux:
След следващото рестартиране този скрипт ще се стартира автоматично. Моля, обърнете внимание, че за всеки скрипт, който ще стартирате, правата трябва да бъдат правилно зададени, а именно флагът за изпълнение трябва да бъде зададен. За да направите това, използвайте командата chmod:
Стартиране на X сървър
Често олекотените настолни среди и мениджърите на прозорци използват автоматично зареждане на ниво X сървър за автоматично зареждане на програми. Всички скриптове, стартирани по този начин, ще стартират след стартиране на X сървъра. За да настроите такова автоматично зареждане на Linux, трябва само да добавите пътя към желания скрипт към файла
/.xinitrc или /etc/X11/xinit/xinitrc. Синтаксисът за добавения ред е:
изпълнителен скрипт_път &
/.xinitrc все още не съществува, трябва да го създадете:
След това, за да добавите скрипт към автоматичното зареждане на linux, редактирайте файла според нуждите си. Например, нека стартираме Firefox:
Готов. Остава да запазите промените. Следващият път, когато стартирате X сървъра, ще се задейства автоматично стартиране на Linux и тази команда ще бъде изпълнена. По същия начин може да се извърши автоматично стартиране на Linux приложения.
Среда за автоматично зарежданеработен плот
Мощни десктоп среди като Gnome и KDE имат свои собствени стартиращи приложения. Например в Gnome програмата се нарича"Автоматично стартиране на приложения". Можете да го стартирате от главното меню на системата:
Тук можете да видите всички програми, които вече са добавени към стартиране. Можете да деактивирате всеки от тях, просто като премахнете отметката от квадратчето.
За да добавите нова програма или скрипт за стартиране, щракнете върху бутона"Добавяне":
Тук трябва да попълните три полета:
- Име - произволно име за командата, по което можете да я намерите;
- Команда - пълен път до изпълнимия файл на програмата;
- Коментар - допълнителна информация, по избор.
Bash автоматично зареждане
В тази статия разгледахме добавянето на linux към автоматичното зареждане, както и как работят автоматичното зареждане и неговите видове.
Коментари
Сега 210 гости и един регистриран потребител на сайта