For quite a few years I was known as the EMC loudmouth -- probably characterized that way because of my unwavering belief in it's future and evangelistic zeal. Today's product is resounding confirmation of that belief.
I've decided to use this page to put down a few things about why I use the EMC and how.
I'm just getting started.
| No More Mr Nice Chips|
Tux was taken from the cover of Businessworld Magazine.
Modified using the GIMP.
- 1. A brief EMC biography
- 2. Linux My Way
- 3. Ubuntu My Way
4. EMC My Way
- 3.1. Adding Programs to the Menu Bar
- 3.2. One Click
- 3.3. One Click Real Delete
- 3.4. Real Root User - Drag and Drop Sudo
- 3.5. Adding Repositories To Your Install
- 3.6. Adding LAN To Your Install
- 3.7. Adding Terminal Icons To Directories
- 3.8. Adding Terminal Startup to Nautilus
- 4.1. Developer Notes
1. A brief EMC biography
I found EMC by listening to a combination of good vibes from Jon Elson on rec.crafts.metalworking and FUD from Hoyt on alt.cnc. About mid 1994 I visited with Fred Proctor at The NIST. I walked in with a set of plans for a lathe conversion that included a hard wired control panel. Boy was that an eye opening experience. I thought I was pretty capable of getting my head around big ideas but I really was a newbie next to Fred and Will.
2. Linux My Way
I started playing with computers before there were personal ones. In fact the interface to it was a set of lights and switches that represented the status of registers. Then there was the IBM 360-50 that took up most of a building and had an air conditioner big enough for a good sized mall in the desert. When the PDP-10 came along it was a joy to be one of many having swap access to the core. My first PC was a revelation. I say all this so that you will understand that I am comfortable with command line interaction with computers. I also say this so that those who criticize me for so much point-and-click will understand that I am not a MS-Windows(tm) kind of guy. In fact I watched a demo of X-Windows on a Unix computer before the first Microsoft release.
IMO Linux sums up all of the advantages I'd seen during my previous experience. The ability to run more than one task at the same time is HUGE. The ability to get in and muck around with programs is also HUGE. Sure I don't know much about computer programming but I try. With Linux I have that right.
I've run Linux since a RedHat 5.0 install from a Walnut Creek CDROM for 5 bucks. I started using linux because of the EMC project. In those days we had to get the kernel sources 2.0.36 in this case. Then I had to ask Fred Proctor at NIST for a patch to the RT source named 0.9j that allowed it to use floating point numbers. Next I had to get the gcc compiler and compile and try to run my own kernel. Once that was in place I picked up a tarball of the EMC and started compiling it. That done successfully the next task was to start it. This required five terminals and specific commands in proper order.
Today I use Ubuntu and the EMC-Live CDROM almost exclusively. In between there was RedHat 6.0, 6.2, 6.3, 7.0, 7.2, Several Mandrake
installs, Knoppix, Morphix, BDI, CoolCNC, and a host of others. Of them all the Ubuntu is far and away the most stable.
3. Ubuntu My Way
This section lists several setup things that I like to do as soon as I install a new copy of Ubuntu. This is all related to the 6.06 LTS as modified by Chris Radek and packaged into the EMC2-Live cd or iso. If you want to install an RT (real-time) kernel and EMC2 over another distro or over an ordinary Ubuntu see the install page. http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Installing_EMC2
3.1. Adding Programs to the Menu Bar
Hey this is a really easy thing to do. I use the little calculator all the time so I just find it in the menu like this. (Applications -> Accessories -> Calculator) Grab it with the left mouse button and drag it out of the menu and onto an empty space on the menu bar to the right of "System." When I release the mouse button, there it is ready for me to use any time I want. If I want I can do the same thing and place it on the desktop.
3.2. One Click
Many of us who have worked for several years with Linux have gotten acustomed to single click on the graphical interfaces. The default Ubuntu uses the double click common to that other OS. You can configure a single click in the graphical environment by starting the file browser. Select menu Edit -> Preferences. Under the Behavior tab as shown below you will see a checkbox that enables single clicking.
3.3. One Click Real Delete
See the image above. The last checkbox under the Behavior tab produces a simple delete item in the left click icon. This menu item, when selected results in a complete, non-recoverable deletion of the material for which it was activated.
3.4. Real Root User - Drag and Drop Sudo
So often I do things that require root access while developing and testing and trying to break software. For this reason I've set up a real root user that I can log into. If I just need a single command as root, I'll always use sudo on the command line. I've even been known to start nautilus from the command line. (sudo nautilus)
There is a very nice page in the Ubuntu help system that you should read if you wish to change the default root behaviors. It is https://help.ubuntu.com/community/RootSudo. In there you'll also learn how to create a desktop icon that allows drag-and-drop editing of system configuration files that require root permissions. You'll have to supply your user password but it saves several steps when you need to edit something in /etc/xx or wherever only root can work.
(Don't do this for EMC's configs. Please use the copy facility described here. http://wiki.linuxcnc.org/cgi-bin/wiki.pl?CustomizingConfigsOnUbuntu or if you have installed EMC2-2.1 the configuration selection widget allows you to make copies of configs and icons to start specific configurations.
3.5. Adding Repositories To Your Install
If you plan on adding packages to your installed version of Ubuntu you will need to know just a bit about how the web makes these available to you. There are several locations on the web that can serve you additional programs. The repositories your system uses are listed in /etc/apt/sources.list. I don't recommend editing this file directly although you can using the drag and drop method listed above. Instead I use a graphic package manager named Synaptic. You can start Synaptic under the menu; System -> Admininstration -> Synaptic Package Manager.
3.6. Adding LAN To Your Install
I use a static address for all my boxes on my local area network. If you have a Ubuntu box connected to the web, you can install firestarter using synaptic. It is an instant fix for stuff like web pass through from your gateway box. The key to LAN is "Firestarter." This firewall is my salvation when it comes to stuff like network address translation and such. Once you've installed firestarter simply start it from a terminal using the command [sudo firestarter]. You'll probably see some error stuff go by because it has not created a configuration yet. The first window you encounter looks like this.
I've got dialup here but if your system is different, the pull down menu should show all the net devices that firestarter found. Simply select the one that gets you to the web. The next window looks like this.
Save that and you've got sharing.
The main firestarter screen allows you to limit the nature of incoming and outgoing connections. As you can see from the window below firestarter lists the connections that it is allowing in and out.
If you are lost, you might try looking at the ubuntu help site.
The second LAN thing I've discovered is that Ubuntu has most everything locked out. I added openssh servers to each box and by using that I'm able to set up icons on each desktop that allow me to drag-and-drop LAN wide. See "Real Root User - Drag and Drop Sudo" section above for the link to this.
The next task is relax permissions enough so that I can start various EMC configs on other boxes on the lan.
3.7. Adding Terminal Icons To Directories
I really miss the KDE ability to start a terminal most anyplace in the file structure by pressing <F4> in the file browser. There are two ways to do this. First I've figured out that I can add a terminal icon in those places where I often need terminals. I'm always wanting a terminal in my emc2-head directory for example. I use a terminal there to start up the run-in-place script, or update my copy of the source. Second is listed in the next section.
Here's how I do it. Start a file browser and move it to emc2-head. Next I left click on the terminal icon under Applications -> Accessories and while holding down that mouse button drag that icon into the file browser. Right click on the new terminal icon and edit the command under the Launcher tab. This is what I put in there.
And last, I change the name of the icon to something like A-Terminal so that it appears right after the list of directories and before any other files. Now I can click that icon and work in the terminal in the directory where I put it. Works pretty darn well.
3.8. Adding Terminal Startup to Nautilus
If your PC is online you can add the package nautilus-terminal-startup using either the command line
apt-get install nautilus-open-terminal
You can also get the same package using Synaptic's point and click approach.
You'll need to log out and back in so that you get a new instance of the file browser working for you. You'll find the terminal startup option under the file menu. You may also right click in the file display area and it will show you a menu that includes the start a terminal option. I don't know how to add a keyboard shortcut to it.
4. EMC My Way
4.1. Developer Notes
sample box to fill later.