Mythfrontend

From MythTV Official Wiki
Revision as of 13:16, 18 May 2008 by AndBurns (talk | contribs) (Debugging MythFrontend Problems)

Jump to: navigation, search
Mergefrom.gif
It has been suggested that Front End be merged into this article or section. (Discuss)

Clean.png Cleanup: This article or section may require cleanup. Discuss the issue on the talk page

The frontend process (mythfrontend) is responsible for anything that requires interaction such Watching Recorded Programs or Watching TV. It provides the GUI you use on your TV or monitor as well as the LiRc, keyboard, or other input handling for Frontend Navigation. In addition, any MythTV Modules, or plugins, that are installed execute on the same machine that the user is interacting with. As such, the hardware requirements for a frontend are those necessary to support these features. Underpowered machines may not have enough processing power to decode recordings in software while the same machine could perform these functions if hardware decoding is available.

The MythTV architecture supports a theoretically unlimited number of frontend processes connecting to backends. A frontend process can run on the same machine as a backend in the instance of a combined machine, but is often found running on smaller, quieter, more stylish hardware since it the piece of equipment that usually sits within view of the user. When used on a separate machine from a backend, the frontend process connects over a network, either wired or wireless. It communicates with the backend to retreive the Electronic Program Guide and recorded content which is either streamed to the machine or directly accessed if the frontend has access to the same hardware and file storage the backend does.

The frontend process also has the widest platform support. Frontends have been ported to the Xbox and Mac OS X (see the Myth On Mac OS X guide) as well as the standard Linux Distros with additional work being done to port it to Windows under Cygwin.

Debugging MythFrontend Problems

Check the logs. They are by default written to stdout. To save them to a file, run mythfrontend -l file.log




Mythtv frontend on a remote machine can't access backend running on a second machine

If you are running the Mythtv frontend from a different machine than the backend you may have trouble accessing the backend.

Two separate issues related to MYSQL on the backend may be at work:

First, ensure that networking is enabled in your my.conf file '/etc/mysql/my.cnf' on the backend machine. In this file, by default there exists either the following (depending on version) which prevents a remote frontend from accessing the info on the backend.

    skip-networking

or

    bind-address localhost

or

    bind-address 127.0.0.1

The solution in all three cases is to comment out the line (or add the machine your want to give access to the bind-address list.

    #skip-networking

or

    #bind-address localhost

or

    #bind-address 127.0.0.1

Second, it may be necessary to alter the privileges table for the mythtv database to allow the frontend to access the backend (NB; The frontend communicates with the backend by logging on to its mysql database -- generally as the user mythtv. But on some systems by default mysql qill not allow a user on another machine to login. The following grants users with id mythtv from any machine access to the mythtv databaases).

This can be done by executing the following from the command line on the backend machine (thanks to Torfinn Ingolfsen, Norway for this).


    mysql -u root -p mysql
    mysql> grant all on mythtconverg.* to 'mythtv'@'%' identified by
         'passwd';
    mysql> flush privileges;
    mysql> exit;

PS. don't forget to secure your mysql initial accounts: http://dev.mysql.com/doc/refman/5.0/en/default-privileges.html