Լավ կարգավորող գործարկում Ubuntu սերվերում: Ստեղծելով ձեր սեփական autorun սկրիպտը, երբ համակարգիչը բեռնաթափվում է Ինչպես ինքնակառավարել հրամանը Linux-ում

Տուն / Տեխնոլոգիաներ

Ubuntu-ն ունի autorun-ի 2 հիմնական մակարդակ՝ systemd սկզբնականացման համակարգում և աշխատանքային միջավայրում: Պատվերով ծրագրային ապահովման համար Ubuntu-ում գործարկումը կարող է կազմաձևվել հարմար գրաֆիկական ծրագրի միջոցով: Դուք կարող եք ավելացնել ծրագիր կամ ձեր սեփական սցենարը autorun-ում:

Ավտոմատ բեռնում Ubuntu-ում

Ներկայիս Ubuntu 18.04-ը լռելյայն օգտագործում է GnomeShell-ը որպես իր աշխատանքային միջավայր: OS-ի այս տարբերակում autorun-ը կարգավորելու համար ձեզ անհրաժեշտ է՝

Խորհուրդ. Համոզվելու համար, որ հրամանը ճիշտ է, դուք պետք է տեղադրեք «Հիմնական ընտրացանկ» կոմունալ ծրագիրը UbuntuSoftwareCenter-ից:

Դրանում ընտրեք հետաքրքրության առարկան և բացեք դրա հատկությունները: Ճիշտ հրամանպատճենված է համանուն տողից։

Ubuntu-ում առկա հավելվածները, որոնք առկա են ցանկում և նշագրված են նշանով, կգործարկվեն ամեն անգամ, երբ ՕՀ-ն գործարկվի: Սրանք բոլորը հավելվածներ են տրված օգտատեր, համակարգային ծրագրերև ծառայություններ, կոմունալը չի ​​ցուցադրվում: IN նախորդ տարբերակները Unity գրաֆիկական կեղևով օպերացիոն համակարգը, գործարկման ստեղծման օգտակարությունը կարելի է գտնել նաև Dash մենյուում որոնելով կամ բացել՝ օգտագործելով տերմինալի հրամանը.

gnome-session-properties.

Ինչպես ավելացնել սցենար Ubuntu-ի գործարկմանը

Բացի կոնկրետ ծրագրաշարից, հեշտ է ավելացնել ինքնուրույն գրված սկրիպտը Linux-ի գործարկման մեջ՝ ձեր աշխատանքը համակարգչում օպտիմալացնելու համար: Դա անելու համար ձեզ հարկավոր է.

  1. Դարձրեք սցենարը գործարկելի՝ օգտագործելով հրամանը.

    sudochmodugo+x /home/user/script.sh

    (որտեղ user-ը օգտատիրոջ անունն է, իսկ script-ը սկրիպտի անունն է, բայց ձեր .sh ֆայլի ուղին կարող է տարբեր լինել. այն պետք է ամբողջությամբ գրված լինի, հակառակ դեպքում սկրիպտը չի աշխատի):

  2. Բացեք «Ավտոմատ կերպով սկսել հավելվածները» և սեղմեք «Ավելացնել»:
  3. Մուտքագրեք սկրիպտի անունը, իսկ որպես հրաման՝ ֆայլի ուղով լրիվ անվանումը, օրինակ՝ /home/user/script.sh:
  4. Սեղմեք «Ավելացնել»:

Ուբունտուում սկրիպտի autorun-ի կազմաձևման մեկ այլ, դասական, բայց համարվում է հնացած միջոց: Այն լրացնելու համար անհրաժեշտ է.


Այս մեթոդը հարմար է նաև UbuntuServer-ում ավտոմատ բեռնման համար, որտեղ գրաֆիկական պատկերներ չկան:

Ubuntu-ում գործարկման ծրագրերի հետաձգում

