Pelistriimiä Debianilla

Tietokone- ja konsolipelaamisen lähettäminen Twitchin ja YouTuben kaltaisiin videopalveluihin suorana katseltavaksi eli striimaaminen on nykyään varsin yleistä hupia. Suurimmaksi osaksi lähettämiseen käytetään Windows-koneita, mutta suosituimmat videopalvelut eivät ole sinänsä rajoittuneet minkään tietyn lähetysohjelmiston käyttöön. Päätin kokeilla, onnistuuko striimaaminen Debian-koneeltani, ja onnistuihan se. Ei ihan kivuttomasti, mutta kuitenkin.

Jatka lukemista >>

Anthyllä japania kirjoittamaan, osa 2: Jessie

De­bi­anin uu­des­sa Jes­sie-ver­sios­sa ja­pa­nin kir­joit­ta­mi­nen Ant­hyl­lä on hiu­kan eri­lais­ta − hel­pom­paa­kin, sa­noi­sin. Asen­ta­mi­nen ja käyt­töön­ot­to su­ju­vat kä­den kään­tees­sä. 簡単だ。

Kuva: Kuvakaappaus

Kirjoitin vuonna 2013 ohjeen japanin kirjoittamiseen Anthyn avulla Debianin Wheezy-version mukana tulevalle Gnomelle. Tänä keväänä Debianista julkaistiin uusi, Jessie-koodiniminen, 8.0-versio, ja samalla myös Gnome-työpöytäympäristö päivittyi 3.14-versioon.

Uudessa Gnomessa syöttötavan valitseminen tapahtuu hieman eri tavalla, joten näin tarpeelliseksi saattaa ohjeeni ajan tasalle. Tämä ohje on hieman aikasempaa tiiviimpi − osittain siksi, että Anthyn viritteleminen on nyt aiempaa helpompaa.

Jatka lukemista >>

Flash kuntoon Wheezy-Chromeen

Chro­men Flash-lii­tän­näi­ses­sä on ikä­vä vi­ka, jo­ka es­tää Flash-si­vu­ja toi­mi­mas­ta De­bian Whee­zys­sä. Sel­vi­tin syyn ja sen, mi­ten Flashin saa taas toi­mi­maan.Kuva: Kuvakaappaus Chromesta.

(Voit halutessasi siirtyä suoraan korjausohjeeseen)

Viime aikoina olen paristakin suusta saanut kuulla, että heidän Debian Wheezyssään ei toimi Flash Chrome-selaimella. Käytännössä tämä ilmenee siten, että kun käyttäjä navigoi sivulle, jossa Flash-liitännäistä tarvittaisiin, lävähtää ruutuun ”Shockwave Flash has crashed” -tietopalkki, eikä sivulla olevia Flash-osia voi tietenkään käyttää.

Lähdin diagnosoinnissani liikkeelle tyhjennä-välimuisti-tyylisillä perustempuilla, mutta kun ongelma ilmeni jopa täysin puhtaalla käyttäjäprofiililla, oli sukellettava syvemmälle. Siispä testiympäristö VirtualBoxiin tulille, ja itse koittamaan.

Päivitetty 10.10.: Flash ei toimi myöskään uudessa 38.0.2125.101-1 -versiossa. Ohjetta ja korjaustyökalua päivitetty.
Päivitetty 17.10.: Vika on korjattu versiossa 38.0.2125.104-1. Suosittelen päivittämään heti uusimpaan versioon. Tämän postauksen ohjetta ei tulee enää seurata, eikä korjausskriptille tarjota enää päivityksiä. Profiilin palauttaminen onnistuu tämän kirjoituksen lopussa olevan ohjeen mukaan.
Jatka lukemista >>

Musiikit soimaan Debianista Androidiin

Mu­sii­kin soit­ta­mi­nen De­bi­an-pöy­tä­ko­neel­ta ver­kon yli And­roid-tab­le­til­le on­nis­tuu kyl­lä, mut­ta hie­man sää­tö­jä täy­tyy teh­dä.
Kuva: Kuva­kaappaus BubbleUPnP-sovel­luksesta

