MythTV Frontend

This tutorial will guide you through installing mythtv’s frontend on a Kubuntu machine.

So the easiest way to install mythfrontend is through a package. But guess what? If you already have a master backend server that wasn’t installed with the exact same package and version you won’t be able to connect! If you try you may see an error similar to “database schema 1307,1254 is newer than expected“. That’s even if both machines are running version “0.26″, a micro version will prevent the connection. So we had to install from the same source code as our running master backend server.

Compile from source
When compiling from source you will encounter errors when a necessary library isn’t found. For example:

ERROR: can not find libuuid. (debian uuid-dev; RedHat libuuid-devel)
OR qmake for Qt4.6 or newer not found.
OR ERROR! You must have FreeType installed to compile MythTV.

So then you go install that library and recompile until you see the next problem and repeat. It’s a slow and painful process. But we’ve found a much easier way to avoid these errors. Type this command:

# apt-get build-dep mythtv (R1)

That will install all the necessary libraries to compile mythtv, it’s truly fantastic. The only negative is this is dependent on a machine running apt (i.e. debian based linux distro).

Obtain the same source code tar ball used in your backend, in our case mythtv-0.26.0.tar.bz2 (R2). Extract and run configure:

operationlinux@greeny:~/tmp/mythtv-0.26.0$ ./configure –enable-nonfree –disable-backend

and then

$ make [took about half-hour!]

And now as root to install it on the system:

root@greeny:/home/operationlinux/tmp/mythtv-0.26.0# make install

Test that it’s installed

operationlinux@greeny:~/tmp/mythtv-0.26.0$ mythfrontend –help
mythfrontend version: [v0.26.0]

And to launch the GUI just type
$ mythfrontend


Connecting to your master backend server.
Before your client can connect to the server you need to make sure your mysql database can have network connections and not just localhost connections. So inside the mysql command line interpreter:

mysql> GRANT ALL ON mythconverg.* TO mythtv@’192.168.1.%’ IDENTIFIED BY “[SECRET]“;
mysql> GRANT CREATE TEMPORARY TABLES ON mythconverg.* TO mythtv@’192.168.1.%’ IDENTIFIED BY “[SECRET]“;

We actually just edited the mc.sql file to have these additional lines and then re-ran the line below but you can do it interactively.

$ mysql -u root -p < mythtv-0.26.0/database/mc.sql

Now to explain the 192.168.1.% that allows everyone on our subnet to connect, but your subnet might be different. If your IP address is something like, you’d change it to 10.0.0.%.

Now your mythfrontend machine can connect to the master backend server. Have fun.


This entry was posted in Linux. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>