Եթե ​​Ubuntu-ի գործարկման մեջ շատ ծրագրեր կան, դրանք պետք է բեռնվեն որոշակի կարգով կամ գործարկվեն համակարգի բեռնաթափումից որոշ ժամանակ անց. հետաձգման գործառույթը կօգնի: Այն ակտիվացնելու համար օգտագործեք unix քնի կոմունալ ծրագիրը: Դուք կարող եք օգտվել այս գործիքի հնարավորություններից արդեն ծանոթ Startup Applications ծրագրում: Դա անելու համար ձեզ հարկավոր է.

  1. Բացեք գործարկման հավելվածի կարգավորումների պատուհանը:
  2. Կուրսորով ընտրեք այն ծրագիրը, որի ավտոմատ գործարկումը ցանկանում եք հետաձգել և օգտագործեք «Փոխել» կոճակը:
  3. «Հրաման» տողում առկա մուտքից առաջ մուտքագրեք.

որտեղ «քուն» բառից հետո թիվը հավասար է այն վայրկյանների քանակին, երբ հավելվածը անգործության է մատնվել համակարգի գործարկումից անմիջապես հետո՝ նախքան գործարկումը: Այս բանաձևի միջև պետք է լինի բացատ, որը վերջում պետք է ունենա ստորակետ և հավելվածը գործարկելու հրամանը։

Ubuntu-ում ծրագրերի ծույլ գործարկման օրինակում հավելվածը բացվելուց 2 րոպե մնում է «քնած» վիճակում։ Օրինակ, ՕՀ-ի գործարկումից կես ժամ հետո սկսելը նման կլինի քնի 3 ժամ «ծրագրի անունին»: Օրինակ, որտեղ փոխանցումը սկսվում է 1 ժամ հետո.

քնել 1 ժամ; փոխանցում-gtk %U

Նմանապես, դուք կարող եք ավելացնել հատուկ սկրիպտի հետաձգված կատարումը կամ մեդիա ֆայլի գործարկումը Linux-ում գործարկմանը:

Հեռացում Ubuntu-ի մեկնարկից

Ubuntu-ի մեկնարկից ծրագրակազմը հեռացնելու համար կարող եք օգտագործել 2 մեթոդներից մեկը՝ «Ավտոմատ գործարկվող հավելվածների» միջոցով կամ ձեռքով: Առաջին դեպքում պարզապես գործարկեք կոմունալը, ընտրեք ցանկալի ծրագիրըև սեղմեք «Ջնջել»: Պարզապես վանդակը հեռացնելը անջատում է ծրագիրը, և այն չի սկսվի, երբ համակարգը գործարկվի:

Ձեռնարկի մեթոդը ներառում է Ubuntu-ում autostart թղթապանակի օգտագործումը: Այն գտնվում է /home/username/.config/autostart/ հասցեում (սա տեսնելու համար թաքնված թղթապանակ, դուք պետք է բացեք ձեր տնային գրացուցակը ֆայլերի կառավարիչև միաժամանակ սեղմեք Ctrl+H): Այն պարունակում է .desktop ընդլայնմամբ ֆայլեր՝ autorun-ից յուրաքանչյուր ծրագրի համար, որոնք ավտոմատ կերպով ստեղծվում են գրաֆիկական ծրագրի միջոցով ավելացնելու դեպքում: Բավական է ջնջել ֆայլը, որպեսզի ծրագիրն այլևս չբացվի համակարգիչը միացնելիս։

Եզրակացություն

Ubuntu-ում ավտոմատ բեռնաթափման բազմաթիվ եղանակներ կան նուրբ թյունինգ. Նրա հնարավորությունները դժվար է ընկալել: Այս գործիքի ճիշտ օգտագործումը Linux-ն ավելի գործնական է դարձնում առօրյա գործերում:

Այս հոդվածի նպատակն է ծանոթանալ Ubuntu օպերացիոն համակարգում գործարկման սկզբունքներին Ubuntu-ի օրինակՍերվեր 10.04 LTS, ինչպես նաև գործարկման կարգավորումների ցուցադրում վիրտուալ մեքենա, աշխատում է VirtualBox-ի տակ, և վերջինիս ճիշտ անջատումը ավտոմատ ռեժիմում Ubuntu սերվերն անջատելիս:

Ուշադրություն. Ստորև նկարագրված օրինակը չի կարող կիրառվել գործարկման կարգավորումների վրա գրաֆիկական հավելվածներՀամակարգի որոշակի օգտագործողի համար Ubuntu-ի աշխատասեղանի տարբերակներում: Դա անելու համար օգտագործեք «Սկսնակ հավելվածներ» տարրը Ubuntu-ի հիմնական ընտրացանկից:


