Apache ir MySQL „on demand“

Stabdom ne visuomet reikalingus servisus. Startuojam juos mygtuku.

Priešistorė

Upgreidinau Ubuntą iki 16.04 (iš 14.04). Viskas praėjo sklandžiai,  tačiau operacinės startavimo laikas lyg ir pailgėjo. Pažiūrėjus

pamačiau, kad Apache ir MySQL užima pakankamai daug sekundžių.

Tad nusprendžiau, kad Apache is MySQL servisai turėtų veikti ne nuolatos, bet tik kai jų reikia. Privalumai:

  • greitesnis operacinės startavimas
  • naudojama mažiau resursų, kai servisai nereikalingi
  • dar kas nors…

Išjungiam

Šalinam procesus iš automatiškai startuojančiųjų:

Atmintinė

Jei kada prireiktų, atstatysiu taip:

Procesų paleidimas rankiniu būdu:

Patikrinimas, ar procesas šiuo metu veikia:

Kurpiam mygtuką

Aišku, terminalas valdo, tačiau patogumo dėlei nusprendžiau paleidimą realizuoti per launcher‘io mygtuką. Paspaudi – ir abu servisai startuoja.

Failų naršyklėje einam į ~/.local/share/applications , spaudžiam dešiniu pelės klavišu kur nors tuščioje vietoje ir pasirenkam Create starter:

Create starter

Neatsimenu, ar šis funkcionalumas yra bazinėje Ubuntu instaliacijoje – greičiausia aš kažkada esu papildomai įsidiegęs Arronax:

Arronax

Užpildom nustatymų laukelius (čia galit improvizuoti):

pastarasis yra kelias iki bash skripto. Skriptą netrukus parašysim (aišku, kad aš visą šitą „muziką“ pradėjau būtent nuo jo). Užpildytų laukelių vaizdas bus kiek žemiau, o dabar

Ikona

Kad būtų visai gražu, nusprendžiau greitai sumesti ikonkę: internete susiradau vektorinį krumpliaratį ir apačės plunksną, tiap-liap vieną ant kito Inkscape‘je ir štai ką turim:

Apache settings

Ikoną išsaugojau kaip ~/bin/lamp-start.svg. Išsaugom ir uždarom Arronax‘o starter‘į

Arronax starter

nutempiam jį iš failų naršyklės tiesiai į reikiamą poziciją tarp kitų mygtukų:

Launcher button

Programinė dalis

Rašom bash’o skriptą:

Paaiškinimai

  • gksudo... kadangi komandas leisim iš grafinės aplinkos, tai vietoj sudo naudojam gksudo. restart paleis procesą net jei jis nebuvo paleistas, todėl man pasirodė universalesnis už paprastą start
  • status... leidžiam komandą, kuri parodo serviso būklę; „iškerpam“ reikšminius žodžius; priskiriam kintamajam – būklės tekstą naudosime pranešimuose
  • message... paruošiam pranešimo tekstą
  • printf... matom pranešimo tekstą kai komandą leidžiam konsolėje (vėliau šią eilutę galima ištrinti/užkomentuoti)
  • notify-send... rodom pranešimą darbalaukyje. Čia gal papasakosiu detaliau:
    • raktas -i leidžia nurodyti naudojamą paveiksliuką
    • pirmas tekstinis parametras bus naudojamas antraštei
    • antras – pranešimo turiniui

Failą išsaugom kaip ~/bin/lamp-start  ir suteikiam vykdymo atributą

Rezultatas

Testuojam: spaudžiam launcher‘io mygtuką ir (po kelių sekundžių, kai servisų (pa/per)leidimo procesas baigtas) matom rezultatą:

notify-send

Patobulinimai

Kaip ir viskas. Bet dar nusprendžiau mygtuko kontekstiniame meniu realizuoti servisų perkrovimą atskirai (labai retai, bet prireikia).

Redaguojam paleidėją

Quicklist tab‘e pridedam vieną ar kelias komandas

Arronax Quicklist

išsaugom; uždarom. Dabar paspaudus dešiniu palės klavišu turim papildomų komandų:

Launcher context menu

Kai reikia tik būklės

Dar pastebėjau tokį lifehack‘ą: paspaudus launcher‘io mygtuką yra klausiama superuser‘io slaptažodžio. Tada galime atšaukti – paspausti Cancel ir serviso perkrovimo komandos nebus vykdomos. Tačiau bus įvykdytos likusios – parodys servisų būklę darbalaukio pranešime. Patogu :)

Parašykite komentarą

El. pašto adresas nebus skelbiamas. Būtini laukeliai pažymėti *