Mythbuntu

From Free Knowledge Base- The DUCK Project: information for everyone
Revision as of 20:08, 27 February 2014 by Admin (Talk | contribs)

Jump to: navigation, search

Mythbuntu is a media center linux distribution which combines an operating system (ubuntu) with software (mythtv) to achieve a complete DVR and video library system. Mythbuntu is an official Ubuntu flavor focused upon setting up a standalone MythTV based PVR system. MythUbuntu is a custom Ubuntu distribution with a prebuilt MythTV install, and it is a Ubuntu that has been optimized for use with MythTV.

Ubuntu is a linux distribution that typically uses Gnome Windows Manager. MythUbuntu does not use Gnome. MythUbuntu uses Xfce as the Window Manager.

MythTV is a software that runs on Linux to virtually turn a Linux desktop system into a DVR. MythTV can run entirely on a single system, or utilize a front-end back-end configuration.

Typical Problems with MythUbuntu

  • HDMI audio does not work by default
  • pulseaudio server will not start
  • smb/cifs not included by default

Customization

Use the The apt-get Package Management Tool to install packages.

extras

Install vim editor

apt-get install vim

Set VNC password

sudo x11vnc --storepasswd

To connect to windows shares you need cifs

apt-get install cifs-utils

Install Firefox, because Chromium doesn't support NoScript.

apt-get install firefox

Easy way to secure transfer files

apt-get install lrzsz

disable screen blanking

After my computer with ubuntu 12.04 has been idle for a short while, the screen will go blank, and even enter standby mode. Drop out of MythTV frontend to Xfce and on the menu in the upper left:

  • Applications, Settings, Screensaver

Change "Blank After" to 0 or any value you want.

Using VLC Player for playback

Using VideoLAN Player for playback in MythTV (otherwise known as VLC Player) for all video files or certain video files.

The subject is covered in the Official MythTV Wiki (MythTV VLC).

Adding files from a windows share to MythTV media library

fstab example: persistent mounts using exposed credentials

There are more than one ways to do this. This example uses cifs to permanently mount the shares so that they will be available after reboot. If the system complains add the 'noauto' parameter.

  • First edit your /etc/hosts file and add the hostname and IP address of the windows share or file server
  • Next create mount points in /mnt for each windows share
  • Make sure you have cifs installed
  • Edit /etc/fstab and add a line for each windows share, see examples:
//apollo/public/ /mnt/public cifs username=nicolep,password=yourpass,iocharset=utf8,sec=ntlm  0  0
//apollo/media/ /mnt/media cifs username=nicolep,password=yourpass,iocharset=utf8,sec=ntlm  0  0
//apollo/video/ /mnt/video cifs username=nicolep,password=yourpass,iocharset=utf8,sec=ntlm  0  0
  • mount the shares
mount -a
  • This provides read-only access to the network shares.

Example with file permission specified and full rw access

//apollo/public /mnt/public cifs defaults,dir_mode=0777,file_mode=0777,domain=workgroup,username=nicolep,password=yourpass,uid=1000

troubleshooting: devs keep breaking samba

KERNEL CHANGE BREAKS CIFS.

Somewhere between kernel 4.10.0-38 4.15.0-20 a change was made that COULD PREVENT your cifs shares from mounting. Kernels at and before 4.10 used SMB (Server Message Block) version 1.0 as the default if not specified. Most folks did not specify it so it defaulted to 1.0 and worked. Microsoft ditched 1.0 in Windows 10 and dropped support. Linux kernel developers decided to change the kernel code to no longer default to SMB 1.0 and now default to a newer version. For people that are using legacy networks or NAS devices, it breaks the mounting example from above.

Solution: Specify the SMB version.

The solution is to tell mount.cifs to use the SMB2, SMB2.1 or SMB3.0 protocol using the "vers" parameter. in Linux CIFS Utils and Samba Specify 1.0, 2.0, 2.1, or 3.0.

For the following full line example a linux desktop is connecting to an older NAS device. It is necessary to specify SMB version 1.0. Example:

