Manage What Applications to Run on Boot in Ubuntu


Update: November 20th, 2009
I am not sure what I was thinking when I wrote this post, but if you want to easily control the programs that run on boot from a graphical interface go to: System -> Administration -> BootUP-Manager. If you do not have BootUP-Manager do “sudo apt-get install bum”.
If you want to know how to do this from command line, read below.


After I installed vmware server 2.0.2 on my Ubuntu 9.10 machine I realized that it would start every time the computer boots up. This makes total sense to be the default behavior, since you would like your guests to be automatically up and running again after a reboot. But in my case I only used a guest OS every once and a while so I do not want to have all the vmware server processes running on the background for no reason. And since vmware uses a browser based management console it also starts apache and java. That is too much stuff running in vain if you are not going to be using vmware.

My first notion was to check System -> Preferences -> Startup Applications but to my surprise it did not contain the vmware server application.

Since I knew that vmware server can be started or stopped with the /etc/init.d/vmware script, I was fairly sure that the installation had put some links in the rc.d directories to that file.

That meant using the update-rc.d command line utility. It manages all the links in the /etc/rc?.d directories where the “?” is the run level. So you can configure any application that has a script in the /etc/init.d directory to start (or not to start) on boot. You can also easily create your own init.d script by just copying and modifying an existent one.

So, first I checked if vmware has set up any links in the rc.d directories:


