Kirjoittaja Aihe: Scrot-kuvakaappaus ja komentorivi [RATKAISTU] (Viesteissä 3&4)  (Luettu 3745 kertaa)

valtsu68

  • Käyttäjä
  • Viestejä: 454
  • Aloitteleva peruskäyttäjä
    • Profiili
Terve!

Ketjussa "Vs: Miten otetaan kuvankaappaus niin että saa valikotkin mukaan?!?" käsiteltiin kuvakaappausta kattavasti.

Nyt minua kiinnostaa Scrotissa se, millainen on oletustiedostonimen antava käsky ja mikä mättää käynnistimen käytössä. (käyttäjän lisäksi).

Scrot --help antaa tällaista tietoa ajanmääreiden lisäämiseksi tiedostonimeen.
Lainaus käyttäjältä: Scrot --help
Koodia: [Valitse]
There are two types of format specifier. Characters preceded by a '%'
  are interpreted by strftime(2). See man strftime for examples.
  These options may be used to refer to the current date and time.

Mutta tuo strftime on jotenkin ongelmallinen, noilla %-merkeillä kikkailemalla saan aikaleiman tehtyä päätteessä komentaessa.
Koodia: [Valitse]

scrot  -sb -q 100 '%Y-%m-%d_at_%H:%M:%S_$wx$h_kuvakaappaus.png
Tuloksena on tiedostonimi 2010-01-25_at_22:23:23_351x120_kuvakaappaus.png

Tässä vaiheessa näyttää hyvältä. Hyvin toimii.

Kun teen käynnistimen ja siirrän tuon käskyrivin käynnistimen komennoksi, niin tiedostonimi näyttää tältä:
Koodia: [Valitse]
Y--_at_H:M:S_234x510_kuvakaappaus.png
Ja arvaatteko, kuinka paljon, jo voitetuksi luulemani taistelun häviäminen tässä vaiheessa, ottaa kupoliin? ???

Mistä parametristä tai perustavaa laatua olevasta lainalaisuudesta homma on kiinni.

Kiitos.
« Viimeksi muokattu: 27.01.10 - klo:12.07 kirjoittanut valtsu68 »

snifi

  • Vieras
Vs: Scrot-kuvakaappaus ja komentorivi
« Vastaus #1 : 26.01.10 - klo:01.03 »
Tarkista ihan ensin alkuun, että lainausmerkit on symmetrisesti molemmin puolin:
'%Y-%m-%d_at_%H:%M:%S_$wx$h_kuvakaappaus.png'

En tiedä onko tuolla vaikutusta, mutta esimerkistäsi näyttäisi toinen puuttuvan. Ehkä voisit kokeilla myös ""-merkkien kanssa. Kubuntun käyttäjänä en tiedä mikä on 'käynnistin', mutta ilmeisesti tarkoitat jotakin suoraan valikosta löytyvää toimintoa. Sen sijaan voisit kokeilla saatko toimimaan kirjoittamalla nuo käskyt .sh tiedostoon. (Anna sh-tiedostolle suoritusoikeus ja kokeile käynnistää komentoriviltä, esim: ./skrott.sh)

valtsu68

  • Käyttäjä
  • Viestejä: 454
  • Aloitteleva peruskäyttäjä
    • Profiili
Vs: Scrot-kuvakaappaus ja komentorivi [RATKAISTU]
« Vastaus #2 : 26.01.10 - klo:12.03 »
Tarkista ihan ensin alkuun, että lainausmerkit on symmetrisesti molemmin puolin:
'%Y-%m-%d_at_%H:%M:%S_$wx$h_kuvakaappaus.png'

Niistä se ei johtunut. Olivat ihan oikein, jääneet vaan kopsaamatta.

Sen sijaan voisit kokeilla saatko toimimaan kirjoittamalla nuo käskyt .sh tiedostoon. (Anna sh-tiedostolle suoritusoikeus ja kokeile käynnistää komentoriviltä, esim: ./skrott.sh)

Tätä pidin vähän vitsinä ensin; minäkö tekemään jonkin skripin. HUH. Vähän Googlailua ja...

Ekat ohjeet täältä. Ja lisää täältä.

Kiitoksia ohjeesta sekä yllytyksestä syöksyä suin päin kohti tuntemattomia osa-alueita.

Lopputuloksena:
Koodia: [Valitse]
#!/bin/bash
#siirrytään kohdekansioon
cd ~Asiat/kaappaus/
 #käsketään aktivoida scrot kuvakaappauksen tekemistä varten
