Installing the Xaw3D Libraries
After months of being stuck in my CLI (Command Line Interface) mode, I finally broke down and installed X11R6 on my Linux machine. It's nothing to write home about, really, just a 386/40 which three years ago was state of the art. Oh well. At least I have graphics and can finally see the neat pictures on the Star Trek: Voyager WWW site. It also gave me a chance to put my mouse to work after it collected months of dust.
Taking the defaults that XFree 3.1.1 gave me, I found myself inside fvwm and its Motif-like interface, wishing that other programs also had a Motif-like interface. Motif has many advantages, but the drawback is that it costs money that many of us don't have (yet). One of the features that Motif provides is a 3-D interface for buttons and other portions of a window known as widgets. These widgets are designed such that the developer of the software determines what widgets to use and how they work, and the end user is allowed to change how the widgets are displayed. This is similar to the way that X without Motif works now.
To make your screen more 3-D like, there is a drop-in replacement for the Athena Widget set called Xaw3D. The Athena Widgets define how the scroll bars on the side of the screen work. By default, the widgets make the scroll bar for a program like xedit look like what you see in Figure 1. Functional, yet somewhat bland.
The replacement 3-D libraries make xedit look more like Figure 2. You'll notice three areas where Xaw3D has made its presence known. The buttons on the top of the window, the scroll bar on the left, and the three section markers on the top right-hand area.
You can get the 3-D widgets in most of the popular Linux FTP sites, including sunsite.unc.edu as /pub/linux/libs/X/libXaw3d_X11R6.tar.gz. There are also libraries for Xfree 2.1 along with the Xaw3d sources in the same directory.
The installation is pretty straightforward, but you have to be root. There are instructions in the libXaw3d_X11R6.readme file. Tar and uncompress the libXaw3d_X11R6.tar.gz file with:
tar -zxvC / -f libXaw3d_X11R6.tar.gz
then update the shared libraries:
ldconfig
The -C tells tar to untar in the root directory. Since the tar file contains the directory structure to put the libs in usr/X11R5/lib, the -C / will place the file in the correct directory without having to move it all around. Note that this will replace the libXaw.so.6.0 file that already exists there, so you may want to back it up. The ldconfig will update the file links for you, so you don't need to make the common mistake of erasing the library by using the ln command incorrectly.
Once this library is installed, this will only affect dynamically linked libraries. There are other packages available in the same directories as above that provide the libraries for statically-linked programs, should you need them: Most users probably won't.
The next time you start X-Windows, you'll notice changes in the scroll bar and other widgets that normally use the Xaw set. You can also make changes to the appearance of these widgets, using the ~/.Xdefaults file to configure Xaw.
You can use the *shadowWidth resource to change how each widget displays itself, and you can see the results of your changes by merely saving the file to ~/.Xdefaults and then starting up a new program that uses scroll bars or buttons that are statically linked. Two good examples for this are xterm and xedit.
The *Label*shadowWidth resource defines the depth of the label widgets to make them appear 3-D. You can add a shadow by setting this number, for example, to 2.
One of the best ways, however, to figure out what each widget does is to borrow someone else's configuration. Michael K. Johnson was kind enough to provide me with a copy of his .Xdefaults, and I've made my own revisions, which are shown in Figure 3.
! For Xaw3d! gives everything that Motif look to it. Sort of.*background: LightSkyBlue*Form.background: grey90*TransientShell*Dialog.background: bisque3*Command.background: gray80*Menubutton.background: gray80*ScrollbarBackground: gray60*Scrollbar*background: gray70*Scrollbar*width: 16 *Scrollbar*height: 16*Scrollbar*shadowWidth: 2*Scrollbar*cursorName: top_left_arrow! You can change the above to all kinds of icons, including gumby.! Find out what icons are available by looking in! /usr/include/X11/cursorfont.h - be sure to strip off the XC_*Scrollbar*pushThumb: false*ShapeStyle: Rectangle*beNiceToColormap: false*shadowWidth: 2! The above defines all shadowwidths to 2. *Label*shadowWidth: 2! The above overrides the definition from a few lines above for Label! widgets.*SmeBSB*shadowWidth: 2*highlightThickness: 0*topShadowContrast: 20*bottomShadowContrast: 40! The above two lines define how the shadows appear on the top and! bottom of the widgets. The higher the number, the lighter it is. This! particular setting makes the top and left sides darker than the! bottom and right sides. Figure 3. File .Xdefaults
Pulldown menus can have the *SmeBSB*shadowWidth resource set, which will change the display of pull-down menus.
For more help on how the resources or Athena Widgets work, look at the man pages for the various standard X applications (such as xterm or xedit).
Mark Komarinski graduated from Clarkson University (in very cold Potsdam, NY) with a degree in computer science and technical communication. He now lives in Troy, NY, spending much of his free time working for the Department of Veterans Affairs where he is a programmer.
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Sponsored by AMD
Built-in forensics, incident response, and security with Red Hat Enterprise Linux 6
Every security policy provides guidance and requirements for ensuring adequate protection of information and data, as well as high-level technical and administrative security requirements for a system in a given environment. Traditionally, providing security for a system focuses on the confidentiality of the information on it. However, protecting the data integrity and system and data availability is just as important. For example, when processing United States intelligence information, there are three attributes that require protection: confidentiality, integrity, and availability.
Learn more about catching the bad guy in this free white paper.
Sponsored by DLT Solutions
| Designing Electronics with Linux | May 22, 2013 |
| Dynamic DNS—an Object Lesson in Problem Solving | May 21, 2013 |
| Using Salt Stack and Vagrant for Drupal Development | May 20, 2013 |
| Making Linux and Android Get Along (It's Not as Hard as It Sounds) | May 16, 2013 |
| Drupal Is a Framework: Why Everyone Needs to Understand This | May 15, 2013 |
| Home, My Backup Data Center | May 13, 2013 |
- Designing Electronics with Linux
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Dynamic DNS—an Object Lesson in Problem Solving
- Using Salt Stack and Vagrant for Drupal Development
- Build a Skype Server for Your Home Phone System
- New Products
- A Topic for Discussion - Open Source Feature-Richness?
- Why Python?
- Validate an E-Mail Address with PHP, the Right Way
- Tech Tip: Really Simple HTTP Server with Python
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi

It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?




2 hours 14 min ago
4 hours 44 min ago
14 hours 47 min ago
19 hours 14 min ago
22 hours 50 min ago
23 hours 22 min ago
1 day 1 hour ago
1 day 1 hour ago
1 day 1 hour ago
1 day 6 hours ago