Customizing the XDM Login Screen
The .width, .height, .x and .y settings can be used to set the size and screen position of the xlogin box, or you can use .geometry to specify all of these at once. Let's move the login box to the lower-right corner and make it 300 by 250 pixels. The screen coordinates to be used start with 0,0 in the upper-left corner, and the coordinates of the lower-right corner will depend on your screen resolution. But X has another way to specify coordinates: -0,-0 is the lower-right corner of the display, no matter what the screen size. Add this line to the Xresources file, near the other xlogin* definitions:
Save the file and restart the x server as you did after changing the background image. Your login box should now fit snugly into the lower-right corner of the display, revealing more of your background image.
Now we can change the colors. There are five resources relating to color in the above table. First, change the default foreground and background colors for the box using the xlogin*foreground and .background settings. Let's make it black on blue:
xlogin*foreground: black xlogin*background: steelblue
Save and restart the X server to make sure your changes have taken effect. The greeting and login prompt did not change color, because you haven't changed them yet. You must specify each individual color you want to change. The .greetColor setting is the greeting that is displayed at the top of the box. .promptColor is the login: and password: prompt color, as well as the text you enter for your user name. .failColor is used for when the user name or password entered is invalid.
Try out these settings:
xlogin*foreground: black xlogin*background: steelblue xlogin*greetColor: white xlogin*promptColor: grey xlogin*failColor: red
Not a terribly inspiring color scheme, but better than black on white. Play around with it until you find the colors you like.
The resources that control the four fonts we want to change are:
xlogin*font: used for displaying the typed-in user name
xlogin*greetFont: used to display the greeting
xlogin*promptFont: used to display the prompts username: and password:
xlogin*failFont: used for displaying that the login failed
Fonts under X are difficult to deal with. They have an abundance of options and modifiers, most of which are never used. The xfontsel program can make font selection much easier. Just browse through the fonts, selecting the font style, size and attributes you want. Then click on the select button and paste the font string into the Xresources file using your middle mouse button, or both mouse buttons at once if you have a two-button mouse. Add these lines to your Xresources file:
xlogin*font:\ -*-courier-bold-r-*-*-18-*-*-*-*-*-*-* xlogin*greetFont:\ -*-helvetica-bold-r-*-*-24-*-*-*-*-*-*-* xlogin*promptFont:\ -*-lucidatypewriter-bold-r-*-*-18-*-*-*-*-*-*-* xlogin*failFont:\ -*-times-bold-i-*-*-24-*-*-*-*-*-*-*Experiment with the different fonts and sizes until you find something you like.
You can also specify the text that is displayed for each of the four prompts associated with the xlogin widget. .greeting can be set to CLIENTHOST and will display the full host name of the system it is running on. The .namePrompt value is displayed to ask for the user name, .passwdPrompt asks for the password, and .fail is displayed when an unsuccessful login occurs. For example:
xlogin*greeting: Welcome! xlogin*namePrompt: Name:\040 xlogin*passwdPrompt: Password: xlogin*fail: !WRONG!
X distributions usually include the xclock program which can display a nifty looking analog clock. Add it to your XDM screen by inserting this line in your Xsetup file:
xclock -hl white -hd white -bg black -fg white\ -geometry 100x100+0+0 &
This will display an analog clock of moderate size in the upper-left corner of the screen. The clock may stay running, even after a user has logged in.
Well, that's about it for the basic customization of XDM. There are many things to play with, and hopefully I have given you a good framework with which to begin experimenting. No two users have the same tastes, so it may take some time before you finally get the look and feel you want.
Brian Lane and his wife Denise live in Olalla, Washington with their four computers. He spends his days developing embedded software and his nights writing Linux code. He can be contacted at firstname.lastname@example.org.
|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|
- RSS Feeds
- Dynamic DNS—an Object Lesson in Problem Solving
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Using Salt Stack and Vagrant for Drupal Development
- New Products
- A Topic for Discussion - Open Source Feature-Richness?
- Drupal Is a Framework: Why Everyone Needs to Understand This
- Validate an E-Mail Address with PHP, the Right Way
- Designing Electronics with Linux
- What's the tweeting protocol?
- Kernel Problem
2 hours 10 min ago
- BASH script to log IPs on public web server
6 hours 37 min ago
10 hours 12 min ago
- Reply to comment | Linux Journal
10 hours 45 min ago
- All the articles you talked
13 hours 8 min ago
- All the articles you talked
13 hours 12 min ago
- All the articles you talked
13 hours 13 min ago
17 hours 38 min ago
- Keeping track of IP address
19 hours 29 min ago
- Roll your own dynamic dns
1 day 42 min ago
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?