Առաջին հերթին սա ավտոմատ մեկնարկծառայություններ/հավելումներ, երբ գործարկվում է օպերացիոն համակարգը: Գործարկումը կարող է նաև ապահովել, որ այս ծառայությունները/հավելվածները նրբագեղորեն կանջատվեն, երբ համակարգը անջատվում կամ վերագործարկվում է:

Գործարկման կազմակերպում Ubuntu Server-ում:
Իհարկե, ծառայությունը ճիշտ սկսել/դադարեցնելու համար անհրաժեշտ է նկարագրել սկրիպտ՝ start/stop հրամաններով։ Նայեք /etc/init.d գրացուցակի բովանդակությանը. այն պարունակում է սկրիպտներ, որոնք վերահսկում են ձեր մեքենայի մեկնարկի/դադարեցման ծառայությունները: Այսպիսով, հաջող կազմաձևման առաջին, բայց ոչ վերջին կետը սկրիպտի առկայությունն է /etc/init.d-ում: Սցենարը չի նկարագրում, թե կոնկրետ երբ պետք է կատարվի: Այն կարող է ընդունել միայն start, stop, restart և այլն պարամետրերը: Ինչպե՞ս է Ubuntu-ն իմանում, թե երբ պետք է կանչել սցենարը: Պատասխանը կայանում է /etc/rcN.d գրացուցակներում, որտեղ N-ը 0-ից 6-ի թիվ է: Այս գրացուցակները պահպանում են /etc/init.d-ի սկրիպտների խորհրդանշական հղումները: Եկեք նայենք, թե ինչ է նշանակում յուրաքանչյուր գրացուցակ, և ամեն ինչ անմիջապես պարզ կդառնա.
- rc0.d – սկրիպտի կատարում, երբ համակարգը անջատված է;
- rc1.d – սկրիպտի կատարում, երբ համակարգը մեկնարկում է մեկ օգտագործողի ռեժիմով;
- rc2.d – սկրիպտի կատարում, երբ համակարգը սկսում է բազմաֆունկցիոնալ ռեժիմում;
- rc3.d – rc5.d – վերապահված;
- rc6.d – սկրիպտի կատարում, երբ համակարգը վերագործարկվում է:

Օրինակ, եթե կա վերաբեռնում, ապա /etc/rc6.d գրացուցակի բոլոր սկրիպտները կկատարվեն, անջատելիս՝ /etc/rc0.d-ից և այլն։ Գրացուցակի անվան համարը կոչվում է գործարկման մակարդակ: Այսինքն՝ /etc/rc0.d գրացուցակը կկոչվի runlevel zero և այլն։
Կա ևս մեկ կարևոր կետ, որը դուք պետք է իմանաք. սա այն հաջորդականությունն է, որով rcN.d դիրեկտորիաներից սկրիպտները կատարվում են: Ի վերջո, Ubuntu-ի մեկնարկը/դադարը ճիշտ կազմակերպելու համար կարող է անհրաժեշտ լինել որոշակի հերթականությամբ սկսել/դադարեցնել ծառայությունները: Այս կետը լուծվում է runlevel դիրեկտորիաներում ֆայլերի հատուկ անվանմամբ: Ֆայլերն ունեն հետևյալ անունները. NN[name], որտեղ մեկ նիշ է («S» նշանակում է, որ սկրիպտը սկսում է ծառայությունը, «K»-ն դադարեցնում է այն), NN-ը հաջորդական համար է, [name] ֆայլի անունն է: Պետք չէ ինքներդ ընտրել «S» կամ «K» նիշը, քանի որ rc1.d-rc5.d գրացուցակներում բոլոր սցենարները պետք է սկսվեն «S» նիշով, իսկ rc0.d և rc6.d գրանշաններով։ գրացուցակներ - «K» նիշով: «NN» թիվը որոշում է սցենարների գործարկման հաջորդականությունը, որն իրականացվում է ամենափոքրից մինչև ամենամեծը: Որքան փոքր է սկրիպտի գործարկման թիվը, այնքան ավելի շուտ այն կգործարկվի համակարգի գործարկման ժամանակ; Որքան մեծ է ծառայության դադարեցման սկրիպտի թիվը, այնքան ավելի ուշ այն կկատարվի:

