9.4.2010

MythTV-asennus jatkuu

(tämä blogaus päivitetty uuteen uskoon 11.4.2010, vanha oli viallinen)

MythTV olisi kiva saada pyörimään muualle kuin varsinaiseen X-sessioon, koska 1) MythTV vaatii koko ruudun ja 2) olisi kiva pystyä käyttämään helposti muita softia telkkarin tms. videon pyöriessä taustalla. Erillisen X-session saaminen MythTV:lle ei ole aivan triviaalia. Mutta keinot kuitenkin löytyvät.

Ensiksi konfiguroidaan X-palvelimen käynnistysoikeudet niin, että palvelimen saa mistä tahansa käynnistettyä (joo, voi olla turvallisuusriski, jos koneelle pääsee hakkereita, mutta toisaalta silloin peli on jo menetetty :).

sudo dpkg-reconfigure x11-common

Komennon jälkeen tulevassa menussa valitse kohta Anybody. Edellä kuvattu muuttaa tiedostoa /etc/X11/Xwrapper.config.

Sitten muutetaan MythTV:n back endin Upstart-skriptin start-riviä (vanha kommentoituna pois, uusi lisätty). Skripti löytyy /etc/init/mythtv-backend.conf.

# MythTV Backend service

description "MythTV Backend"
author "Matt Mossholder "

#start on (local-filesystems and net-device-up IFACE=lo)
start on (start-myth)
stop on runlevel [016]

#expect fork
respawn

script
test -f /etc/default/mythtv-backend && . /etc/default/mythtv-backend || true
exec /bin/su -c "/usr/bin/mythbackend $ARGS" $USER
end script


Tämän jälkeen luo tiedosto MythTV.sh ja anna sille ajo-oikeudet. Sisältö alla.

#!/bin/bash
DISPLAY=:1.0
sudo initctl emit start-myth
startx /usr/bin/ck-launch-session mythfrontend -- :1 > /tmp/mythtv_front.log
sudo initctl stop mythtv-backend


Komento asettaa DISPLAY-muuttujan osoittamaan ctrl-alt-F9:n takana olevaan X-sessioon. Sitten käynnistetään mythtv-backend Upstartilla eli emitoidaan eventti start-myth, joka mythtv-backend.conf:ssa on laitettu start-eventiksi. Komento startx käynnistää uuden X-session, joka menee F9:n taakse. Parametrina startx-komennolle annetaan ck-launch-session, joka puolestaan käynnistää mythfrontend-sovelluksen. Komento ck-launch-session tarvitaan, jotta mythfrontend osaisi ottaa yhteyden Ubuntu pulseaudio-serveriin. Pulseaudion kautta välitetään kaikki äänet ja MythTV osaa käyttää pulseaudiota, kun Front Endin asetus Utilities / Setup -> Setup -> General -> Audio output device: Alsa:default on asetettuna.

Skriptin MythTV.sh suorittamisella pitäisi näytettävän X-session vaihtua automaattisesti :1 eli F9:n takana olevaan X-sessioon ja siihen pitäisi käynnistyä mythfrontend. Myös äänten pitäisi toimia nyt. Näpsäkkää! Kun mythfrontendistä poistuu, tapetaan myös mythbackend resursseja viemästä.

Jotta skriptin ajaminen olisi miellyttävämpää, kannattaa sudoers-tiedostoon loppuun lisätä seuraavat rivit.

%mythtv ALL=NOPASSWD: /sbin/initctl emit start-myth
%mythtv ALL=NOPASSWD: /sbin/initctl stop mythtv-backend


Näin mythtv-ryhmään kuuluvat voivat käynnistää ja pysäyttää MythTV back endin ilman salasanan kirjoittamista (ja toisaalta näin ilman admin-oikeuksia voi käynnistää/pysäyttää Mythin back endin).

8.4.2010

MythTV-asennus