ls -l /etc/rc?.d/*vmware
lrwxrwxrwx 1 root root 16 2009-11-03 21:44 /etc/rc0.d/K20vmware -> ../init.d/vmware
lrwxrwxrwx 1 root root 16 2009-11-03 21:44 /etc/rc1.d/K20vmware -> ../init.d/vmware
lrwxrwxrwx 1 root root 16 2009-11-03 21:44 /etc/rc2.d/S20vmware -> ../init.d/vmware
lrwxrwxrwx 1 root root 16 2009-11-03 21:44 /etc/rc3.d/S20vmware -> ../init.d/vmware
lrwxrwxrwx 1 root root 16 2009-11-03 21:44 /etc/rc4.d/S20vmware -> ../init.d/vmware
lrwxrwxrwx 1 root root 16 2009-11-03 21:44 /etc/rc5.d/S20vmware -> ../init.d/vmware
lrwxrwxrwx 1 root root 16 2009-11-03 21:44 /etc/rc6.d/K20vmware -> ../init.d/vmware

If you notice some of the link names start with “K” and some with “S”. “K” means “kill” and “S” means “start”.

To prevent vmware from starting at boot run the following command:

sudo update-rc.d -f vmware remove

This will remove all the links to the /etc/init.d/vmware script. The “f” option here is necessary because it forces update-rc.d to remove the links even though the /etc/init.d/vmware still exists. If you do not specify the “f” option you will have to delete this init.d script first.

If you want to restore the vmware application to run at boot again:

sudo update-rc.d vmware defaults

Debuntu.org has a more detailed explanation of update-rc.d.

Tuesday, November 3rd, 2009 Linux, Ubuntu No Comments

Madwifi drivers for Ubuntu 9.10 (Karmic Koala) or linux kernels 2.6.29 and above.

After upgrading to the latest Ubuntu version 9.10 I could no longer compile and install the madwifi drivers. Here are the compilation errors I was getting:

In file included from /home/user/madwifi/madwifi-hal-0.10.5.6/ath/../net80211/ieee80211_monitor.h:34,
from /home/user/madwifi/madwifi-hal-0.10.5.6/ath/if_ath.c:75:
/home/user/madwifi/madwifi-hal-0.10.5.6/ath/../ath/if_athvar.h:107: error: conflicting types for 'irqreturn_t'
include/linux/irqreturn.h:16: note: previous declaration of 'irqreturn_t' was here
/home/user/madwifi/madwifi-hal-0.10.5.6/ath/if_ath.c: In function 'ath_attach':
/home/user/madwifi/madwifi-hal-0.10.5.6/ath/if_ath.c:478: error: 'struct net_device' has no member named 'priv'
/home/user/madwifi/madwifi-hal-0.10.5.6/ath/if_ath.c:819: error: 'struct net_device' has no member named 'open'
/home/user/madwifi/madwifi-hal-0.10.5.6/ath/if_ath.c:820: error: 'struct net_device' has no member named 'stop'
/home/user/madwifi/madwifi-hal-0.10.5.6/ath/if_ath.c:821: error: 'struct net_device' has no member named 'hard_start_xmit'
/home/user/madwifi/madwifi-hal-0.10.5.6/ath/if_ath.c:822: error: 'struct net_device' has no member named 'tx_timeout'
.....
.....
.....
make[3]: *** [/home/user/madwifi/madwifi-hal-0.10.5.6/ath/if_ath.o] Error 1
make[2]: *** [/home/user/madwifi/madwifi-hal-0.10.5.6/ath] Error 2
make[1]: *** [_module_/home/user/madwifi/madwifi-hal-0.10.5.6] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.31-14-generic'
make: *** [modules] Error 2

This is due to the fact that there was a change in the kernel headers. The new kernels replaced the old net_device structure with a new one called net_device_ops. It looks like this change exists since kernel 2.6.29 and up.

There currently is no stable release of the madwifi drivers for the new kernerls. But the madwifi project's latest trunk compiles and works fine (at least for me) and I have not noticed any issues yet. This should work with any Linux distribution with a kernel of 2.6.29 and above. To find out your kernel version run:

uname -r

Here is how to get and install it:

1. You can either get the latest trunk from the madwifi website at http://snapshots.madwifi-project.org/madwifi-trunk-current.tar.gz or use the one that worked for me: madwifi-trunk-r4099-20090929.tar.gz

2. Download and uncompress the files:

Provided you downloaded the madwifi-trunk-r4099-20090929.tar.gz file, cd to the directory containing the file. Then gunzip and untar the files:

tar -xvzf madwifi-trunk-r4099-20090929.tar.gz

Cd into the newly created directory:

cd madwifi-trunk-r4099-20090929

3. Install the drivers:

First make sure you have the kernel headers:

sudo apt-get install build-essential

Now compile and install:

sudo make
sudo make install

4. Add the ath_pci module to the kernel:

You need to add a line to the end of the /etc/modules file. The line should read: ath_pci. You can do this with vi of course, but if you don't know the vi editor then it would be much easier to use gedit. So, do:

sudo gedit /etc/modules

Add ath_pci to the end of the file. Here is how my file looks:

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.

lp
sbp2
ath_pci

At this point you can reboot and you should have wireless. You could save yourself a reboot by modprobing the kernel with the ath_pci module like this:

sudo modprobe ath_pci

You should be good to go.

Friday, October 30th, 2009 Linux, Ubuntu 51 Comments

Ubuntu – Choose what volume to control with your keyboard sound controls

Like any other laptop my Acer has a designated keyboard sound control. I can turn the volume up, down or mute it all together. This was working fine until one day I decided to mess with a couple of microphones (the built in and an external one). All of a sudden I noticed that my volume knob no longer controlled the speaker volume but the microphone (input) sound instead.

I automatically decided that I had somehow messed up the kernel keycodes or the GNOME key mapping. After spending sometime looking into this I found out that the issue was much simpler than this.

I must have looked at least a half dozen times at the sound dialog (Preferences->Sound) but on the n-th time I realized what the issue was.

If you look at the bottom of it you will see a section called “Default Mixer Tracks”, then there is a drop down to choose the device and a text box with a bunch of different options:

Sound Preferences

Sound Preferences

Notice the quick explanation at the very bottom: “Select the device and tracks to control with the keyboard…”. They have to put this in red font for ignorant people like me! I only noticed it after I had found out the problem.

I had changed the device in this section to “Capture: HDA Intel” when I was playing with the microphones. All I had to do is put it back to “HDA Intel (Alsa mixer)” and then picked the master track. Then I was back in business…

It is good to know that I can easily change what volume my keyboard controls are in charge of without having to mess with the GNOME key tables.

If you have a problem where the computer does not even respond to a keyboard event, look at this entry in the Ubuntu wiki. It has a good explanation of how to diagnose and fix the issue.

Tuesday, September 22nd, 2009 Linux, Ubuntu 1 Comment

Find out who links to your website

You can use the power of the search engines to find out who has links pointing to your site or to any domain for that matter.

In Google the syntax is allinanchor:domain.name. For example you would put this in the search box:

allinanchor:dimitar.me

to find out all the external links to this site.

In Yahoo and Altavista the syntax is linkdomain:domain.name. For example:

linkdomain:dimitar.me

Besides being useful to find out the popularity of your site, this technique could also be used to find out more information about anyone or anything.

It will allow you to find out who has links to the person in question on their blogs and social networking sites… Also it will show you things like the profiles they had created in different forums for instance (if they had put a link to their site in the profile description of course). There are a lot of possibilities here… Give it a try for yourselves.

Thursday, September 10th, 2009 IT Security 4 Comments

Depeche Mode Live in Tampa

I finally materialized a teenage dream and went to see Depeche Mode live last Friday. It was everything I expected even more. They sounded incredible and Dave Gahan’s voice was as good as ever. It could have been the acoustics at the amphitheater but the live performance of the songs was better than the studio versions. Martin Gore also sang 2-3 of his songs and did a great job of it.

Depeche Mode -Ford Amphitheater in Tampa, September 4th 2009

Depeche Mode -Ford Amphitheater in Tampa, September 4th 2009

At the concert I felt like I had to go see them again the next day in Fort Lauderdale. May be I should have…

I took a few videos. The quality is not that bad considering I took them with my iPhone.

Their “Tour of the Universe” continues to Mexico and then back in Europe. This could be the last chance to go see them live.

Thursday, September 10th, 2009 General No Comments

Search

 

Archive

May 2012
M T W T F S S
« Mar    
 123456
78910111213
14151617181920
21222324252627
28293031  

Other