Եթե ​​Ձեզ անհրաժեշտ է որևէ ծառայություն կամ հավելված գործարկել որոշակի գոյություն ունեցող ծառայությունից առաջ կամ հետո, պարզապես փնտրեք դրա սերիական համարը համապատասխան rcN.d գրացուցակում և հաշվի առեք այն ձեր սկրիպտի համար սերիական համար ընտրելիս:

Դե, որտեղ պահել սցենարները և ինչպես անվանել դրանք, պարզ է, բայց ինչպես գրել:
/etc/init.d գրացուցակը պարունակում է ծառայությունների մեկնարկի/դադարեցման վերահսկման օրինակ սցենար: Ֆայլը /etc/init.d/skeleton է, և ստորև բերված օրինակում այն ​​կպարզեցվի: Նոր սցենար ստեղծելու համար դուք պետք է պատճենեք օրինակը և խմբագրեք այն ձեր կարիքներին համապատասխան: Եկեք օգտագործենք հետևյալ հրամանը.
sudo cp /etc/init.d/skeleton /etc/init.d/myscript && vi /etc/init.d/myscript

Նոր սցենար ստեղծելիս մի մոռացեք տալ նրան կատարման իրավունքներ։ Սկրիպտին կատարման թույլտվություններ ավելացնելու համար օգտագործեք sudo chmod +x /etc/init.d/myscript հրամանը:

Սցենարը պատրաստ է։ Ի՞նչ է հաջորդը:
Որոշ աղբյուրներ պարունակում են առաջարկություններ՝ ln հրամանի միջոցով ձեռքով սիմվոլիկ հղումներ ստեղծելու համար, չնայած առկայությանը հատուկ կոմունալ ծառայություններ. Նախքան սկրիպտ ավելացնելը, կոմունալը ստուգում է դրա վավերականությունը, և ln հրամանը կստեղծի հղում, նույնիսկ եթե սխալներ կան: Ավելի լավ է նախապատվությունը տալ մասնագիտացված կոմունալ ծառայություններին, ինչպիսիք են update-rc.d-ը, որը փաթեթավորված է Ubuntu-ի հետ: Նրա օգնությամբ դուք կարող եք նոր սցենար ավելացնել ցանկացած բեռնվածության մակարդակի, ջնջել գոյություն ունեցողը և այլն։ Ահա օգտագործման օրինակ.
sudo update-rc.d myscript start 99 2 3 4 5 . կանգառ 01 0 1 6.

Այս հրամանը կավելացնի նոր «myscript» սկրիպտը բոլոր բեռնվածության մակարդակներին: Ծառայությունը կսկսվի 2-ից 5-րդ մակարդակներից՝ 99-րդ (վերջին) առաջնահերթությամբ, իսկ ծառայությունը կդադարեցվի 0, 1 և 6 մակարդակներում՝ 01-րդ առաջնահերթությամբ (հենց առաջինը):
Սցենարը գործարկումից հեռացնելու համար օգտագործեք հրամանը.
sudo update-rc.d -f myscript հեռացնել

Եկեք նայենք ավտոբեռնման կարգավորման օրինակին:
Առաջադրանք.կարգավորել VirtualBox-ով աշխատող վիրտուալ մեքենայի ավտոմատ գործարկումը, որը պետք է սկսվի Ubuntu Server օպերացիոն համակարգի գործարկումից երկու րոպե անց: Երբ դուք անջատում կամ վերագործարկում եք Ubuntu սերվերը, վիրտուալ մեքենան պետք է նրբորեն անջատվի:
Ենթադրենք, որ Ubuntu Server-ում տեղադրված է VirtualBox, և կա վիրտուալ մեքենա, որը կոչվում է «Slave», որի օպերացիոն համակարգը աջակցում է նրբագեղորեն անջատվելու կարողությանը, երբ սեղմում եք անջատման կոճակը (ACPI աջակցություն):

Նախ, եկեք գրենք սկրիպտ, որը կգտնվի /etc/init.d գրացուցակում.
sudo cp /etc/init.d/skeleton /etc/init.d/slave && sudo vi /etc/init.d/slave