Kokeillaanpas MythTV:ä. Ubuntu 9.10:n paketeista löytyy suoraan MythTV 0.22 -versio. Tämä blogaus perustuu ohjeisiin, jotka löytyvät täältä: http://parker1.co.uk/mythtv_ubuntu.php


sudo apt-get install mythtv


Komennon jälkeen ruudulle pomppaa käyttöliittymä, jossa kysytään seuraavia

* MySQL:n admin-käyttäjän (eli root) salasana: jätä tyhjäksi
* MythTV kysyy saako koneeseen ottaa yhteyttä muilla koneilla pyöriviltä Front End:lta: vastaa yes eli saa ottaa
* MythTV huomauttaa, että mythtv-setup -komento pitää ajaa installoinnin valmistumiseksi ja että komennon suorittavan käyttäjän pitää kuulua mythtv -ryhmään
* Kun mythtv-setup on ajettu, pitää backend käynnistää
sudo /etc/init.d/mythtv-backend start
* MySQL:n admin-käyttäjän salasana uudestaan: jätä tyhjäksi
* MySQL:n admin-käyttäjän salasana kolmannen kerran: jätä tyhjäksi
* Generoitu salasana talletetaan tiedostoon /etc/mythtv/mysql.txt


Kun apt-get saa hommansa valmiiksi, käynnistä X:n valikosta System->Administration->MythTV Backend Setup. Käyttäjä, jona sovelluksen käynnistit, ei kuulu mythtv-ryhmään. Hyväksy dialogin ehdotus käyttäjän automaattisesta lisäämisestä painamalla OK. Tämän jälkeen pitää kirjautua ulos X:stä ja takaisin sisään, jotta ryhmä muuttuu oikein.

Sisäänkirjatumisen jälkeen käynnistä MythTV Backend Setup uudestaan. Tällä kertaa sovellus valittaa, että backend pitää sammuttaa. Vastaa OK.

MythTV Setup -ohjelmassa, aseta seuraavia

* General - TV format: PAL
* General - Channel frequency table: europe-west
* General - Your Local Timezone (for XMLTV): auto
* Capture Card - New capture card
- Card type: DVB DTV capture card (v3.x)
* Video sources - New video source
- Video source name: EIT
- Listings grabber: Transmitted guide only (EIT)
* Input connections - paina enter valitun päällä
- Display name (optional): Freeview
- Video source: EIT
- Scan for channels
* Desired Services: TV+Radio
* Scan Type: Full Scan (Tuned)
* Frequency: 274000000 (tämä on Yle1 Welholla)
* Symbol rate: 6900000
* Inversion: Auto
* Modulation: QAM 128
* FEC: Auto
* Valitse insert all
* Channel Editor
- Katso, että kaikki tarpeelliset kanavat löytyvät
* Poistu setupista painamalla ESC
- Setup ehdottaa dialogissa ajamaan mythfilldatabase -komennon. Ei tehdä tätä (seuratun ohjeen mukaan siksi, että käytetään EIT:ä)
- Hetken päästä tulee dialogi Fill Database. Valitse Cancel.
* Käynnistä Front End: Applications->Sound & Video->MythTV Frontend


Telkkarin pitäisi näkyä nyt ainakin jossain muodossa kohdasta Watch TV. Säätöä vielä tosin tarvitaan ja sitä lisää seuraavissa blogauksissa.

7.3.2010

N900 ja SSH

Pikkaisen N900-säätöä tähän väliin, vaikka meneekin ehkä hieman offtopic-jutuksi (no ehkä saan myöhemmin käännettyä tämän vielä HTCP:hen liittyväksi). Seuraa siis OpenSSH:n server/client asentaminen.

- Asenna rootsh -paketti
- Asenna OpenSSH client and server -paketti
* Asennusohjelma pyytää vaihtamaan rootin salasanan
- Katso ifconfig:lla ip-osoitteesi
/sbin/ifconfig

- Ota SSH-yhteys puhelimeesi
ssh root@<ip-osoite>


