Како аутоматски покренути Линук команде и скрипте при поновном покретању система

How Run Linux Commands



Аутоматско покретање апликација и скрипти при покретању може бити корисно за аутоматизацију уобичајених задатака и догађаја при покретању. Овај чланак ће објаснити неколико метода које се могу користити за покретање апликација и скрипти при поновном покретању или новом пријављивању.

Стартуп Апплицатионс

Убунту и друге дистрибуције засноване на ГНОМЕ -у долазе са апликацијом која се једноставно назива Стартуп Апплицатионс. Може се користити за управљање апликацијама и скриптама које се покрећу при поновном покретању система или пријављивању.







Покрените апликацију Стартуп Апплицатионс из покретача апликација и кликните на дугме Додај да бисте додали нови унос.





Попуните поља Име и Наредба према вашим потребама, а затим кликните на дугме Додај да бисте довршили креирање новог уноса. Унос креиран на слици испод ће послати подсетник Направи резервну копију као системско обавештење при сваком поновном покретању / пријављивању. Можете га заменити сопственом командом или пуном путањом вашег басх скрипта. Такође можете користити било коју постојећу системску команду или извршне датотеке које се обично налазе у различитим фасциклама за смеће у систему датотека.





Као што је горе наведено, резервни подсетник се приказује при сваком поновном покретању.



Системд

Системд је демон и сервисни менаџер који садржи разне помоћне програме за управљање системским процесима и компонентама ОС -а. У поједностављеном облику, обично се користи за покретање и завршавање услуга у новом циклусу покретања.

Системд се може користити за аутоматско покретање апликације или покретање скрипте при новом покретању. Да бисте креирали исто горе наведено обавештење подсетника, прво морате да креирате потребне фасцикле и датотеке покретањем наредби испод:

$мкдир -п~/.цонфиг/систем/корисника
$нано~/.цонфиг/систем/корисника/бацкуп_реминдер.сервице

Замените нано командом вашег омиљеног уређивача текста. Замените бацкуп_реминдер било којим другим именом које желите.

Залепите доњи код у датотеку бацкуп_реминдер.сервице креирану помоћу горње команде.

[Јединица]
Опис = Шаље резервни подсетник при сваком поновном покретању
ПартОф = графичка сесија.циљ

[Услуга]
ЕкецСтарт = басх -ц 'слееп 10; нотифи-сенд 'Направи резервну копију' '
Тип = онехот

[Инсталирај]
ВантедБи = графичка сесија.циљ

Горњи код је прилично јасан. Он шаље обавештење Направи резервну копију 10 секунди након учитавања графичке сесије (једном при сваком поновном покретању или пријављивању).

Покрените доње команде да бисте омогућили услугу тако да се може аутоматски покренути при сваком поновном покретању.

$цхмод 644~/.цонфиг/систем/корисника/бацкуп_реминдер.сервице
$ системцтл--корисник омогућитибацкуп_реминдер.сервице
$ системцтл--корисникдаемон-релоад
$ ребоот

Ово је само једноставан пример извођења основне команде при покретању система системд. Такође можете да креирате напредне услуге са више услова и више команди. За више информација погледајте системску ман страницу покретањем наредбе испод:

$човечесистем

Имајте на уму да овај пример објашњава креирање нове услуге која не захтева роот приступ и погодна је за аутоматско покретање апликација које не захтевају роот дозволе. Ако желите да аутоматски покренете скрипте које захтевају роот приступ, морате да креирате нову услугу системд у/етц/системд/систем директоријуму уместо у ~/.цонфиг/системд/усер фолдер и изоставите -усер прекидач у горе наведеним командама.

Црон Јоб

Црон је алатка која може периодично покретати заказане задатке према условима које је одредио корисник. Ови заказани послови се стварају у Цронтабу у унапред дефинисаном формату. Једноставно речено, Цронтаб говори Црону који послови у ком тренутку треба да се покрену.

Као и системд, послови цронтаба се могу користити за покретање апликација и аутоматско покретање скрипти при покретању. Да бисте додали нови црон посао, покрените наредбу испод:

$цронтаб

Додајте следеће редове на крај текстуалне датотеке (аутоматски покреће ГНОМЕ терминал при сваком поновном покретању):

СХЕЛЛ =/бин/басх
@ребоот слееп 30 && ДИСПЛАИ =: 0 гноме-терминал

Можете користити сопствену команду или доставити пуну путању до скрипте љуске.

Имајте на уму да за разлику од системд, црон не може открити да ли је графичка сесија учитана или није. Морате да наведете неки процењени период чекања док се Кс сервер не учита и идентификатор приказа. Можете сазнати за свој ИД приказа тако што ћете покренути наредбу испод:

$Избацио $ ДИСПЛАИ

Кашњење пре извршења наредбе или скрипте зависи од конфигурације вашег система и времена покретања.

Рц.лоцал

Други начин покретања скрипти и команди при покретању је употреба датотеке рц.лоцал. Имајте на уму да у свом тестирању нисам могао да одложим извршавање скрипте све док графичка сесија није била активна. Додавање било каквог одлагања спавања доводи до кашњења у приказивању самог екрана за пријављивање. Због тога нисам имао успеха у покретању графичких апликација при покретању помоћу датотеке рц.лоцал. Уређивање рц.лоцал такође захтева роот приступ, за разлику од свих других горе наведених примера.

Да бисте додали команде / скрипте у датотеку рц.лоцал, покрените наредбу испод (креира нову датотеку рц.лоцал ако не постоји):

$судо нано /итд/рц.лоцал

Додајте своје команде између #! /бин/басх и изађите из 0 линија, као што је приказано испод:

#! /бин/басх
патх/то/ми_сцрипт.сх
излаз 0

Учините датотеку рц.лоцал извршном наредбом испод:

$судо цхмод+ к/итд/рц.лоцал

Само поново покрените систем да би почетна скрипта ступила на снагу.

Закључак

Ово је неколико метода које се могу користити за аутоматско покретање скрипти и апликација при покретању. Ако желите да покренете скрипте које не захтевају роот приступ, препоручио бих да користите апликацију ГУИ Стартуп Апплицатионс. Ако желите да покрећете апликације и скрипте са роот приступом, предлажем вам да направите услугу системд на нивоу система.

О аутору

Нитесх Кумар

Ја сам слободни програмер софтвера и писац садржаја који воли Линук, софтвер отвореног кода и заједницу бесплатног софтвера.

Прикажи све постове