Սցենարը խմբագրելուց և միայն անհրաժեշտ նվազագույնը թողնելուց հետո մենք ստանում ենք հետևյալ բովանդակությամբ ֆայլ.
#!/bin/sh ### BEGIN INIT INFO # Ապահովում է՝ slave # Required-Start: # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description. VBox վիրտուալ մեքենաների գործարկման և պահպանման վիճակը # Նկարագրություն. Այս սկրիպտը օգտագործվում է VBox վիրտուալ մեքենաների գործարկման և կատարման վիճակը պահպանելու համար՝ օգտագործելով System-V Ubuntu Server-ում: Այս ֆայլը պետք է տեղադրվի /etc/init.d ### END INIT INFO # Հեղինակ՝ Fuks Alexander . /lib/lsb/init-functions # Կատարել Slave-ի վիրտուալ մեքենայի մեկնարկը 2 րոպե ուշացումով perform_start() ( log_daemon_msg "Starting Vbox Slave machine" sleep 120 && su -l -c "VboxHeadless –startvm Slave &" kungfux log_end_msg return 0 ) # Send POWEROFF ACPI signal for Slave's virtual machine perform_save() ( log_daemon_msg "Sending ACPI POWER OFF signal for Vbox Slave machine" su -l -c "VboxManage controlvm Slave acpipowerbutton" kungfux log0_end ” սկզբում) perform_start ;;

stop) perform_save ;;

Kungfux@itworks:~$ sudo update-rc.d slave start 99 2 3 4 5 . կանգառ 01 0 1 6. Համակարգի մեկնարկի ավելացում /etc/init.d/slave ... /etc/rc0.d/K01slave -> ../init.d/slave /etc/rc1.d/K01slave -> ../init.d/-ի համար ստրուկ /etc/rc6.d/K01slave -> ../init.d/slave /etc/rc2.d/S99slave -> ../init.d/slave /etc/rc3.d/S99slave -> ../ init.d/slave /etc/rc4.d/S99slave -> ../init.d/slave /etc/rc5.d/S99slave -> ../init.d/slave

Վերագործարկվելուց հետո կարող եք ստուգել, ​​որ վիրտուալ մեքենայի գործարկման հրամանն ավարտված է: Դիտարկենք մեկնարկի զեկույցը.

Kungfux@itworks.~$ cat /var/log/boot.log fsck util-linux-ng 2.17.2 /dev/sda1: մաքուր, 92526/4751360 ֆայլեր, 2565789/18975488 բլոկներ * Սկսում է Jenkins Server-ի շարունակական ինտեգրումը No-IP.com-ի դինամիկ հասցեի թարմացում noip2 * Ինտերնետ գերսերվերի չսկսում. ծառայություններ չկան միացված * Postfix Mail Transport Agent postfix * Սկսում է bittorrent daemon transmission-daemon * Սկսում է VirtualBox միջուկի մոդուլները * Սկսում է NTP սերվերը ntpd * Սկսում է ftp սերվերը proftpd * Սկսում է վեբը սերվեր apache2 * Գործարկում է Vbox Slave մեքենան

Վերջին տողը պարունակում է տեքստը, որը թողարկվել է «ստրուկ» սցենարով:
Ավելին, init.d-ի համար գրված սկրիպտները կարող են օգտագործվել ցանկացած պահի տերմինալից։ Օրինակ, վիրտուալ մեքենա գործարկելու համար գործարկեք հրամանը.
kungfux@itworks:~$ /etc/init.d/slave start

Ինչպես երևում է օրինակից, Ubuntu օպերացիոն համակարգը հարուստ հնարավորություններ է տալիս ծառայությունների/ծրագրերի մեկնարկը/դադարը վերահսկելու համար։ Սկսնակ սկրիպտներում դուք կարող եք նկարագրել այլ ծառայություններից մեկնարկած/դադարեցված ծառայությունների կախվածությունը՝ օգտագործելով «Պահանջվող-Սկսել/Պահանջվում է-Կանգառ» բաժինները, և սկրիպտն ինքնին կարող է լինել ցանկացած բարդության, ինչը թույլ է տալիս կազմակերպել նույնիսկ առավելագույնը: «նուրբ» ստարտափ.

Այս նյութը գրվել է «Ubuntu OS 2011-ի ռուսալեզու հոդվածների առաջին մրցույթի համար» (konkurs.ubuntu.ru):