//apollo/video/ /mnt/video cifs defaults,vers=1.0,domain=workgroup,username=nicolep,password=mythtv,iocharset=utf8,sec=ntlm 0 0

FAILED TO CLOSE BROKEN PIPE

Update 2024 Kernel 5.15 Samba 2:4.15.13+dfsg-0ubuntu1.6 -

cp: failed to close 'filename': Broken pipe

A problem with this latest at the time samba Can't copy large files to Windows share - Error closing file: Input/output error issue workaround, specify prior version of cifs on fstab, see example:

//apollo/video/ /mnt/video cifs vers=2.0,defaults,domain=workgroup,username=nicolep,password=yourpass,uid=1000

See Linux CIFS Utils and Samba for more information on installing cifs-utils and mounting Microsoft Windows shares.

Troubleshooting

For troubleshooting it helps to know your Mythubuntu version

cat /etc/lsb-release

There's sound on line out, but not on HDMI

CORRECT IN MYTHTV SOFTWARE:
In MythTV this can be corrected easily. From the MythTV Frontend:

  1. Setup
  2. Audio
  3. Change "Audio output device" to "ALSA:dmix:CARD=PCH,DEV=3" (or whatever soundcard and device tag matches your system)

The default here was "PulseAudio:default". When there are problems with PulseAudio, which is common, it is better to specify your soundcard and output device specifically. For our example we had an Intel ACH audio board.

CORRECT IN X11:
If you go to console and type

aplay /usr/share/sounds/alsa/Front_Center.wav

and do not hear anything out of the TV via HDMI, but do hear if you connect speakers or headphones to the line-out jack, try this:

speaker-test -c 2 -r 48000 -D hw:0,3

Again, the test is on a system with Intel ACH audio and the HDMI puts it on hw:0,3 - yours could be on another like hw:0,7. Here is how to find out where yours is, type this:

aplay -l

Here we seen:

card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]

The card number and device number you need to know. Another test is to:

aplay -D plughw:0,3 /usr/share/sounds/alsa/Front_Center.wav

Substitute plughw:0,3 with the correct values for your card and HDMI based on the output of aplay -l

Install the mixer.

apt-get install pavucontrol

Open mixer

pavucontrol

In the mixer choose the "Output Devices" tab. If you do not see XXXXXXXX listed in the dropdown then we have to modify the pulseaudio config and restart pulseaudio.

Now we need to edit the pulseaudio configuration file "/etc/pulse/default.pa" and uncomment, and edit a couple lines:

load-module module-alsa-sink
load-module module-alsa-source device=hw:0,3

Set the "device=hw:0,3" to the appropriate values for your card that you discovered though testing above.

Now start or restart pulseaudio

killall pulseaudio
start-pulseaudio-x11 

If it starts, then Good! Now you need to open the PulseAudio Volume Control applet in Xfce

  • Applications, MultiMedia, PulseAudio Volume Control

Now click the drop-down box named "Port" and choose "HDMI/DisplayPort"

Now the default audio is set to the HDMI into your television. Next time you reboot you might have a problem with PulseAudio again. See the troubleshooting below if this is the cause. It basically means you have to remark out those two lines in default.pa and manually start pulseaudio service "start-pulseaudio-x11"


pulseaudio: pa_context_connect() failed: Connection refused

pulseaudio does not start with system boot and you try to manually start it and get:

$ start-pulseaudio-x11
Connection failure: Connection refused
pa_context_connect() failed: Connection refused

The problem may be caused by an error in one of the pulseaudio config files. Those files are located in:

  • /etc/pulse

In order to get HDMI audio working, two lines that were enabled in default.pa later caused a problem after reboot.

load-module module-alsa-sink
load-module module-alsa-source device=hw:0,3

Those lines were uncommented in order to get HDMI sound working. After a reboot those lines needed commented out once again so that pulseaudio would start.

Why? Who the hell knows? pulseaudio is very buggy.