[mythtv-users] XMLTV setup can't run mythtv-setup as user mythtv

Bill Meek keemllib at gmail.com
Sun Jul 26 00:30:02 UTC 2020


On 7/25/20 7:09 PM, DryHeat122 wrote:
> 
> 
> On Sat, Jul 25, 2020 at 1:21 PM Bill Meek <keemllib at gmail.com <mailto:keemllib at gmail.com>> wrote:
> 
>     On 7/25/20 2:18 PM, DryHeat122 wrote:
>      > Trying to get XMLTV set up on a new install of Myth 31.  I have xmltv compiled and installed, now trying to get it linked to the input
>     sources.
>      > The wiki <https://www.mythtv.org/wiki/XMLTV> is pretty insistent that that I run mythtv-setup as user mythtv for this step, but when I sudo
>      > --login --user=mythtv and enter mythtv-setup it exits without running setup or giving any error messages.  I have already run it as
>     myself, if
>      > that makes a difference.  The wiki is a little confusing because it says "If you do not want to logon to that id or you cannot, you can
>     run the
>      > mythtv-setup from another id on the same backend."  But above that it admonishes "Warning: It seems users are missing the step that says
>     run the
>      > setup as the user that will run mythfilldatabase (which is frequently user mythtv.)"  How can I get setup to run under user mythtv?  If I
>     can't,
>      > will moving/linking the .xmltv contents to /home/mythtv do the trick (as suggested in the wiki)?
> 
>     Actually, the instruction says:
> 
>     If user mythtv is allowed to login and start the window manager, XMLTV can be configured through the Video Sources Setup page in mythtv-setup.
>     Otherwise, follow the steps below and do the configuration from the command line.
> 
>     I know that because I just changed the Wiki. Thanks for pointing this out.
> 
>     -- 
>     Bill
> 
> My pleasure.  Unfortunately I'm having a nightmare getting xmltv configured.  I still can't get mythtv-setup to run from user mythtv.  It just 
> exits, doing nothing.  So I went through the procedure of running the command line configuration  for tv_grab_zz_sdjson and selecting all the 
> channels (not a fun job, terrible interface). It produced a config file in /home/mythtv/.mythtv but mythfilldatabase was looking for it in 
> /home/steve/.mythtv So I created a symlink for it there. Now when I run mythfilldatabase I get the output below. It says unexpected end of file. 
> I looked at the file. It has info in it like username and pw for schedules direct, and a bunch of channel items. Not sure what it was looking 
> for that it didn't get.
> 
> 2020-07-25 16:08:01.887565 N  Using configuration directory = /home/steve/.mythtv
> 2020-07-25 16:08:01.887593 I  Assumed character encoding: en_US.UTF-8
> 2020-07-25 16:08:01.887818 I  Empty LocalHostName. This is typical.
> 2020-07-25 16:08:01.887825 I  Using a profile name of: 'steve-EP45-UD3P' (Usually the same as this host's name.)
> 2020-07-25 16:08:01.887874 I  Start up testing connections. DB localhost, BE , attempt 0, status dbAwake, Delay: 2000
> 2020-07-25 16:08:02.901952 N  Setting QT default locale to en_US
> 2020-07-25 16:08:02.901966 I  Current locale en_US
> 2020-07-25 16:08:02.902017 N  Reading locale defaults from /usr/share/mythtv//locales/en_us.xml
> 2020-07-25 16:08:02.920887 I  PowerDBus: Added UPower.Device '/org/freedesktop/UPower/devices/mouse_hidpp_battery_0'
> 2020-07-25 16:08:02.921152 I  Power: On AC power
> 2020-07-25 16:08:02.950791 I  Power: Supported actions: Suspend,Restart,Shutdown
> 2020-07-25 16:08:02.951693 I  Loading en_us translation for module mythfrontend
> 2020-07-25 16:08:02.953200 I  Current MythTV Schema Version (DBSchemaVer): 1361
> 2020-07-25 16:08:02.955403 I  MythCoreContext::ConnectCommandSocket(): Connecting to backend server: 192.168.1.200:6543 
> <http://192.168.1.200:6543> (try 1 of 1)
> 2020-07-25 16:08:02.956691 I  MythCoreContext::CheckProtoVersion(): Using protocol version 91 BuzzOff
> 2020-07-25 16:08:02.956948 I  Opening blocking connection to master backend
> 2020-07-25 16:08:02.957546 I  Updating source #1 (sdjson) with grabber tv_grab_zz_sdjson
> 2020-07-25 16:08:02.959422 I  Found 302 channels for source 1 which use grabber
> 2020-07-25 16:08:02.959572 I  Starting process manager
> 2020-07-25 16:08:02.959642 I  Starting IO manager (read)
> 2020-07-25 16:08:02.961686 I  Starting IO manager (write)
> 2020-07-25 16:08:02.961712 I  Starting process signal handler
> 2020-07-25 16:08:03.813955 I  Grabber has capabilities: baseline manualconfig preferredmethod
> 2020-07-25 16:08:04.464771 I  Grabber prefers method: allatonce
> 2020-07-25 16:08:04.465395 I  XMLTV config file is: /home/steve/.mythtv/sdjson.xmltv
> ^C2020-07-25 16:09:34.229722 E  Error in 577881:15: unexpected end of file
> 2020-07-25 16:09:35.033778 I  No programs found in data.
> 2020-07-25 16:09:35.038900 E  Failed to fetch some program info

The intent of doing the setup as user mythtv is to end up with a single set of files
in ~mythtv/.mythtv/*.xmltv and ~mythtv/.xmltv/* where the latter depends on the grabber
selected.

Doing links (hard or symbolic) defeats that and makes a difficult process even harder
to setup and maintain.

Here's the way to run mythfilldatabase from the command line:

   sudo --login --user=mythtv mythfilldatabase

When the backend runs it, it will just work because the files are in it's .mythtv
and .xmltv directories.

Run the above with the -v system command and you'll see the tv_grab_zz_sdjson command
line that mythfilldatabase is executing. Run that from the command line to see if
there are more clues to the problem. The file (--output /tmp/blah) won't be removed
so you can look at it too. You can even add --debug to the tv_grab_zz_sdjson command
but don't do that 1st as it's pretty verbose.

I use tv_grab_zz_sdjson_sqlite so won't be of much more help.

Here's a picture of the desired files. Again for the *SQLite version*:

Example for distributions that store MythTV data relative to ~mythtv/.mythtv,

/
└── home
     └── mythtv
         ├── .mythtv
         │   ├── OTA.xmltv # Which contains:
         │   │       database=/home/mythtv/.xmltv/SchedulesDirect.DB
         │   │       lineup=USA-OTA-90210
         │   │       mythtv-categories=enabled
         │   │
         │   └── CABLE.xmltv # Which contains:
         │           database=/home/mythtv/.xmltv/SchedulesDirect.DB
         │           lineup=USA-IL90210-X
         │           mythtv-categories=enabled
         │
         └── .xmltv
             └── SchedulesDirect.DB

Note that nothing is stored under the login user's .mythtv or .xmltv

-- 
Bill


More information about the mythtv-users mailing list