Մենք անընդհատ օգտագործում ենք բազմաթիվ ծրագրեր և գործարկում ենք դրանք ամեն անգամ, երբ համակարգը միանում է, իսկ որոշները, ինչպիսիք են ակնթարթային մեսենջերները կամ տարբեր կոմունալ ծառայություններ, պետք է անընդհատ գործարկվեն հետին պլանում՝ իրենց առաջադրանքը ճիշտ կատարելու համար: Այդ նպատակով ներս օպերացիոն համակարգերկա ավտոմատ բեռնում. Ծրագրերը ավտոմատ կերպով սկսվում են ՕՀ-ի կամ գրաֆիկական վահանակի գործարկումից հետո:

Այս հոդվածում մենք կխոսենք այն մասին, թե ինչպես է ավտոմատ բեռնումը Ubuntu-ում, գործարկման ինչ մեթոդներ կան այս համակարգում և ինչպես ավելացնել այնտեղ ծրագրեր:

AUTOBOOT UBUNTU-ում

Առաջին բանը, որ պետք է ասել, այն է, որ Ubuntu-ում կան մի քանի մակարդակի ստարտափ: Ես չեմ խոսի systemd-ի և , քանի որ ես արդեն անդրադարձել եմ սա առաջին հոդվածներից մեկում: Ծրագիրը կամ սցենարը կարող է ավելացվել գործարկմանը հետևյալ եղանակներով.

  • Կոմունալ «Ավտոմատ գործարկվող ծրագրեր»;
  • «Սկսնակ» թղթապանակ;
  • Ֆայլ rc.local;
  • Xinitrc ֆայլ;

Մենք կքննարկենք առաջին երկու մեթոդները, քանի որ վերջին երկուսը ավելի շատ նախատեսված են ոչ թե ծրագրերի, այլ սցենարների համար: Նախ, ավտոմատ բեռնեք Ubuntu-ում՝ օգտագործելով ստանդարտ կոմունալ ծրագիրը:

Բացեք համակարգի ընտրացանկը և մուտքագրեք «Ավտոմատ»և բացեք այն ծրագիրը, որը կլինի առաջինը ցուցակում՝ Startup Applications:

Բոլոր հավելվածները, որոնք ներկայումս գործարկվում են ավտոմատ կերպով, կցուցադրվեն այստեղ: Ubuntu-ի գործարկմանը մեկ այլ ծրագիր ավելացնելու համար սեղմեք կոճակը «Ավելացնել»:

Այստեղ դուք պետք է մուտքագրեք նոր տարրի անունը, ինչպես նաև հավելվածի գործարկման հրամանը: Դուք կարող եք ընտրել հավելվածը ֆայլային համակարգ, եթե չես հիշում ուղին, սեղմիր կոճակը «Կարծիք»:

Անհրաժեշտության դեպքում հրամանի մեջ կարող եք նշել պարամետրերը: Կարող եք նաև լրացնել դաշտը «Նկարագրություն», բայց դա այլևս անհրաժեշտ չէ։ Եթե ​​պետք է կոնկրետ ծրագիրհիմնական ընտրացանկից, բայց դուք չգիտեք, թե որտեղ գտնել այն և ինչպես գրել դրա հրամանը, կարող եք այն փնտրել նույն ընտրացանկում: Բայց դրա համար մենք պետք է նախ տեղադրենք կոմունալը «Հիմնական մենյու» App Center-ից՝

Այստեղ դուք պետք է ուշադրություն դարձնեք գծին «Թիմ», պատճենեք այն և կարող եք օգտագործել այն գործարկման համար:

Հաջորդ մեթոդը գործարկման թղթապանակն է: Այն գտնվում է ~/.config/autostart հասցեում: Ըստ էության, սա նույն մեթոդն է, միայն այն կարելի է անել առանց գրաֆիկական ինտերֆեյսի: Երբ դուք կարգավորում եք գործարկումը հավելվածի միջոցով, այս թղթապանակում ստեղծվում են աշխատասեղան անունով կարգավորումների ֆայլեր: Ահա, օրինակ.

Հիշեցնում եմ, որ նայելու համար թաքնված ֆայլերպետք է սեղմել ստեղների համակցությունը Ctrl+H: Այժմ եկեք փորձենք ստեղծել նոր կազմաձևման ֆայլ մեկ այլ ծրագրի համար: Ահա թե ինչպիսին կլինի դրա շարահյուսությունը.