Koska mielestäni SSH-palvelimen automaattinen käynnistäminen bootissa sekä jatkuva ajaminen on tietoturvan kannalta epäilyttävää, poistetaan automaaginen käynnistys. Editoi tiedostoa /etc/event.d/sshd ja kommentoi alla kommentoidut rivit pois käytöstä:

#start on stopped rcS

console output

#respawn

pre-start script
if [ ! -d /var/run/sshd ] ; then
mkdir /var/run/sshd
chmod 755 /var/run/sshd
fi
end script

exec /usr/sbin/sshd -D


Perinteinen (/etc/init.d/ssh stop) Linux-tyyli sshd:n käynnistämiseen/sammuttamiseen ei toimi. Täytyy siis käyttää hieman poikkeavaa tapaa.

SSH-palvelimen käynnistäminen tarpeen tullen (jostain syystä shelli jää jotain tässä kohtaa odottelemaan eikä palaa komennosta)
initctl start sshd


SSH-palvelimen pysäyttäminen tarpeen tullen
initctl stop sshd

23.12.2009

Kanavien virittäminen

Vaihteeksi jokin on muuttunut sitten edellisten Ubuntu-versioiden. Paketti dvb-utils ei enää ole olemassa ja sen on ilmeisesti korvannut dvb-apps. Asennetaanpa se sitten, että päästään virittämään kanavat. Lisäksi asennetaan dvbstream, jotta päästään myöhemmin testaamaan virityksen toimivuus.


sudo apt-get install dvb-apps
sudo apt-get install dvbstream


Kanavien virittämiseen tarvitsee jonkun tunnetun kanavan channels.conf -tiedostoon. Hieman nurinkurista, että kanavien viritykseen pitää etukäteen tietää kanavia, mutta niin kai se sitten on. Ratkaisin ongelman jo aiemmassa blogauksessani (ks. 11.9.2009), joten en kirjoita asiasta tämän enempää tähän.

Sitten kokeillaan virittää tv-kortti YLEn TV1:lle. Huomaa, että alla käytetty channels.conf on luotu ilman -o vdr -vipua scan-sovellukselle. Scan-sovellus on siis tehnyt ko. tiedoston zap:n hyväksymässä muodossa.


user@meedio:~$ czap -c channels.conf TV1
using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
reading channels from file 'channels.conf'
1 TV1:274000000:INVERSION_AUTO:6900000:FEC_NONE:QAM_128:512:650:17
1 TV1: f 274000000, s 6900000, i 2, fec 0, qam 4, v 0x200, a 0x28a
status 1f | signal 81c0 | snr 120d | ber 00000000 | unc 00000000 | FE_HAS_LOCK


Jätä czap pyörimään taustalle. Seuraavaksi taiotaan ykkösen kuva ruudulle.


dvbstream -o -ps 512 650 -qam 128 | mplayer -


Eri parametrien selityksiä:

  • -o syöttää streamin stdoutiin (joka siis putkitetaan mplayerille)

  • -ps kertoo video- ja audio-streamien id:t. Nämä näkyvät channels.conf:sta kolmanneksi ja toiseksi viimeisestä parametrista (ks. ylempää YLE1:n rivi)

  • -qam merkityksen selvitys jätetään kotitehtäväksi, mutta oikean arvon näkee channels.conf:n parametreista (ks. ylempää YLE1:n rivi)



Jos nyt alkaa ykkönen näkymään, niin ainakin viritin on ok ja antennin johto oikeassa paikassa.

21.12.2009

Spotify Winella

Spotifyn installointi Winea käyttäen on yllättävän helppoa. Jos Winea ei halua käyttää, on vaihtoehtona Despotify, mutta tämä vaatisi Spotifyn premium -käyttäjätilin. Tai sitten Despotifyn koodin muokkaamista.

Ohjeet perustuvat spotify.com:sta löytyviin ohjeisiin, jotka tässä vaan talletan itselleni. Installoidaan ensin Wine.

sudo apt-get install wine