Tykkään tiskata kuulokkeet korvilla. Yleensä pistän soittolistan pyörimään Android-tabletin Grooveshark-sovelluksesta1, josta musiikki kantautuu langattomasti Bluetooth-palikkaan ja sieltä kuulokkeisiin. Sovelluksen kautta ei voi kuitenkaan kuunnella Broadcast-lähetyksiä (esim. GIGA:n lähetystä), mikä on vähän harmi.

Debian-pöytäkoneeni täyskokoisella selaimella Broadcastit luonnollisesti toimivat, mutta Bluetoothia tuossa koneessa ei ole, eikä yhteys etäisyyden puolesta toimisi välttämättä kuitenkaan. En myöskään mielelläni vetäisi kuulokejohtoa koneelta asunnon läpi tiskipöydän ääreen, joten jonkinlainen langaton ratkaisu on siis tarpeen.

Spesifejä PulseAudio→Android -sovelluksia on olemassa, mutta näistä yksikään ei vaikuttanut ensisilmäyksellä kelvolliselta: olisi asennettava ohjelmistoja Debianiin pakettivarastojen ulkopuolelta, ja ostettava Android-sovelluksen Pro-versio mainosten poistamiseksi. Siispä digitaaliset legopalikat esiin ja tehään itte!

Debian-säädöt

PulseAudio-äänet saa vietyä UPnP-striimiksi Rygelin ja sen GSTLaunch-liitännäisen avulla. Rygel on asennettuna valmiiksi, mutta GSTLaunch-osa on asennettava erikseen. Asennetaan samalla muut tarvittavat työkalut:

sudo apt-get install rygel-gst-launch pavucontrol paprefs

Sitten kytketään PulseAudion UPnP-tuki päälle. Helpointa tämä on graafisella paprefs-sovelluksella, jonka Verkkopalvelin-välilehdeltä valitaan valintalaatikot Tarjoa paikalliset äänilaitteet saataville DLNA/UPnP-mediapalvelimena ja Luo erillinen äänilaite median DLNA/UPnP-suoratoistoa varten.

Tämän jälkeen GSTLaunch-liitännäinen on otettava käyttöön muokkaamalla ~/.config/rygel.conf -tiedostoa (esim. nanolla tai geditillä). Jos Rygelin asetuksia ei ole koskaan säädetty, saattaa tiedosto puuttua. Tällöin kannattaa käynnistää ja sulkea rygel-preferences kertaalleen, jolloin ohjelma luo oletusasetukset näppärästi. rygel.conf-tiedostosta poistetaan tämän jälkeen koko tiedoston lopussa oleva [GSTLaunch]-osio, ja korvataan se seuraavalla pätkällä:

[GstLaunch]
enabled=true
launch-items=myaudioflac
myaudioflac-title=FLAC-ääni laitteelta @HOSTNAME@
myaudioflac-mime=audio/flac
myaudioflac-launch=pulsesrc device=upnp.monitor ! flacenc

Jos GStreamer-liukuhihna on tuttu, saa striiminsä halutessaan myös muissa muodoissa. Itse päädyin kuitenkin FLAC:iin, sillä se on oletuksena tarpeeksi korkealaatuinen, mutta mahtuu kuitenkin vaivatta kulkemaan WLAN:issa tabletille.

Tässä vaiheessa on varminta käynnistää Rygel ja PulseAudio uudelleen:

killall rygel
pulseaudio –kill
pulseaudio –start
nohup rygel &
Oh­jel­man saa tuut­taa­maan ään­tä verk­koon vaih­ta­mal­la sen ulos­tu­lo­lait­teen. Sa­mal­la ta­val­la ää­net saa myös ta­kai­sin kai­ut­ti­miin.
Kuva: Kuva­kaappaus pavucontrol-ohjelmasta

Seuraavaksi laitetaan musiikit soimaan Groovesharkista. Oletuksena äänet tulevat koneen kaiuttimista, joten käännetään Grooveshark soittamaan verkkoon: avataan pavucontrol, ja valitaan Toisto-välilehden ALSA plug-in [plugin-container] -ohjelman kohdelaitteeksi sisäisen äänentoiston sijaan DLNA/UPnP Streaming. Tässä vaiheessa kaikki on valmista Debianin puolesta.

