Automatiškai pasileidžiančių Mac aplikacijų valdymas
Jei pastebėjote, kad „Mac“ pradėjo krautis gerokai ilgiau, gali būti, kad problema slypi automatiškai startuojančiose aplikacijose.
Diegiant kai kurias aplikacijas, jos nurodo automatiškai paleisti jas ar jų specialias tarnybas kai naudotojas prisijungia prie savo paskyros. Kai kurių aplikacijų, pavyzdžiui „Dropbox“ atveju tai naudinga funkcija, tačiau kai kurios automatiškai startuojančios aplikacijos gali lėtinti kompiuterio sistemos įkrovimo procesą ir bereikalingai eikvoti kompiuterio resursus.
Automatiškai startuojančių aplikacijų reikėtų ieškoti dviejose vietose: viena yra prieinama naudotojui ir leidžia be didesnių žinių automatiškai startuojančias aplikacijas ištrinti ar įdėti į sąrašą, o kita — paslėpta diske ir jai valdyti reikės šiek tiek žinių ir pasitelkti „Terminal“ aplikaciją.
Pradėsiu nuo akivaizdesnio, paprastesnio ir daugeliui suprantamo būdo.
Automatiškai startuojančių aplikacijų trynimas System Preferences pagalba
- Atidarykite System Preferences.
- Pasirinkite Users and Group.
- Pažymėkite savo naudotojo paskyrą kairėje lango pusėje.
- Aktyvuokite Login Items skirsnį
- Jei Lango apačioje/kairėje matote užrakintos spynos piktogramą – paspauskite ant spynos ir įvesite savo paskyros slaptažodį.
- Automatiškai startuojančių aplikacijų sąraše pažymėkite aplikaciją, kuriai nenorite leisti automatiškai pasileisti jums prisijungiant prie savo paskyros ir paspauskite - piktogramą esančią po sąrašu.
Baigę automatiškai pasileidžiančių aplikacijų trynimą, nepamirškite dar kartą spustelėti ant spynos ir ją užrakinti.
Ištrintas aplikacijas galėsite paleisti rankiniu būdu tada, kai jums jų prireiks.
Aplikacijų startavimo vėlinimas
Kai kurias aplikacijas ar jų tarnybas automatiškai startuojančių sąraše geriau yra palikti, tačiau jų startavimą pavėlinti.
Pavyzdžiui, nors „Photos“ ir „iTunes“ aplikacijos pritaikytos veikti su sisteminiame diske esančiomis jų bibliotekomis, kai kurie naudotojai prikaupę milžiniškus duomenų kiekius tose bibliotekose nutaria jas iškelti į išorinius diskus. Taip sukonfigūruotos aplikacijos jei diskai dar nebus už´mount´inti greičiausiai pasitiks pranešimu apie nerastos bibliotekos klaidą. Tokiais atvejais geriau nurodyti atidėti tos aplikacijos startavimą kuriam laikui.
Tai padaryti galima tiek shell skripto pagalba tiek ir „Script Editor“, čia jau kaip jums patogiau rašyti skriptus. Galima ir patikrinimą įdėti ar diskai jau už´mount´inti ir aplikaciją paleisti tik tada kai to reikia. Žinoma nereikėtų į begalinį laukimo ratą įsukti šio proceso. Tokio skripto logika turėtų būti paprasta: palaukiame 10 sekundžių (wait 10), patikriname ar diskas jau yra už´mount´intas ir jei taip atidarome aplikaciją, žemiau shell skripto pvz. (tik indikacijai)
#!/bin/sh sleep 10 if [ -d "/Volumes/diskas" ]; then open "/Applications/Aplikacija.app" else sleep 5 if [ -d "/Volumes/diskas" ]; then open "/Applications/Aplikacija.app" fi fi
Žinoma, geriausia būtų sukurti skriptą, kuris paleidžia kitus skriptus taip, kad šie galėtų visi veikti vienu metu fone. Aukščiau esančiame paveikslėlyje, mano automatiškai pasileidžiančių aplikacijų sąraše yra „LaunchStartupScripts.sh“ skriptas, kuris ir paleidžia visą eilę mano kitų skriptų man prisijungiant prie savo paskyros.
Automatiškai startuojančios aplikacijos, kurių nėra System Preferences sąraše
Diegiant kai kurias aplikacijas, jos automatiškai startuojančias paslaugas įrašo taip, kad jų naudotojas nemato „System Preferences“. Taip gali būti įrašytos ne tik naudotojui prie savo paskyros jungiantis startuojančios, bet ir automatiškai pasileidžiančios startuojant kompiuteriui aplikacijos ir tarnybos.
Nuorodos automatiškai startuoti tokias aplikacijos ar tarnybos yra patalpintos ~/Library/LaunchAgents/ jei reikia, kad ji startuotų naudotojui jungiantis prie savo paskyros arba /Library/LaunchAgents/ jei reikia ją/jas įkelti kylant kompiuterio sistemai.
Norint tokiai aplikacijai/tarnybai neleisti startuoti reikia „Terminal“ aplikacijoje paleisti komandą
launchctl unload -w /Library/LaunchAgents/com.kompanija.paslaugospavadinimas.plist
Jei tai aplikacija ar tarnyba kylanti tik jungiantis naudotojui tada vietoje /Library/ reikėtų rašyti ~/Library/. Pavyzdžiui norint atjungti naudotojui besijungiant prie savo paskyros automatiškai pasileidžiančią „AdobeCreativeCloud“ tarnybą komanda atrodytų taip:
launchctl unload -w /Library/LaunchAgents/com.adobe.AdobeCreativeCloud.plist
Jei atlikę šį veiksmą supratote, kad vis tik reikia šios tarnybos, vėl grąžinti nuorodą ją startuoti automatiškai galite:
launchctl load -w /Library/LaunchAgents/com.adobe.AdobeCreativeCloud.plist
Jei nuėmę automatinį startavimą pamatėte, kad viskas gerai, tą .plist failą galite ir visai ištrinti sudo rm /Library/LaunchAgents/com.kompanija.paslaugospavadinimas.plist
, bent jau iki sekančio atnaujinimo.
Yra ir dar pora vietų kur galima pamatyti naudotojo sąsajoje nematomas automatiškai startuojančias tarnybas, tai /Library/LaunchDaemons/ ir ~/Library/LaunchDaemons/. Atminkite, kad .plist failo buvimas šioje direktorijoje nebūtinai reiškia, kad jis yra paleidžiamas. Pasinaudokite launchctl unload
komanda ir jei gausite klaidos „Could not find specified service“ pranešimą — ši tarnyba nėra automatiškai paleidžiama.
Ne geriau daryti tikrinimo ciklą su tuo pačiu sleep? Tai dabar išeina, kad jeigu mount pointo nebus po 10s tai dar kartą vykdys sleep ir jeigu vėl nebus mount pointo, nebepasileis niekas :-)
Čia tik pvz. galima daryti kaip tik nori, nors ir į amžiną loop'ą įsukant. Aš manau jei neatsirado nuo logino per 15 sekundžių diskai (jei turėtų – yra pajungti) tada apskritai reikia patikrinti boot'o seką, nes ten kažkas netvarkoje.