Sitten konfiguroidaan Wine.

winecfg


Mene Audio-välilehteen. Tässä kohtaa Wine valittaa, ettei registrystä löydy ääniasetuksia. Sulje dialogi ja paina apply-nappia. Tämän jälkeen tee seuraavat asetukset.

Hardware Acceleration: Emulation
Default Sample Rate: 44100
Default Bits Per Sample: 16
Driver Emulation: unchecked


Hyväksy muutokset ok-napilla.

Seuraavaksi installoidaan Spotify. Installointia varten täytyy hakea spotify.com:sta Windowsille tarkoitettu installer.

wine "Spotify Installer.exe"


Anna installerin tehdä pikakuvakkeet eli valitse Create icons for spotify on the Start Menu and on the Desktop. Muuten oletusasetukset ovat hyvät.

Työpöydälle ilmestyy kaksi ikonia: Spotify.lnk ja Spotify.desktop. Tuplaklikkaa Spotify.desktop -ikonia ja paina dialogissa Mark as Trusted. Anna käyttäjätunnuksesi ja nauti Spotifysta.

Winella ajettavassa Spotifyssa on ikävä ominaisuus välilyönnin kanssa. Jostain syystä välilyönnin painaminen Spotify-ikkunan ollessa aktiivisena saa musiikin pysähtymään. Aivan sama onko kirjoittamassa bändin nimeä hakukenttään vai missä kohtaa välilyöntiä painaa. Ärsyttävää, mutta vielä siedettävän rajoissa.

Jostain syystä ainakin ensimmäisellä ajokerralla Spotifyn ääni pätki. En ole aiemmin huomannut tällaista pätkimistä. Kyse voi olla netin pätkimisestä tms., mutta pitää selvitellä, jos pätkiminen vielä jatkuu.

Siirtyminen Ubuntu 9.10 -versioon

En ole pitkään aikaan ehtinyt säätämään HTPC-projektin parissa. Nyt taas on pari päivää aikaa haxoroida ja toivottavasti saan paketin taas hyvään kuntoon. Koska Ubuntu 9.10 ilmestyi vähän aikaa sitten, otin ensimmäiseksi hommaksi uuteen Ubuntu-versioon siirtymisen.

Koska aiemmin osioin levyni nerokkaasti niin, että / ja /home ovat eri osioilla, pystyin näppärästi vaihtamaan rootissa olevan Ubuntun uuteen pelkästään formatoimalla / EXT4:ksi (tämä on Ubuntu 9.10 uusi ominaisuus) ja heittämällä uuden version sinne. Osio, jossa /home oli, säilyi koskemattomana. Simppeli juttu...

Kokemuksia Ubuntu 9.10:n uusista ominaisuuksista:


  • HD Flash toimii sujuvasti koko ruudulla. Aiemmassa 9.04:ssä ei toiminut ilman järjetöntä nykimistä. En ole ihan varma nykiikö kuva vieläkin vähän, mutta aivan hemmetin hienolta se silti näyttää Youtubesta katsottuna. Mainittakoon kuitenkin, että Flash kuluttaa prossutehoa PALJON ja että ainakin NVidian julkaisema testivideo tökki välillä

  • Vanha tearing-ongelma hävisi. Kuva pysyy ehjänä vaikka kuinka olisi liikettä kuvassa. Loistavaa!

  • Uskomatonta mutta totta, HD-tasoinen kuva (1080p, 1920x816) näkyy hienosti. Olen melko varma, että koko ruudun pannauksissa kuva nykii hieman, mutta tämä ei ainakaan alustavasti häiritse. Olen näkevinäni samanlaista nykimistä vaikka kuva olisi pienenäkin, joten voi olla, että nykiminen on lähdemateriaalissa (Wall-E). Täytyy vielä testata lisää, mutta erittäin hyvältä näyttää. Prosessoritehoa menee pahimmillaankin vain 90% ja yleensä pysyttelee 50% tuntumassa. Jotain rautakiihdytystä täytyy siis olla mukana. Hyvä, hyvä Intelin ajurikehitysporukka!

  • Logitech DiNovo Edge -näppis löytyy nyt suoraan bootin jälkeen ilman kikkailua ja lisäsäätöä. Todella kiva käytettävyyslisä (jos siis ei jaksanut kikkailla, kuten aiemmin kirjoitin)

  • Kun loggasi X:stä ensimmäisen kerran ulos, kaikki input-välineet lakkasivat toimimasta. Ruutu selvästi päivittyi vielä, koska login-ruudussa näkyvä kello päivittyi, mutta langallinen hiiri ja langaton näppis lopettivat toimintansa. Tämän jälkeisessä bootissa Ubuntu ei onnistunut heti mounttaamaan /home:a. Tämä johtui syslogin perusteella ehkä siitä, että EXT3 valitteli orphan nodeista. Seuraavassa bootissa ei ollut mitään ongelmia.

  • Hieman ihmetyttää uuden oletuskäyttöliittymän ulkoasu. Jotenkin tuntuisi kuin graafinen ilme olisi mennyt osittain taaksepäin