# joko halutusta ikkunasta tai hiirellä vetämällä rajatusta
#alueesta ja tallentaa se korkealaatuisena määrätyllä nimellä kohdekansioon
scrot  -sb -q 100 kuva_%d.%m-%y-klo-%H%M%S_kaappaus.png

Tiedostonimeksi tuli: "kuva_26.01-10-klo-113104_kaappaus.png"

Tämä tietenkin täytyy muistaa tehdä, (löytyy tuosta "Ekat ohjeet täältä"-linkistä)
Lainaus
Tiedosto täytyy vielä tehdä suoritettavaksi ajamalla chmod +x skripti.sh, jonka jälkeen sen voi ajaa päätteessä komennolla ./skripti.sh.

Voidaan todeta taistelu osittain voitetuksi.

Ongelmat:

Skriptin sisällä ei toiminut käsky...
Koodia: [Valitse]
scrot  -sb -q 100 '%Y-%m-%d_at_%H:%M:%S_$wx$h_kuvakaappaus.png'
Mistä sitten johtuikin. Palkinnoksi sai seuraavan errorin...
Koodia: [Valitse]
giblib error: Saving to file 2010-57-01/26/10_at_10:57:00_kuvakaappaus.png failed

Tuotakin Googlailtiin laihoin tuloksin. Tuloksia oli, mutta korjauksia vähän huonosti.

Nuo $-merkit kai haittasivat, näkyivät lilalla värillä.

Jotain opittiin ja paljon on vielä hämärän peitossa. Nyt onkin hyvä tehdä harjoitukseksi erilaisia kaappauksia varten oma käynnistin ja skripti. :)

Käynnistimeen liittyviä ketjuja foorumilta:

http://forum.ubuntu-fi.org/index.php?topic=15578.0
http://forum.ubuntu-fi.org/index.php?topic=30533.0
http://forum.ubuntu-fi.org/index.php?topic=30183.msg233715#msg233715
http://forum.ubuntu-fi.org/index.php?topic=17028.0
http://forum.ubuntu-fi.org/index.php?topic=19543.0
« Viimeksi muokattu: 05.04.10 - klo:21.40 kirjoittanut valtsu68 »

snifi

  • Vieras
Muutama ilmaan heitetty ajatus vielä tästä aiheesta: Tiedostonnimissä kannattaisi välttää jakoviivoja ja kaksoispisteitä, sekä voisit kokeilla jos antaisit käynnistimelle yhden prosenttimerkin sijasta kaksi, siltä varalta, että ikkunointijärjestelmä syö sen yhden:
scrot  -sb -q 100 '%%Y-%%m-%%d_at_%%H%%M%%S_$wx$h_kuvakaappaus.png'
(Laiskuuttani en jaksa kokeilla tämän toimivuutta.)

salai

  • Käyttäjä
  • Viestejä: 2126
    • Profiili
Niin kunnioitettavaa kuin kryptisten komentojen muistamisen harjoittelu onkin, tuon kaiken valmistelun saa amatöörikin tehdyksi muutamassa minuutissa mainostamallani shutter-ohjelmalla. Joka siis on entinen gscrot eli graafinen käyttöliittymä tämän keskustelun aiheeseen:



Eli nuo määrittelyt voi tehdä siistiin käyttöliittymään. Kuvakaappaus käynnistyy yksinkertaisesti Print (koko ikkuna) tai <alt>Print-näppäimellä (valinta) tai menusta tai käynnistimestä. Lisävalintoja löytyy ohjelmaikkunasta ja kuvaa voi siinä myös editoida ja sen voi lähettää suoraan jollekin palvelimelle linkitystä varten.

juyli

  • Vieras
Niin kunnioitettavaa kuin kryptisten komentojen muistamisen harjoittelu onkin, tuon kaiken valmistelun saa amatöörikin tehdyksi muutamassa minuutissa mainostamallani shutter-ohjelmalla. Joka siis on entinen gscrot eli graafinen käyttöliittymä tämän keskustelun aiheeseen...
Nyt kyllä oltiin nimenomaan aihealueella Ohjelmointi, palvelimet ja muu edistyneempi käyttö, joten erilaiset skriptaukset lienevät enemmän asiaa kuin graafisten edustaohjelmien hyödyntäminen.
Man-sivuilta voi aika nopeasti tarkistaa ohjelman syntaksin, ja nimenomaan skriptin ajaminen on yleensä varsin nopea toimenpide, kunhan on skriptin toimivuuden tarkistanut.

