Képernyőkép mentő szkript

Linux kezdő
Linux kezdő

Képernyőkép mentő szkriptből viszony sok van, és grafikus megoldásokból is Dunát lehet rekeszteni. A shutter, vagy a flameshot kiváló eszköz, és sokat is tud. De a legtöbb asztali felület is ad saját képernyőkép mentő lehetőséget. Én most egy nagyon jó és egyszerű megoldást mutatok be, a MagyArch egyik szkriptjét. Már nem ez az első amikor egy-egy szkriptet elemzünk, vagy alakítunk át.

A maimpick szkript beszerzése

Aki MagyArch Linuxot használ nem kell telepíteni, hiszen alapból a ~/.local/bin/cmds könyvtárban ott lesz. Aki pedig más disztribúciót kedvel, neki is egyszerű a dolga. A MagyArch github oldalán  (ez az I3-as verzióé) megtalálhatja, letöltheti és használhatja.

A képernyőkép mentő szkript

Képernyőkép mentő
Képernyőkép mentő

Alapvetően nem okozhat gondot, a szkript indítása után kétszer három választási lehetőséged van. Az elsőt választva a kurzor megváltozik, és a ki tudod jelölni azt a területet, amit menteni akarsz. A következő (current window) az aktuális ablakot, a harmadik (full screen) az egész képernyőt lementi egy fájlba.
A következő három ugyanezt teszi, de nem fájlba ment, hanem a vágólapra. Ez nagyon kényelmes lehetőség, ha egy-egy képernyőképet akarsz készíteni, mentés nélkül rögvest beilleszteni a dokumentumba.

Ennyi?

Igen, a szkript ennyit tud, azaz a főbb funkciókat tudja.

Nekem nem csak a bemutatása a célom, hanem két fontos dolog: az szkripteket, amiket kapunk, nézzük meg, és ha kell, akkor írjuk is át. Bár a legtöbb szkript, amit fellelhetünk az interneten (most a normálisabb forrásokra gondolok!) jó, de mindenképp a készítője igényeit tükrözi. Ami nem feltétlen az én igényemmel egyezik meg.

A képernyőkép mentő szkript működése

A szkriptet nyissuk meg és mindig nézzük meg a belsejét. Tedd meg, nem másolom ide a szkriptet!
Itt egy szabályos case esac szerkezetet kapunk, amiben az első, hosszú sor kétfelé osztható. Az első felében meghatározzuk a választási lehetőségek neveit, a második felében a dmenu-t felhasználva kiíratjuk.
Az első logikus lehetőség a testreszabásra már itt adott: a betűtípus, és a színek a saját rendszerünkre igazíthatóak.
Ha nem a MagyArch színeit használod ezt mindenképp érdemes megtenni, mert akkor jobban néz ki a rendszered.

A fő blokkban a képernyőkép mentő szkript működését szabályozza. Ahogy látni a megnevezések után rendre a parancssorok következnek. Ami nyilván nem okoz senkinek meglepetést, ez a case esac szerkezet felépítése.
Általában ez az a szint, amíg egy átlagos Linux használó eljut: belenéz, majd ha kell a színeket, stb. állítja. De ez nekünk most nem elég!
Láthatjuk, hogy a maim és a date parancsot is használja. Így érdemes legalább egy gyors átolvasás erejéig a két parancs manuálját megnézni, vagy az interneten rákeresni egy-egy cikkre a témában. Ami nem konkrétan a szkript használatát segíti, hanem a saját fejlődésünket: megismerjük a felhasznált programok lehetőségeit.

“a selected area”) maim -s pic-selected-“$(date ‘+%y%m%d-%H%M-%S’).png” ;;

A sorból két részt emelnék ki, az egyik a date használata, ami a pic-selected- mögé berakja a meghatározott időkódot a fájlnévbe. Ez hasznos megoldás, mert egyedi fájlnevek generálására ad lehetőséget. Ha ezt megjegyzed, akkor már nem lesz gond az egyedi fájlnév készítése szkriptben. A másik, ami rögvest fel kellene tűnni, hogy a fájlnév előtt nincs elérési útvonal megadva. Ami nem feltétlen egyezik meg az én elképzelésemmel, így ezt ki is kell egészíteni egy elérési úttal:

“a selected area”) maim -s $HOME/Képek/pic-selected-“$(date ‘+%y%m%d-%H%M-%S’).png” ;;

Így bárhonnét adjuk ki a parancsot a kép a saját könyvtár, Képek mappába lesz bedobva. Ezt lehet finomítani alkönyvtárral is, de nekem elegendő ennyi.

A következő sorban van egy $(xdotool getactivewindow) rész. Ha nem ismered a xdotool-t legalább a manuálra nézz rá. Nagyon sokféle meghatározást, parancsot, lekérdezést ismer.

A copy részben egy érdekes megoldást találunk, ami – ahogy látni – nem fájlba írja az képernyőképet, hanem egy pipe-n keresztül a xclip parancsnak. Amit szintén érdemes megnézni, mert kicsi, és kezes „vágólapkezelő”. Hasznos, ha csak a képernyőképet egyszer, rögvest egy doksiba akarjuk rakni.

Ha pedig mégiscsak le kell menteni a képet, egy ehhez hasonló megoldással élhetsz:

xclip -selection clipboard -t image/png -o > ./avatar.png

Ha nem megy egy szkript

Mielőtt reklamálnánk, mindenképp nézzünk bele: milyen parancsokat hív meg és az a gépre telepítve van, vagy esetleg két másodperces teendővel (telepítéssel) megóvunk egy-egy fejlesztőt, fórumtársat a talán órákig tartó felesleges munkától, mert nem feltétlen az lesz az első kérdése: az xyz program az telítve van nálad?

De nekem ez a képernyőkép mentő kényelmetlen!

Meg kell nyitni a terminált, majd begépelni a képernyőkép mentő szkript nevét, majd kiválasztani amit akarunk…
Dehogy.
Egyrészt az egész képernyőkép mentő szkriptet hozzárendelheted egy gyorsbillentyűhöz. Így már gyorsan eléred a kiválasztó menüt, abban meg könnyen navigálhatsz.
Másrészt ha csak egy, két részlete kell, akkor azokat ki lehet másolni a szkriptből és ahhoz rendelni gyorsbillentyűt.
Én ezt követtem, mert nekem csak “a kijelölt területet mentse le”, illetve “a kijelöltet rakja vágólapra” kell, így ezt a kettőt a wm-nek megfelelő mód gyorsbillentyűztem, és használom napi több alkalommal.

Összefoglalva:

  • a maimpick egy jó képernyőkép mentő,
  • nézzünk bele a szkriptbe,
  • ismerjük meg a meghívott, alkalmazott parancsokat,
  • mindig gondoljuk át a testreszabás lehetőségét

Már az elején szokjuk meg: egy szkriptet ne csak használjuk, de elemezzük, ismerjük is meg. A benne lévő programokat is!

Related Posts