Olen kertakaikkisen tyytyväinen tähän Ubuntu-julkaisuun. Jos tuleva LTS-versio 10.4 on samalla tasolla, niin voinen pistää HTPC-kehityksen vähäksi aikaa jäihin ja tehdä "täydellisen" softapaketin omalle raudalle.

En ole ehtinyt säätämään oikeastaan mitään HTPC:hen lähemmin (kuten vaikkapa VDR) liittyvää juttua vielä pystyyn, mutta tästä on mukava jatkaa eteenpäin.

20.9.2009

Graafinen etäyhteys (VNC)

Edellisessä blogauksessa kuvattu X-pohjainen työpöydän etäkäyttö osoittautui todella hitaaksi ainakin WLAN-yhteyden yli. Pelkästään kuvan siirtämiseen perustuva VNC tuntuu huomattavasti nopeammalta ja ainakin peruskäytössä (ei esim. videon siirtoa) riittävän nopealta. Alla olevat ohjeet perustuvat näihin: http://linux.fi/index.php/VNC

Installoi ensin työpöytää tarjoilevalle palvelimelle x11vnc-paketti.

sudo apt-get install x11vnc


Sitten installoi sekä asiakaskoneelle että palvelinkoneelle VNC-asiakassovellus.

sudo apt-get install xtightvncviewer


Käynnistä VNC palvelinkoneella. Oletuksena on, että yhteys otetaan olemassa olevaan X-sessioon, joka on display 0:ssä. Vipu usepw saa VNC:n kysymään/asettamaan salasanan VNC-sessiolle. Vipu forever puolestaan saa VNC-session pysymään päällä, vaikka asiakas välillä lopettaisikin yhteyden.

x11vnc -usepw -forever -display :0


Luo portti-forward asiakaskoneelta. Alla oleva komento luo pakatun (vipu CL pelkän L:n asemesta) putken asiakaskoneen portista 5903 palvelinkoneen porttiin 5900. Display 0 menee perusasetuksilla porttiin 5900, display 1 porttiin 5901 ja niin edelleen.

ssh palvelimen_osoite -CL 5903:localhost:5900


Nyt asiakaskoneelta pitäisi saada yhteys palvelimella olevaan X-työpöytään näin.

vncviewer localhost:5903


VNC:llä voi myös luoda uuden session. Alla display 1:een luotu X-sessio (eli menee porttiin 5901 palvelimella). Luultavasti puutteellisen konfiguroinnin takia alla olevassa X-sessiossa näppäimistökartta on aivan sekaisin eli mikään tekstin syöttö ei järkevästi onnistu.

vncserver -geometry 1024x768 -depth 16 :1



Seuraavaksi pitää ehkä vielä kokeilla tätä: http://www.nomachine.com/download.php eli NoMachine NX:ää.