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