salai

  • Käyttäjä
  • Viestejä: 2126
    • Profiili
Onhan se tietysti noinkin. Ajattelin vain, että näitä viestiketjuja voi lukea joku aloittelijakin, jolta jää kuvakaappaukset kokonaan tekemättä liian monimutkaisten koodirimpsujen takia.

Nimittäin aloittelijakin pystyy muutaman minuutin harjoittelulla tekemään paljon parempia kuvakaappauksia tuolla shutterilla kuin te viikkokausien koodaamisellanne. Minusta on täysin käsittämätöntä, ettei noin hyvää ohjelmaa mainita kuin kerran aikaisemmin tällä foorumilla, eikä silloinkaan kyseinen henkilö ollut edes viitsinyt kokeilla sitä.



valtsu68

  • Käyttäjä
  • Viestejä: 454
  • Aloitteleva peruskäyttäjä
    • Profiili
Muutama ilmaan heitetty ajatus vielä tästä aiheesta: Tiedostonnimissä kannattaisi välttää jakoviivoja ja kaksoispisteitä, sekä voisit kokeilla jos antaisit käynnistimelle yhden prosenttimerkin sijasta kaksi, siltä varalta, että ikkunointijärjestelmä syö sen yhden:
scrot  -sb -q 100 '%%Y-%%m-%%d_at_%%H%%M%%S_$wx$h_kuvakaappaus.png'
(Laiskuuttani en jaksa kokeilla tämän toimivuutta.)

Se oli nopeasti kokeiltu ja tulos on: Se toimii !

Enpäs olisi tuollaistakaan koskaan keksinyt, että ikkunointijärjestelmä, (sujuvasti kopioitu termi, ilman että siitä juurikaan muuta kuin mutua itse käsitän :)), popsii %-merkkejä. Ja varmaan joitain muitakin merkkejä.

Skriptissä Scrot siirretään cd:llä  kohdekansioon, jonka jälkeen kaappaus otetaan ja tallennetaan.

Komentoriviltä samaan tulokseen päästään Scrotin manuaalin ohjeella...
Koodia: [Valitse]
scrot  -sb -q 100 '%Y-%m-%d_at_%H%M%S_$wx$h_kuvakaappaus.png' -e 'mv $f ~/kohdekansio/'

Käynnistimeen siirrettynä ja lisättynä nuo toiset %-merkit...
Koodia: [Valitse]
scrot  -sb -q 100 '%%Y-%%m-%%d_at_%%H%%M%%S_$wx$h_kuvakaappaus.png'  -e 'mv $f ~/kohdekansio/'
...saadaan sama tulos. 2010-01-26_at_205511_304x409_kuvakaappaus.png

Tänään yritin laittaa em. käskyn siihen skriptiin, mutta se ei onnistunut. Niinpä päädyin käyttämään julkaisemaani tapaa.
Toki muitakin epämääräisiä ja dokumentoimattomia häiriöitä oli tuon samaisen käskyn kanssa. Ihan kun se olisi halunnut lievää suostuttelua ennen yhteistyöhön alkamista :). Liekö näppäilyvirheitä.

Kaikesta huolimatta, kyllä tämä palkitsee. Ei juuri helpommaksi mene kuvakaappauksen ottaminen, nimeäminen, sijoittaminen oikeaan kansioon jne.

...että näitä viestiketjuja voi lukea joku aloittelijakin, jolta jää kuvakaappaukset kokonaan tekemättä liian monimutkaisten koodirimpsujen takia....

Hmm, minä kyllä laitoin ihan ensimmäisen viestin ensimmäiseen lauseeseen linkin ketjuun, jossa mainitaan mainitsemasi sovellus. Ihan aloittelijoita varten. Lisäksi toiseen viestiini lisäsin käynnistintä sivuavia linkkejä. Ihan sinne asti ketjua seuranneiden kiinnostuneiden aloittelijoiden riemuksi. (Koska "käynnistin"-sanalla tulee koneen käynnistymistä jne. tuloksia, niin ajattelin osaltani helpottaa etsijän taakkaa.)

Voisitko avata uuden ketjun, jossa väitellään aiheesta graafinen vai komentorivillinen lähestymistapa, mikäli haluat asiasta keskustella?