Hidden Menu
G7RAU - LIVE MUF V7 Linux
G7RAU LOGO IMAGE
Running Live MUF on Linux.

I have managed to get Live MUF running on Linux now at home on my Debian 6/7 and Mint machine (X86, 64 AND ARM (Odroid-XU4) CPUs).
Although it is not perfect it is good enough to use in my view but I am sure you will find bugs in it.
I have tested this using MySql and sqLite databases. It is very fast data processing on MySQL, at least 120 spots per second!
I recommend if you are geeky to run Linux then set up MySQL for running Live MUF as sqlite is not as fast under very heavy loads i.e. RBN skimmer mania.

Ok, a basic guide on Debian:
Make sure you have mono installed on your linux distro (at least 3.8.10).
You will need
mono-runtime
mono-gac
mono-2.0.gac
mono-vbnc
libgdiplus

mono cli 2.0 are the framework components used.
Later Mono versions don't seem very backward compatible but Live MUF luckily will run in cli 4.0 as well even though it is built in 2.0, just ignore
the compatibility warning.

Make sure you have SQLite3 / mysql / 7z installed on your distro
Live MUF uses 7za in the updater, make sure you have it, it is normally in the package p7zip-full: http://linux.die.net/man/1/7za

Download and extract live_mufV7.exe to where you want to run Live MUF in your home drive (make sure you have full rights where you run it from!)

download http://g7rau.demon.co.uk/soft/downloads/lm7_linux_dll.exe and overwrite the files in your Live MUF folder
(MySql.Data.dll System.Data.SQLite.dll etc)

from a terminal window browse to the live MUF folder and run Live MUF as ./Live_MUF.exe or mono Live_MUF.exe


And a basic guide on Fedora:
2. yum install mono cli 2.0 components (Mono-Complete seems to get all)
3. download livemuf
4. download special dll.
5. Unpack livemuf / dll using the archive manager as the exe is a 7z archive.
6. Put everything to a directory
7. mono Live_MUF.exe (with the ./Live_MUF.exe command wine wants to take over...)

3. Note for Older Odrois-XU4 builds (probably Raspberry PI as well) the Mono version is too old, best to go direct to mono site and follow instructions from there. The scripts are a bit of a fiddle, email if you need help.

Live MUF should work as normal from here apart from:
When it 1st loads make sure you tick "Running in Linux" in the user details

Use the menu file/exit to close the app otherwise your opened windows are not retained..

In buffers / fonts change the font to courier 10 or similar. Set main windows buffer limit to 3000 to reduce flicker (in reality there will be 6000 in the buffer, ample enough) or find your own happy setting.

Updating will be a partially manual process, sorry.. you need to follow the screen messages in Live MUF Updater. Remember to keep the files MySql.Data.dll System.Data.SQLite.dll you downloaded as these are specific to Linux

SQLite is not good under high loads i.e. cpu usage is big! Use MySQL instead, it is worth the pain,

BUG ALERT!!!! Due to the way Linux seems to work ALWAYS USE THE File / Exit menu rather than the cross top right to exit the app or your tabs will be trashed.
Again: ALWAYS USE THE File / Exit menu when quitting live MUF!
Best to go to menu "Misc" on the top and hide title bar and select start maximised then you get a custom X cross box that does work in Linux ;)


Basic guide to set up MySQL on Linux for Live MUF:
This is a simplified version, you may prefer to do it your way and make changes to the scripts / database name etc.

1:
Set up Mysql in your distro (remember what you set the root password in MySQL to!!)

2:
Download the MySQL files from my website: http://g7rau.demon.co.uk/soft/downloads/mysql_call_locs.exe

3:
Extract this into a folder i.e. /home/username/lm_mysql
there will be 2 files: live_muf_structure.sql and mysql_call_locs.sql

4:
Open a standard terminal and log in as root to mysql in the command prompt:
mysql -u root -p
(you will be prompted to type in your mysql root password)

5:
once logged in type the path to the main script:
\. /home/username/lm_mysql/live_muf_structure.sql
and hit return
this should create the database. now type use live_muf and hit return
Note, if you have a database already called live_muf this will overwrite all the tables..
If you want more help either email me or read live_muf_structure.sql as there is more help in the script.


6:
Now to update update the locs database with:
\. /home/username/lm_mysql/mysql_call_locs.sql
and hit return

7:
to give rights to your live muf user run:
grant all on live_muf.* to mymufuser@localhost identified by 'mypassword';
and hit return (change mymufuser and mypassword to whatever you like)

8:
Open Live MUF.
Go into general options / database type
Tick use mysql
set servername to localhost
port to 3306
data source to live_muf
username to mymufuser and password to mypassword (or whatever you changed these to).
You can also tick use logger and set the logger db name to live_muf
Click update and you should be all ok!

9:
Finally go to general options / MUF updates and run update spot filter, DXCC file and run a 99 week call/loc update.


If you create your own desktop shortcut on Linux you will find a suitable icon in the mapping subfolder.
And of course you can create your own launchers, this one I use to restart the app if it fails (skimmer under high load still causes the odd issue!)

#Script started, make sure it is executable!
#folder path to app
cd /home/lm/lm_for_webserver/
#Starter number for the app
mynum=1
#seconds to wait fater a failure
slp=3
#loop to make sure Live MUF stays up
while :
do
#mono-sgen Live_MUF.exe /auto
mono Live_MUF.exe /auto
#App failed! sleep 2 seconds and then write something to the Live MUF log!
sleep 2
dt=$(date)
mt=" !!!!!!!!!!!!!MUF app failed!!!!!!!!!!!! instance-"
echo $dt $mt $mynum '\n'>>muf_errors/muf_errors.log
#Increase the sleep time for crashes, if a bad loop then at least the gaps get bigger between retries
mynum=$((mynum+1))
slp=$(($mynum+$slp))
sleep $slp
if [ "$mynum" -gt 200 ]; then
#At 200 failures stop, something BAD is wrong
exit 0
fi
done
#Script finished

Let me know if you get Live MUF running on your Linux Distro (include OS when you email me) and let me know any bugs.

73 de Dave