Android-säädöt

Ole­tus­ase­tuk­sil­la Rygel syy­tää verk­koon usei­ta UPnP-lait­tei­ta. Ko­ti­ver­kos­sa­ni nii­tä on run­saas­ti jo en­nes­tään­kin.
Kuva: Kuva­kaappaus BubbleUPnP-sovel­luksesta

Androidilla ei tarvitse paljoa tehdä. Käynnistetään aluksi UPnP-toistosovellus − itse suosittelen BubbleUPnP:tä − ja valitaan lähdelaitteeksi GST Plugin ja soitettavaksi kappaleeksi FLAC-ääni laitteelta laitteennimi. Pienen puskuroinnin jälkeen musiikin pitäisi lähteä raikaamaan Android-laitteesta, josta sen voi sitten halutessaan ohjata vaikkapa Bluetooth-kuulokkeisiin.

Kannattaa huomata, että puskuroinnin takia ääni tulee muutaman sekunnin viiveellä, joten esimerkiksi kappaleenvaihdot tapahtuvat pienellä viiveellä. Tämä ei itseäni haittaa, sillä tiskatessa harvemmin viitsin köpötellä kappaletta vaihtamaan.

Silloin tällöin BubbleUPnP ei lähde soittamaan kappaletta, vaan tarjoaa sen sijaan Action Timeout -virhettä. En ole keksinyt toistaiseksi ongelmaan ratkaisua, mutta stop-play -kierros auttaa yleensä. Käsittääkseni ongelma on sovelluksessa. Jos soittoa haluaa kokeilla toisella sovelluksella, saa äänivirran URL-osoitteen näkyviin napsauttamalla keskeltä ruutua. URL kelpaa esimerkiksi Androidin VLC-soittimelle.

1) Sovellus vaatii GS Anywhere -tilauksen, noin kympin kuussa. Suosittelen kokeilemaan!

Näin raportoit bugista, tavis

Oh­jel­mis­to­vir­heet eli bu­git ovat usein är­syt­tä­viä. Löy­tä­mäs­tään bu­gis­ta kan­nat­taa ker­toa seik­ka­pe­räi­ses­ti oh­jel­man te­ki­jäl­le, jot­ta vi­ka voi­daan kor­ja­ta.

Kuva: gotsumbeers: Broken Computer- Day 273. c nd 2.0

Jokaiselle on varmasti joskus käynyt niin, että työpöytä- tai websovellus ”sekoaa” kesken käytön: ruudulle hyppii kryptisiä virheilmoituksia, toiminto aiheuttaa väärän lopputuloksen, ohjelma kaatuu vieden tallentamattomat työt mennessään… Käyttäjän kiusaajana on tällöin bugi eli ohjelmointivirhe.

Olen huomannut, että bugin osuessa omalle kohdalle suurin osa ihmisistä hakkaa päätä seinään, ja aloittaa alusta toivoen parempaa lopputulosta. Toiset taas kysyvät kaverilta apua, ja jos sekään ei auta, ottavat yhteyttä yrityksensä IT-tukeen tai ohjelmiston valmistajaan.

Havaitut ongelmat kannattaa aina raportoida eteenpäin, jotta ohjelmiston kehittäjä voi ne ratkaista. Yleensä oikea osoite on ohjelmiston valmistaja, mutta töissä on kannattavampaa lähestyä omaa IT-tukea. Yhteydenotto kannattaa tehdä kirjallisesti (eli sähköpostitse) ja huolella. Ohjelmiston kehittäjät eivät näet ole selvänäkijöitä tai velhoja, vaan tarvitsevat runsaasti tietoa voidakseen paikantaa ja korjata vian. ”Tää ei toimi”, ”Siihen tuli joku ilmoitus” ja ”Korjaa toi” -tyyppiset viestit kirvoittavat − vastaanottajan mielentilasta riippuen − joko ilkeämielistä naurua tai ärräpäitä.

