Install all the prerequisites:
For the kiosk mode, you'll also want:
Install GLOTV:
Configure GLOTV:
Edit the configuration file /usr/local/glotv/etc/glotv.conf. Fill in your own values for the following:
Alternatively, you can preload the default configuration and then simply add your changes. To do this, replace the contents of glotv.conf with the following line, and then add your changes after it:
do "/usr/local/glotv/etc/glotv.conf.sample";
Filesystem permissions:
The recommended setup is to have a single user (for example "tv") which runs both the server and all localhost clients. The local unix socket /tmp/glotv.sock will automatically have the correct permissions in such a setup.
This user also needs write access to /usr/local/glotv/var (and its subdirectories) in order to manage recording schedules:
chown -R tv /usr/local/glotv/var
If you intend to use the web interface (see below) you also need to enable the web server to run glotvschedule with the permissions of this user. A special setuid wrapper accomplishes that. The following commands give it setuid privileges:
chown tv glotvschedule-wrapper chmod 4711 glotvschedule-wrapper
And don't forget to ensure that this user has write permission for the spool directory $config{spooldir} where recordings are stored. Also, don't forget to install ~/.twmrc for this user, as described in the prerequisites section.
Start the server:
Start the server on the machine with the video source:
/usr/local/glotv/glotvd &
Start the user interface:
Start the user interface on any machine:
/usr/local/glotv/xglotv --host=HOST:PORT
Omit the --host option to connect to the local unix socket instead (default /tmp/glotv.sock). Or if there is a $config{glotv_server} entry in the client's configuration file, the default will be a TCP connection to that host. The port number is 1150, unless overridden by a command line option or the configuration file.
Kiosk mode:
Add the option --input=lirc to run in kiosk mode with /dev/lircd as the input device. If you don't have a working LIRC remote you can try --input=xboxir instead. This allows an ordinary keyboard to be used instead. Note: you'll have to redefine the mappings of the X11 key codes to use the xboxir feature. It was originally designed for the Xbox DVD remote control with special-purpose mappings. The xboxir mappings are defined in the $config{xboxir_codes} entry in the configuration file.
Warning: in kiosk mode the program will take over the console, and it may not be possible to break out via the keyboard if it hangs. Make sure you have some alternative way to login if that happens.
The kiosk mode is designed for a 720x576 pixel screen. Most of the geometry, colors, fonts, etc, are specified in a Tk resource file called etc/kiosk-720x576.resources (which in turn is named in glotv.conf). But additional adjustments are probably needed if you try to adapt it to a different resolution.
Web interface:
GLOTV has an optional web interface for scheduling recordings. It consists of a single CGI script tv.pl which can be placed anyplace your web server expects to find executable scripts, but the recommended location is /srv/www/cgi-bin/glotv/tv.pl. By putting it in its own subdirectory you can protect it with its own .htaccess file, which can be useful if you want to be able to access the web interface from the Internet.
To enable access control via .htaccess, copy the file sample.htaccess to /srv/www/cgi-bin/glotv/.htaccess and edit until it fits your security requirements. Consult the Apache documentation for detailed information about the options. Note: you will probably need the following, or some variation of it, in your httpd.conf to allow .htaccess rules in the directory where you put the CGI script:
AllowOverride AuthConfig Limit
See the Apache documentation for detailed information about authorization and access control.