Skip to Content
Linux Desktop Hacks
book

Linux Desktop Hacks

by Nicholas Petreley, Jono Bacon
March 2005
Beginner to intermediate
342 pages
15h 55m
English
O'Reilly Media, Inc.
Content preview from Linux Desktop Hacks
226
|
Chapter 9, Administration and Automation
#73 Don’t Let Elvis Leave the Building
HACK
#!/bin/bash
# start up xcompmanager with drop shadows and fade effects
instances=`ps ax | grep "xcompmgr -cCfF" | grep -v grep | wc -l`
if [ $instances == 0 ]; then
while true; do xcompmgr -cCfF -l 0 -t 0 -r 5 -o .6 ; done
else
exit 1
fi
The first thing the script does is check to see if the command is already run-
ning. If so, the script exits. Perhaps you forgot you already started this
script, or perhaps you started the command manually. In either case, you
don’t want to start two instances, and this portion of the script prevents
that.
Notice that the
xcompmgr command is not followed with an ampersand. That
would launch xcompmgr in the background and return control to the script.
Then the script would proceed to try to launch more instances of xcompmgr
over and over again. Trust me. That’s a bad thing.
Now save your work and make this script executable with this command:
# chmod +x /usr/local/bin/keep-xcompmgr-running
The script is a simple infinite loop. But it doesn’t just start new instances of
xcompmgr over and over again. The xcompmgr program does not return
control to the script unless it fails, so this script will get to the point where it
launches the
xcompmgr command and its arguments, and then stop running.
If xcompmgr encounters a bug that causes it to exit unexpectedly, control
returns automatically
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Linux Server Hacks, Volume Two

Linux Server Hacks, Volume Two

William von Hagen, Brian K. Jones

Publisher Resources

ISBN: 0596009119Catalog PageErrata