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).

Ei kommentteja:

Lähetä kommentti