Տեսակ = Դիմում
Անուն = new_item_name
Exec = հրաման
Սրբապատկեր = full_path_to_icon
Մեկնաբանություն = մեկնաբանություն
X-GNOME-Autostart-enabled=ճշմարիտ

Օրինակ, եկեք ստեղծենք ֆայլ VLC նվագարկիչը գործարկելու համար, այն կունենա հետևյալ տեսքը.

vi ~/.config/autostart/vlc.desktop


Տիպ=Դիմում
Անուն = VLC
Exec = vlc
Icon=/usr/share/icons/hicolor/16x16/apps/vlc.png
Comment=VLC Media Player
X-GNOME-Autostart-enabled=true

Կատարված է, և զվարճալի մասն այն է, որ եթե բացեք գործարկման հավելվածը: Այս տարրը նույնպես կհայտնվի այնտեղ: Սա առանց գրաֆիկական ինտերֆեյսի կարգավորելու միջոց է:

ԵԶՐԱԿԱՑՈՒԹՅՈՒՆՆԵՐ

Այս կարճ հոդվածում մենք նայեցինք, թե ինչպես է կարգավորվում ավտոմատ բեռնումը ubuntu ծրագրեր տարբեր ձևերով- միջոցով GUIև տերմինալ: Դուք կարող եք օգտագործել այս գիտելիքները՝ բարելավելու ձեր համակարգի փորձը: Թեև Ubuntu-ն անցել է Gnome-ին, Ubuntu 16.04-ի գործարկումը դեռևս գրեթե նույնն է թվում: Եթե ​​ունեք հարցեր, հարցրեք մեկնաբանություններում:

Առնչվող գրառումներ.


Համակարգիչը միացնելուց հետո, որպես կանոն, պետք է գործարկենք որոշ ծրագրեր։ որը մենք ամենից հաճախ օգտագործում ենք: Բացի այդ, համակարգը գործարկելուց հետո մեզ կարող է անհրաժեշտ լինել որոշակի հատուկ ջանքեր գործադրել, օրինակ՝ ստեղծել անհրաժեշտ ֆայլերկամ սահմանել որոշ պարամետրեր: Այս հոդվածում մենք կանդրադառնանք, թե ինչպես է աշխատում Linux-ի ավտոմատ բեռնումը, ինչպես ավելացնել մեկնարկային ծրագրերը, որտեղ ավելի նպատակահարմար կլինի դրանք ավելացնել, ինչպես նաև, թե ինչ տեսակի ավտոմատ բեռնում կան այս օպերացիոն համակարգում:

Linux-ի գործարկման մեջ ծառայություն ներառելու կարգը ենթադրում է, որ անհրաժեշտ ծրագիրն արդեն տեղադրված է փաթեթների կառավարչի միջոցով կամ կազմված է: Զանգի ընդհանուր տեսքը անհրաժեշտ հրամաններըներկայացված է ստորև բերված օրինակում:

systemctl միացնել service_name.service
update.rc service_name կանխադրված է
chkconfig - ավելացնել ծառայության_անուն

Ծրագրերի ավելացում Linux-ում գործարկման համար

Այս օրինակը նկարագրում է, թե ինչպես ավելացնել nginx-ը մեկնարկին: Նույն սկզբունքով մենք ավելացնում ենք այլ ծրագրեր։ Նախ անհրաժեշտ է սահմանել ֆայլի կատարման իրավունքները.

chmod +x /etc/init.d/nginx

Այնուհետև մենք այն գրում ենք ավտոմատ բեռնման մեջ.

/usr/sbin/update-rc.d -f nginx լռելյայն

Ծրագրերի ավելացում Linux-ում գործարկման համար

Ստեղծեք ֆայլ /etc/init.d/-ում

sudo nano /etc/init.d/

Սցենարի սկզբում անհրաժեշտ է ավելացնել.

Սահմանեք կատարման իրավունքները /etc/init.d/local:

sudo chmod +x /etc/init.d/local

Autorun-ին ավելացրեք /etc/init.d/local սկրիպտը՝

sudo update-rc.d տեղական լռելյայն 80

