Kaip automatizuoti „Mac“ šiukšlinės išvalymą
Man patinka, kad „Mac“ kompiuteryje daugelį procesų galima automatizuoti. Kai kurių procesų automatizavimą „Mac“ yra numačiusi „Apple“ ir įdiegusi jų įjungimą vartotojo sąsajos pagalba, tačiau lai kurių procesų automatizavimui „Apple“ yra pateikusi tik įrankius ir automatizavimą sutvarkyti turi pats vartotojas.
Kiekviename „Mac“ kompiuteryje, kuriame įdiegta „OS X Tiger“ (10.4) ar naujesnė „OS X“ versija yra ir „Automator“ aplikacija. Šios aplikacijos pagalba, be kokių nors specialių žinių galima sukurti nesudėtingą, tačiau naudingą aplikaciją ir taip automatizuoti tam tikrus veiksmus. „OS X Automator“ veikia su eile „OS X“ aplikacijų, tokių kaip „Finder“, „Safari“, „Calendar“ ir t.t. „Automator“ taip pat veikia ir su kai kuriomis kitų programuotojų sukurtomis aplikacijomis, tokiomis kaip „Microsoft Office“, „Adobe Photoshop“, „Pixelmator“ ir t.t.
„Automator“ naudinga kai reikia automatizuoti kelių ar keleto vartotojo veiksmų reikalaujančius uždavinius. Tokiems vartotojo veiksmams aprašyti galima sukurti „Automator“ aplikaciją, nurodyti kokius veiksmus norima atlikti ir tai išsaugoti kaip atskirą failą/aplikaciją. „Automator“ leidžia automatizuoti ir taip, kad nereikėtų tos aplikacijos vartotojui paleidinėti ir ji pati, kas tam tikrą laiko tarpą juos automatiškai atliktų.Vieną tokių automatiškai atliekamų veiksmų, padėsiančių išsaugoti geresnes „Mac“ kompiuterio sanitarines sąlygas aprašysiu žemiau.
Automatinis „Mac“ kompiuterio „šiukšlių išnešimas“
Vienas paprasčiausių būdų automatiškai atlikti tam tikrus veiksmus „Mac“ kompiuteryje yra „Automator“ pagalba sukurti Kalendoriaus įrašo aplikaciją.
Žemiau aprašytu būdu galite sukurti kalendoriaus įrašo aplikaciją, kuri trins „Mac“ kompiuterio šiukšlinėje (Trash) esančius failus kalendoriaus įrašuose nurodytu periodiškumu.
Daug vartotojų nuoširdžiai trina failus, tačiau pamiršta išsivalyti „Trash'ą“. Man patinka „Mail“ aplikacijos funkcija automatiškai trinanti ištrintus ar į „Junk“ aplanką patalpintus elektroninius laiškus. Taip pat nematau reikalo užsukinėti į „Trash“ aplanką ir jį periodiškai valyti, jei tą veiksmą galima automatizuoti (juk būtumėme laimingi jei it iš namų šiukšlės dingtų automatiškai) :) .
- Atidarykite „Automator“ aplikaciją, ją rasite „Mac“ kompiuterio Aplications aplanke.
- Atsidariusiame lange pažymėkite „Calendar Alarm“
- spauskite ant „Choose“ mygtuko
- Kairėje pusėje esančiame stulpelyje pažymėkite Utilities
- Iš dešiniau esančio stulpelio į dešiniausią - pagrindinį aplikacijos langą pertempkite „Run Shell Script“ (arba porą kartų pele spragtelėkite per „Run Shell Script“)
- atsidariusiame Shell komandos langelyje ištrinkite viską kas jame yra įrašyta (greičiausiai ten bus cat komanda) ir įrašykite šį tekstą:
#!/bin/bash rm -rdf ~/.Trash/*
Jei kompiuteryje įdiegta daugiau diskų ar esate diską suskaidę į skirsnius (particijas), ar norite, kad būtų ištuštinamos ir dažnai prie kompiuterio pajungtų išorinių diskų šiukšliadėžės (aišku jei jie komandos vykdymo metu yra prie kompiuterio pajungti) – įrašykite ir kelią iki tuose diskuose esančių .Trash aplankų. Pavyzdžiui:
#!/bin/bash rm -rdf ~/.Trash/* rm -rdf /Volumes/diskas1/.Trashes/501/* rm -rdf /Volumes/diskas2/.Trashes/501/* rm -rdf /Volumes/diskas3/.Trashes/501/* rm -rdf /Volumes/diskas4/.Trashes/501/*
Būkite dėmesingi rašydami šią komandą. Shell komanda rm -rdf trina visus failus ir aplankus nurodytoje direktorijoje ir neprašys patvirtinimo jų ištrynimui, todėl įrašykite ją tiksliai taip - su visomis tildėmis (~), taškais bei žvaigždute pabaigoje po pasviro brūkšnio kaip parodyta pavyzdyje. - Iš Automator meniu pasirinkite File > Save (Cmd ⌘-S) ir suteikite aplikacijai pavadinimą. Tokiu pavadinimu bus matomas ir įrašas kalendoriuje.
- Išsaugojus sukurtą aplikaciją automatiškai bus atidaryta „Calendar“ aplikacija ir joje sukurtas įrašas su aplikacijos pavadinimu įrašo aprašymo lauke.
- Sukurtame „Calendar“ aplikacijos įraše nurodykite periodiškumą, kada šis veiksmas turi būti atliekamas.
Jei neturėjote „On My Mac“ „Calendar“ grupės, šis kalendoriaus įrašo tipas tokią grupę sukurs.
Dar daugiau galimybių automatizuojant „Mac“ šiukšlinės valymą
Jei esate iš tų žmonių, kuriems tenka grąžinti failus iš šiukšlinės į vietą - galite, kurdami „Automator“ aplikaciją nurodyti, kad būtų trinami tik tam tikro senumo failai, pakeisdami antrą „Shell“ skripto eilutę atitinkama komanda, pvz.:
find ~/.Trash/* -mtime +1d -print0 | xargs -0 rm -rdfTiems, kas nelabai jaučiasi stiprūs „Shell“ skriptuose paaiškinsiu, kad ši komanda randa failus šiukšlinėje patalpintus seniau nei prieš vieną dieną ir juos ištrina, šiukšlinėje palikdama failus, nuo kurių patalpinimo į „Trash'ą“ praėjo mažiau nei 24 valandos. +1d nurodo daugiau nei vieną dieną, +2d - bus daugiau nei dvi dienos +2h - daugiau nei dvi valandos.
man findarba, kad būtų patogiau skaityti
man -t find | open -f -a /Applications/Preview.app
rm -rdf
dalies joje, nes ji trins failus. Vietoje jos geriau įveskite -n1
.
Visa bandymui skirta komanda galėtų atrodyti:
find ~/.Trash/* -mtime +1d -print0 | xargs -0 -n1Tokiu atveju, Terminal aplikacijos lange failai, kurie būtų ištrinti panaudojant rm komandą bus tik parodomi.
Vartotojams, kurių „Mac“ kompiuteriuose daugiau nei 1 HDD ar SSD diskas, gali tekti nurodyti kelis „Trash“ aplankus, kuriuose turi būti trinami failai.Tokiu atveju „Shell“ skripte įrašykite dar vieną eilutę, tik joje nurodykite, kad būtų trinami kitame diske esančio Trash turinys.
Jei kartais kam kiltų klausimas, kurioje vietoje „Automator“ pagalba sukurta aplikacija yra išsaugota, tai ją rasite ~/Library/Workflows/Applications/Calendar
Jei viską teisingai padarėte, daugiau rūpintis „Mac“ šiukšlinės išvalymu nereikės - visa tai bus atliekama automatiškai, „Calendar“ aplikacijoje nurodytu periodiškumu vykdant „Automator“ sukurtos aplikacijos paleidžiančios „Shell“ skriptą pagalba.
• Kaip pažiūrėti kiek vietos užima OS X šiukšliadėžės turinys
• man per Preview
• Dviejų ar daugiau savaičių vaizdas OS X Yosemite Calendar aplikacijoje
• Triname OS X kešo failus
• Daugiau vietos kietajame diske
• Kaip valdyti Mac’ą Siri pagalba iš iOS
Na su pradine komanda viskas pasiseka gerai, bet jei bandau pakeisti antrą eilutę į:
find ~/.Trash/* -mtime +1d -print0 | xargs –0 rm -rdf
Meta klaidą:
The action “Run Shell Script” encountered an error.
To priežasčių gali būti ne viena. Ką rodo Automator logas. Jį įjungti galima iš meniu View → Log arba ⌥⌘L
Kaip atrodo pilnai visas komandinis laukas/visos komandos?
Run Shell Script failed - error
xatgs: -0: No such file or directory (127)
#!/bin/bash
find ~/.Trash/* -mtime +1d -print0 | xargs –0 rm -rdf
komanda
find ~/.Trash/* -mtime +1d -print0 | xargs -0 rm -rdf
taip pat kaip ir
~/.Trash/* -mtime +5h -print0 | xargs -0 rm -rdf
man veikia puikiai.
pabandykite visą komandą perrašyti rankomis, o ne kopijuoti iš web, gal koks nors ženklas nematomas atsiranda ypač dažnai pasitaiko, kad kopijuojant iš www – (minusas) pakeičiamas – (brūkšnelio) ženklu. Paties įdėtoje komandoje matau skirtingo ilgio -.
Dabar perkopijavau iš komentare rašyto, ir pradėjo veikti.
Greičiausiai kopijuojant susimaišė kažkokie simboliai. Terminal'o komandas visada geriausia ne kopijuoti, o perrašyti (ypač jei patirties „komandinėje eilutėje“ nėra daug), nes ten būna visokių -, ', `, " ir t.t., kurie www gali būti interpretuojami skirtinai ar net pakeičiami, o komandose labai svarbu, kad būtų naudojamos tokie simboliai, kokie turi būti.