23 September 2019
CamBam on Linux
Step 1. Install the Mono framework
CamBam for Linux relies on the Mono .NET framework.
It is highly recommended to install the latest mono framework available for your Linux distribution.
Instructions for various Linux flavours are given on the mono-project download page.
Once the correct mono repositories are set up, install the mono-complete package.
sudo apt-get install mono-complete
Step 2. Download the CamBam system files
Download and extract the following to the ~/.config folder : ~/.config/CamBam plus 1.0
CamBam1.0-mono.system.tgz (253 KB)
tar -C ~/.config --skip-old-files -xzf ~/Downloads/CamBam1.0-mono.system.tgz
Step 3. Download the CamBam program binaries
Download the appropriate program archive for your Linux distribution, then extract the archive into the root of your home folder : ~/CamBam1.0
tar -C ~/ -xzvf ~/Downloads/CamBam1.0-mono-rc3-<release>.tgz
If you have a CamBam license file (CamBamPro.lic) this can be copied into the same folder as the as the program binaries.
Create a program launcher using the 'install-launcher.sh' script located in the CamBam program folder.
This will create a 'CamBam 1.0' icon in the Graphics category. Tested on Ubuntu, Mint and Raspberry Pi.
./install-launcher.sh
WARNING! These versions are still under development or undergoing periods of public testing. These releases should
be used with caution as they may contain bugs or give unexpected results. It is strongly recommended to use a simulator
or run air-cuts before running g-code generated from these versions on any CNC machinery.
Released 21 October 2019 build 1.0.7233.21741 (rc-3)
Release notes
Comments and feedback...
Ubuntu 18 based Linux / Mint 19...
CamBam1.0-mono-rc3-ubuntu18.tgz (14.0 MB)
Ubuntu 16 based Linux / Mint 18...
CamBam1.0-mono-rc3-ubuntu16.tgz (14.0 MB)
Ubuntu 14 64 bit...
CamBam1.0-mono-rc3-ubuntu14-64bit.tgz (14.0 MB)
Ubuntu 14 32 bit...
CamBam1.0-mono-rc3-ubuntu14-32bit.tgz (13.9 MB)
Raspberry Pi...
CamBam1.0-mono-rc3-raspi.tgz (13.9 MB)
Raspberry Pi installation notes...
Step 4 - Configuration
Alt+Drag window rotation
Most Linux windows managers use the Alt+Drag mouse/keyboard combination to drag and move windows.
This blocks the same default combination used by CamBam to rotate the drawing view.
In CamBam, you can also hold down the Windows Key + Alt then drag to rotate the view.
Another work around for this is to assign a different key combination for windows dragging such as the 'Windows' or 'Super' key.
The details for this vary between Linux distributions and window managers. Some specific examples are shown below.
Running
From a terminal window or a shell script, execute the following:
cd ~/CamBam1.0
./cambam.sh
Limitations / Problems we are aware of
- Alt+Dragging for 3D rotation often conflicts with Linux window dragging modes. See distribution specific notes
to disable these modes or change them to use the Windows key.
- Cut/Paste seems flaky on KDE. Invoking Klipper SHIFT+CTRL+V then clear clipboard history seems to fix. Gnome seems OK.
- Python Scripting is working, but JScript and VBScript are currently not available.
- Currently no 40 free evaluation uses. CamBam will run as though in expired evaluation mode unless a license file is detected
in the program directory. This will restrict gcode output to around 1000 lines for unlicensed use.
- Crashes when opening files on older Linux systems - please try the V1 development release
For maximum compatibility we recommend installing Mono Framework 4.6 or later libraries.
Older libraries can work, but there are known problems with scripting and printing when using older mono libraries.
If you are not sure which mono libraries are installed, use the following command:
dpkg --list | grep libmono
For Debian/Ubuntu systems, getting the latest libraries may involve adding the mono sources to the list of repositories by using the following commands,
then reinstalling the mono-complete package:
Ubuntu 18.04 / Linux Mint 19
sudo apt install gnupg ca-certificates
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb https://download.mono-project.com/repo/ubuntu stable-bionic main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
sudo apt update
Ubuntu 16.04 / Linux Mint 18
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
sudo apt install apt-transport-https ca-certificates
echo "deb https://download.mono-project.com/repo/ubuntu stable-xenial main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
sudo apt update
If an older version of mono is already installed, the following command may be needed to first remove it to allow an upgrade.
sudo apt-get remove mono-runtime
Dependencies for maximum compatibility...
For maximum compatibility, we recommend installing the mono-complete package.
On distributions that support aptitude / apt-get, the following commands can be used to install mono and the required libraries:
sudo apt-get install mono-complete
Minimal dependencies...
For a minimal installation, the following packages may suffice...
- mono-runtime
- libmono-system-windows-forms4.0-cil
- libmono-system-web4.0-cil
- libmono-system-design4.0-cil
- libmono-system-numerics4.0 (for python scripting)
The following commands can be used to install the minimally required libraries...
sudo apt-get install mono-runtime
sudo apt-get install libmono-system-windows-forms4.0-cil
sudo apt-get install libmono-system-web4.0-cil
sudo apt-get install libmono-system-design4.0-cil
sudo apt-get install libmono-system-numerics4.0-cil
Linux Mint 18.*, 19.* (with cinnamon)
From the system menu navigate to Preferences > Windows
In the 'Behaviour' section, under 'Moving and Resizing Windows', change the 'Special key to move and resize windows' to '<Super>'
Ubuntu 16, Ubuntu 14, Ubuntu 12.*
To disable ALT+Drag window dragging:
Install the dconf-editor package
sudo apt-get install dconf-editor
Start dconf-editor the browse to the following key:
org » gnome » desktop » wm » preferences » mouse-button-modifier
Change the value to '<Super>' or perhaps '<Alt> + <Super>'
Ubuntu 11.10 (Oneiric Ocelot)
To disable ALT+Drag window dragging:
To disable alt dragging...
gconftool-2 --set /apps/metacity/general/mouse_button_modifier --type string disabled
Or to use the Windows key rather than Alt...
gconftool-2 --set /apps/metacity/general/mouse_button_modifier --type string '<SUPER>'
To restore the behaviour to the Alt key...
gconftool-2 --set /apps/metacity/general/mouse_button_modifier --type string '<Alt>'
Alternatively, install the graphical GConf tool : gconf-editor to change the above setting.
Dependencies
The latest version of Ubuntu installs the core Mono packages.
Use the apt-get methods listed above to install the other required libraries.
Ubuntu 10.04 (Lucid Lynx)
Dependencies
The default source repositories for this release have out of date versions of the Mono framework and libraries so an
alternative repository needs to be specified.
Open the 'Ubuntu Software Center' application.
Edit - Software Sources
Click the Other Software tab, then the Add button.
Add the following apt line, then click Add Source:
deb http://badgerports.org lucid main
Next we need to authenticate this source.
The following link contains more details on using the badgerports repository as well as a link to a key file that
needs to be downloaded:
http://badgerports.org/help.html
In the Ubuntu Software Center, Software Sources section, select the Authentication tab, then Import Key File and select the PGP key you downloaded : (directhex.ppa.asc)
Close the software sources window and the packages cache should then rebuild.
Now click 'Get Software' then search for and install the following packages:
(Before you click install, select the More info button. The version reported should read
2.10.8.1.1 ... if not then the adding the new source repository didn't work).
- mono-runtime
- libmono-system-windows-forms4.0-cil
- libmono-system-web4.0-cil
- libmono-system-design4.0-cil
- libmono-system-numerics4.0-cil
To disable ALT+Drag window dragging:
System - Preferences - Windows
Then set the Movement key to use the Super (Windows Logo) key, rather than Alt. This will
allow you to use Alt - Dragging for rotation in CamBam.
Forum Comments
Linux Mint
Use the same instructions as Ubuntu
To disable ALT+Drag window dragging:
Use the gconftool-2 as per Ubuntu. Note, if using the graphical configuration editor, metacity is not listed so the command line tool
still needs to be used. There is a similar setting under marco but this seems to be ignored.
Raspberry Pi
Make sure the latest Mono framework is installed.
Rasbian 10...
sudo apt install apt-transport-https dirmngr gnupg ca-certificates
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb https://download.mono-project.com/repo/debian stable-raspbianbuster main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
sudo apt update
Rasbian 9...
sudo apt install apt-transport-https dirmngr gnupg ca-certificates
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb https://download.mono-project.com/repo/debian stable-raspbianstretch main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
sudo apt update
Now install mono-complete...
sudo apt install mono-complete
OpenGL mode does not work at the moment (We will investigate using OpenGL ES for later releases).
Change the System – Configuration – Display Mode to GDI for now, then restart CamBam.
OpenGL_Legacy says it works, but is slow and horrible (it is likely using software emulation).
To disable ALT+Drag window dragging:
For Raspbian with openbox lxde window manager, edit the following configuration file:
nano ~/.config/openbox/lxde-pi-rc.xml
If this file does not exist, try the following configuration file:
sudo nano /etc/X11/openbox/lxde-pi-rc.xml
Use CTRL+W to search for "A-Left" (include the double quotes in the search).
You should find the following section. Change the three "A-Left" texts to "W-Left"
(W stands for the Windows key).
<context name="Frame">
<mousebind button="W-Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
<mousebind button="W-Left" action="Click">
<action name="Unshade"/>
</mousebind>
<mousebind button="W-Left" action="Drag">
<action name="Move"/>
</mousebind>
Save the file then run the following command or just restart your raspberry pi.
openbox --reconfigure
openSUSE
To disable ALT+Drag window dragging:
Applications -> Configure Desktop -> Window Behaviour -> Window Behaviour -> Window Actions
On bottom section: Inner Window, Titlebar & Frame
Modifier key : Alt (default)
Set Left button: Nothing
Kubuntu
To disable ALT+Drag window dragging:
Computer -> System Settings -> Window Behaviour -> Window Behaviour -> Window Actions
On bottom section: Inner Window, Titlebar & Frame
Modifier key : Alt (default)
Set Left button: Nothing
Dependencies
Use the apt-get methods listed above to install the mono-runtime and other required libraries.