Gnome to IceWM on CentOS 5 / mythtv

Quick how-to for configuring gdm to automatically log in a user and run icewm under CentOS 5.’, ‘

  1. Install icewm from rpmforge. See
  2. yum install icewm
  3. Run gdmsetup and configure mythtv to automatically log in.
  4. vi .xsession – create it, if it doesn\’t exist.
  5. Modify mythtv\’s user to run this .xsession:

# Only do this stuff if we\'re on the main display
# (i.e., don\'t do this in a vnc session)
if [ `echo $DISPLAY | grep -c ":0"` -ge 1 ]
    # Launch any programs in addition to mythtv that you
    # might need such as irexec.

    # Launch myth frontend
    mythfrontend &

    # Disable dynamic power management (screen blanking)
    /usr/bin/xset -dpms

    # Disable screen saver
    /usr/bin/xset s off


‘, ‘0’, ‘2080’, ‘3’, ‘jz’, ”, ‘0’, ”, ‘0’, ‘0’, ‘0’, ‘0’, ‘0’, ‘3-‘);
INSERT INTO nuke_stories VALUES ( ’57’, ‘0’, ‘jz’, ‘Trixbox 2.2.4 fresh install’, ‘2007-09-12 23:24:22’, ‘Installing Trixbox 2.2.4 with a Digium TDM400P card.’, ‘After installing Tribox 2.2.4 from the ISO cd, we need to set a static IP address (if you didn\’t during setup).

# netconfig

Next, we need to do the yum updates to get the system up to date:

# yum update -y

Next, install the hudlight server and admin

#yum install hudlite-server tbm-hudadmin -y (Only needed if you plan on installing Hud Lite on a workstation)

Let\’s reboot and make sure kudzu is happy with our hardware. I have found that every time the system boots, it finds the TDM400P. Just to be safe, I turn kudzu off.

#chkconfig isdn off
#chkconfig pcmcia off
#chkconfig kudzu off
#chkconfig iptables off
#chkconfig cups off

NOTE: This is for a PBX that has no external inbound access. iptables is the firewall. Since we use hardware firewalls, this is just a wasted resource on the server.

Now, let\’s get the latest digium drivers and isntall the kernel headers:

#yum install kernel-devel (or kernel-smp-devel)
# cd /usr/src

#tar -xvzf zaptel-1.4-current.tar.gz
#mv zaptel-1.4 zaptel

# cd zaptel
# build_tools/install_prereq install
# make clean
# make install (if you receive an error, see fix below)

# shutdown -r now

# rebuild_zaptel
# shutdown -r now

# amportal stop
# genzaptelconfig

Remove yum cron jobs for auto updating our system and breaking it.

#cd /etc
#rm cron.daily/yum.cron
#rm cron.weekly/yum.cron

Check the others, just to make sure.

Setting up the serial port(s) as a terminal.

This allows you to connect to the PBX with a laptop and null modem cable if you have it installed without a keyboard/monitor.

At this point, you should see lights on the back of the Digium card to let you know that it is working.

Log into the web interface and create a ZAP trunk for each module that is in the card. I prefer to rename the “g0” that is ther e by default and create my own as just “0” through “3”.

Then, create an extension and setup your phone to log into it.

Now, create an outbout route that uses the ZAP trunks you just created and see if you can make a call.

Once that is complete, just create an inbound route and have it ring the extension you added above.

Call your number with a cell phone or have someone call your number for you, and see if it rings your extension. At this point, you can research how you want Trixbox to represent your business. Using an IVR or just ring groups!

Setting FXO Gains:

# vi /etc/asterisk/zapata.conf

Edit the rxgain= and txgain= and if you need to edit them per channel.. as if channel 3 is loader than the rest after setting the main gains, use zapata-auto.conf and put rxgain= and txgain= in front of the channel=> line for each channel.

Reloading FOP config

/usr/src/something/something 🙁

Internal Distinctive Ring

# cd /etc/asterisk
# vi extensions_custom.conf

Add this to the bottom for each extension:

exten => 101,1,Macro(user-callerid)
exten => 101,n,SIPAddHeader(Alert-Info:;info=ring3)
exten => 101,n,Goto(ext-local,101,1)

And then setup the GXP-2000 to use the names \’ring1\’, \’ring2\’, \’ring3\’.

Reload FOP configs: /usr/src/freepbx/

Make fix.. :

# vi /usr/src/kernels/2.6.9-xxxblah/include/linux/spinlock.h

edit line 407 : REMOVE _ in rw_lock, so it reads:

#define DEFINE_RWLOCK(x) rwlock_t x = RW__LOCK_UNLOCK

That\’s it.. now run the \’make install\’ again and it should work.

Leave a Reply