Այժմ մենք կարող ենք հրամաններ ավելացնել մեր տեղական սցենարին, որոնք պետք է կատարվեն, երբ համակարգը գործարկվի:

Ստեղծեք դատարկ ֆայլ:

Առաջին տողում գրում ենք.

#!/bin/sh

Այս տողում նշվում է, թե որ հրամանի վահանակն օգտագործել: Հաջորդը ձեր թիմերն են:

Եկեք այն պահպանենք սկզբնական անվան տակ (որպեսզի չհամընկնի գոյություն ունեցողների հետ) /usr/sbin/ գրացուցակում։

Որպեսզի սկրիպտը գործարկվի boot-ում, դուք պետք է գրանցեք այն /etc/rc.local ֆայլում մինչև գծի ելքը 0: Եթե չունեք այս ֆայլը, ստեղծեք այն և տեղադրեք հետևյալ բովանդակությունը դրա մեջ.

#!/bin/sh -e #Այստեղ մենք տեղադրում ենք տող, որը ցույց է տալիս ձեր սցենարը: /usr/sbin/mescripts ելք 0

Մի փոքր ավելի բարդ ճանապարհ

Թույլ է տալիս սահմանել սկրիպտի բեռնման հաջորդականությունը և վարքագիծը գործարկման տարբեր մակարդակներում:

Մենք ուսումնասիրում ենք /etc/init.d/skeleton-ը, դրա հիման վրա ստեղծում ենք /etc/init.d/my_script սկրիպտը, որը կսկսի/կասեցնի մեր հավելվածը։

Այս գրացուցակները պարունակում են ծառայությունների դադարեցման սկրիպտներ.

/etc/rc0.d/ /etc/rc1.d/ /etc/rc6.d/

Սրանք ծառայության գործարկման սցենարներ են.

/etc/rc2.d/ /etc/rc3.d/ /etc/rc4.d/ /etc/rc5.d/

Մենք ուսումնասիրում ենք դրանք հետևողականության համար (որքան փոքր է առաջին նիշը սկրիպտի սկզբում, այնքան շուտ է սկսվում/դադարում հավելվածը): Սա կարող է կարևոր լինել, եթե ձեր դիմումը կախված է որոշ ծառայություններից:

Այն բանից հետո, երբ մենք որոշել ենք մեկնարկի սցենարը և հաջորդականությունը, մենք կատարում ենք հետևյալը.

Sudo update-rc.d my_script start 70 2 3 4 5 . կանգառ 20 0 1 6.

Այստեղ ես որոշեցի, որ իմ սցենարը պետք է սկսվի ավելի ուշ, քան մյուսները (70), և դադարեցվի ավելի վաղ (20): 2 3 4 5 0 1 6 թվերը ցույց են տալիս ծանրաբեռնվածության մակարդակները:

Եթե ​​ինչ-որ բան ձեզ դուր չի գալիս, կարող եք ջնջել ամեն ինչ

Sudo update-rc.d -f my_script հեռացնել

Մանրամասների համար տե՛ս man update-rc.d:

Ցանցը միացված/անջատելիս սկրիպտի կատարում

Կա /etc/network/ գրացուցակ՝ if-down.d, if-pre-up.d, if-post-down.d, if-up.d ենթագրքերով: Եթե ​​սկրիպտը տեղադրեք այս ենթագրքերից մեկում, այն կկատարվի համապատասխանաբար անջատելիս, միացնելուց առաջ, անջատելուց հետո կամ ցանցը միացնելիս:

Մեկ այլ եղանակ է /etc/network/interfaces ֆայլում նշել հետևյալ հրահանգներից մեկը՝ վերև, նախապես վեր, հետվերև, ներքև, նախապես ներքև, հետընտրական ներքև: Օրինակ, գիծը

Post-up /path/to/script.sh

ցանցը միացնելուց հետո կկատարվի սցենարը սցենար.շ. Դուք կարող եք ավելին կարդալ մարդու միջերեսներում:

Ամեն դեպքում, սկրիպտը պետք է թույլտվություն ունենա, որպեսզի թույլատրի կատարումը, հակառակ դեպքում այն ​​չի կարողանա գործարկել:

© 2024 ermake.ru -- Համակարգչի վերանորոգման մասին - Տեղեկատվական պորտալ