Bugi-ilmoituksesta pitäisi selvitä neljä asiaa:

  1. Käyttöympäristö: Millä laitteella1 ongelma tapahtui? Mikä käyttöjärjestelmä2 siinä on? Mikä versio3 ohjelmistosta on käytössä?
  2. Toisto-ohjeet: Seikkaperäinen vaiheittainen kuvaus siitä mitä teit, ennen kuin ongelma ilmeni.
  3. Lopputulos: Mitä tapahtui edellisten vaiheiden tekemisen jälkeen? Virheilmoitusten sisältö kannattaa kertoa sanatarkasti. Myös kuvakaappaus havainnollistaa usein tilannetta.
  4. Haluttu lopputulos: Mitä olisi pitänyt tapahtua?

Esimerkiksi4:

Hei.

Yritin tänään avata CSV-muotoista tiedostoa Microsoft Office 2010 Excelillä. Käytössäni on pöytäkone, jossa on suomenkielinen Windows 7. Taulukko avautuu kyllä, mutta koko rivin sisältö on aina kunkin rivin ensimmäisessä solussa. Rivin sisällön pitäisi jakautua usealle sarakkeelle. Tiedostoa käsitellessä ei tule virheilmoituksia.

Ystävällisin terveisin,
Erkki Esimerkki

Vastaanottaja käsittelee viestisi, ja arvioi korjaustarpeen. Tyypillisesti bugin status voidaan jakaa johonkin seuraavista lokeroista:

  • Korjattava: Ohjelmiston kehittäjä on tunnistanut vian ja aikoo korjata sen5.
  • Toimii suunnitellusti: Olet ymmärtänyt jonkin toiminnon väärin, eli saavuttamasi lopputulos on oikea.
  • Tarvitaan lisätietoja: Viankuvaustasi täytyy tarkentaa, jotta ohjelmistokehittäjä voi paikallistaa virheen.
  • Ei voida toistaa: Virhettä ei pystytty toistamaan ohjeittesi mukaan. Tällaisia vikoja on hankala korjata, ja ne saattavat jopa olla lähtöisin muualta kuin ohjelmistosta itsestään6.
  • Ei korjata: Kehittäjä ei näe korjaamista järkeväksi. Se saattaa esimerkiksi esiintyä vain vanhentuneessa versiossa, tai koskea vain marginaalista osaa käyttäjistä.

Kannattaa myös varautua siihen, että joudut vastailemaan erilaisiin jatkokysymyksiin, jotta virhe voidaan paikallistaa. Paikallistaminen − saatikka sitten virheen korjaaminen7 − saattaakin sitten kestää, eikä hoputus yleensä auta. Henkeä ei siis kannata varsinaisesti pidätellä.

Parhaassa tapauksessa bugi kuitenkin ennen pitkää korjataan, ja loppukäyttäjän − sinun − elämäsi helpottuu. Turhaa ajanhukkaa virheiden ilmoittaminen siis ei ole, mutta huolellinen siinä kannattaa olla.


1) Yrityksen IT-tuki arvostaa koneen laitenimeä, muuten riittää laitteen tyyppi (kannettava, tabletti, kännykkä, pöytäkone).
2) Kannattaa olla niin tarkka kuin osaa.
3) Myös ohjelmiston kieli on hyvä mainita, jos ohjelmistosta on useita kieliversioita.
4) Tässä tietoja on vielä suppeahkosti. Enemmänkin kannattaisi kertoa, jotta välttyisi jatkokysymyksiltä.
5) Korjaus tulee ennen pitkää. Toiminnan kannalta kriittiset bugit korjataan nopeammin kuin marginaalista käyttäjäryhmää haittaavat pikkuongelmat.
6) Esim. viallisesta laitteistosta.
7) Hiukankin ”ammattimaisemmissa” ohjelmistoissa muutoksia ei tehdä sormia napsauttamalla, vaan ne vaativat varsinaisen koodailun lisäksi mm. testausta ja erilaisia hyväksyntöjä.