Welcome to Dirteam.com/ActiveDir.org Blogs Sign in | Join | Help

The things that are better left unspoken

a blog by Sander Berkouwer

Related

AD Manager Plus
 

Blog roll

News



Archives

Changing Server Core's Look and Feel, Part 2

 

After playing with the remaining Control Panel applets it's time to look at how Server Core looks on your screen. Despite the absence of desk.cpl we're still going to adjust the settings you can adjust using the Display Properties Control Panel applet.

In this post you'll read how to:

  • Change screen resolution and color depth
  • Change screen saver settings
  • Adjust window and background colors
  • Change cleartype and windows dragging settings

Note:
Some of the settings explained in this post might not represent your situation when you install custom video drivers on your Windows Server 2008 Server Core box. 

 

 

Changing screen resolution

After installing other Windows versions you might find yourself confronted with a message screen proposing to adjust the screen resolution for you. Since Windows Server 2008 Server Core normally relies more on the command line tools than on the graphical tools this windows will not be shown.

Resolution

You can change the screen resolution by modifying two registry values. These two values are:

  • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Video\GUID\0000\DefaultSettings.XResolution
  • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Video\GUID\0000\DefaultSettings.YResolution

Where GUID is a randomly generated GUID.

You can actually specify any XResolution and YResolution value as long as they are hexadecimal.

Note:
In the case of a CRT monitor specifying an absurd resolution might damage your monitor. In the case of a LCD monitor your monitor might not show any user interface anymore.

A good way to change your Screen resolution is to write down the amount of pixels you want to fill your screen width with (this is the XResolution) and the amount of pixels you want on your screen height (the YResolution). The Windows calculator (not available in Server Core , you will have to find another computer or a hardware advanced calculator) offers an easy way to convert decimal amounts to hexadecimal amounts. You can then use these values to modify the corresponding registry values. A restart will make your preferred screen resolution meet reality.

Color Depth

The color depth used on your monitor is captured in the following registry value:

  • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Video\GUID\0000\DefaultSettings.BitsPerPel

On my box this hexadecimal value was set to 0x00000008 (8) which meant my screen used an 8 bit color depth. (256 colors) Changing it to 16 bits (0x00000010) will show 65536 colors (High Colors) Other values that are typically available are 24 bits (0x00000018) and 32 bits (0x00000020).

Refresh Rate 

The refresh rate is the amount of times your screen gets fully refreshed and is expressed in Hertz. You can change the following value with your desired amount of Hertz:

  • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Video\GUID\0000\DefaultSettings.VRefresh

Changing screensaver settings

The standard settings for the Screensaver is to run logon.scr after a 10 minute time-out (or more precise: 600 seconds) and to protect the screensaver with a password. I'm not making this up. I just read these settings from the following registry values:

  • HKEY_CURRENT_USER\Control Panel\Desktop\ScreenSaveActive
  • HKEY_CURRENT_USER\Control Panel\Desktop\SCRNSAVE.EXE
  • HKEY_CURRENT_USER\Control Panel\Desktop\ScreenSaverIsSecure
  • HKEY_CURRENT_USER\Control Panel\Desktop\ScreenSaveTimeOut

Using regedt32 you can easily change the behavior of your screensaver:

To disable your screensaver you change the value HKEY_CURRENT_USER\Control Panel\Desktop\ScreenSaveActive from "1" to "0".

Changing the screensaver is as easy as changing HKEY_CURRENT_USER\Control Panel\Desktop\SCRNSAVE.EXE. This value reads %windir%\System32\logon.scr (the Windows Logos) by default. You can change it to scrnsave.scr (Blank Screen) if you prefer it.

I can't find a reason why you'd want to change the ScreenSaverIsSecure, because it asks for credentials when you try to wake the server from its screensaver. If you do than you can do this by changing the HKEY_CURRENT_USER\Control Panel\Desktop\ScreenSaverIsSecure value from "1" to "0".

If you're the kind of person that likes to ponder over your commands or just needs some time you can adjust the amount of time before the screen saver kicks in. The HKEY_CURRENT_USER\Control Panel\Desktop\ScreenSaveTimeOut value specifies the time out in seconds. 600 seconds add up to 10 minutes. 3600 seconds will buy you an hour of idle time, but any reasonable value will do.

 

Adjust window and background colors

I'm particularly fond of the old-school Windows 2000 theme in Windows Server 2008 Server Core. (It reminds me of the numerous Windows NT4 migrations I've done back in the Windows 2000 Server era) If you're more of a Windows Server 2003 (gray background) than this part will show you how to get that feeling.

Jose Barreto has made a dump of the registry values under the following keys:

  • HKEY_CURRENT_USER\Control Panel\Colors
  • HKEY_CURRENT_USER\Control Panel\Desktop

These are of interest to you when you want to change the way your desktop feels. If you want to change the settings for every newly created user you can modify the values in the HKEY_USERS\.Default\Control Panel keys.

Window colors

The registry values under Control Panel\Colors make up the color scheme for your windows by specifying RGB(Red Green Blue) values separated by spaces:

  • ActiveBorder, ActiveTitle, GradientActiveTitle and TitleText control the title of your active windows
  • InactiveBorder, InactiveTitle, GradientInactiveTitle and InactiveTitleText control the title of inactive windows
  • Menu, MenuText, Scrollbar, GrayText, HiLight, HilightText, AppWorkSpace and Window control the colors for the rest of your windows

Background

The Background Color is the Control Panel\Colors\Background value. If you want the background to be "Windows Server 2003 gray" open regedt32, change the value from "29 95 122" to "88 87 104", close the Registry editor, log off and log on again.

Click to view original size screenshot

You're out of luck if your wish is to have a background picture in Windows Server 2008 Server Core. (Although you can make a new string value called "Wallpaper" in Control Panel\Desktop this won't actually show the wallpaper at all)

Fonts and element sizes

To complete the settings you'd normally find on the Appearance Properties window is the fonts used for captions, icons, menus, messages and bars as well as the sizes of these items. These settings are all under the following key:

  • HKEY_CURRENT_USER\Control Panel\Desktop\WindowsMetrics

 

Changing miscellaneous display settings

Window dragging

Windows Server 2008 Server Core has the DragFullWindows setting enabled by default. This setting configures whether the content of window keeps getting showed while you drag it around. If you want to disable it you change the string value for HKEY_CURRENT_USER\Control Panel\Desktop\DragFullWindows from "1" to "0".

FontSmoothing

The Smooth edges of screen fonts checkbox that you find on the effects screen is hidden inside the HKEY_CURRENT_USER\Control Panel\Desktop\FontSmoothing value. In Server Core this value is typically set to "2", which enables it. When you change it to "0" you disable it. "0" and "2" are the only working values.

System wide font size 

The last thing desk.cpl can do for you is to set the system wide font size. (one of the advanced settings) In Windows Server 2008 Server Core you can change the settings in the registry, but they won't take effect. I didn't see any difference in the graphical tools between different settings, ranging from 72 dpi (0x00000048) to 192 dpi (0x000000c0)

 

Concluding

Windows Server 2008 Server Core doesn't have a Display Properties Control Panel applet to change your display settings. No need to worry though, because you can change all of these settings in the registry.

Some settings won't work in Server Core (yet):

  • Setting a background picture
  • Changing the system wide font size

I seem to enjoy turning the registry of my Server Core box inside out, because Part 3 of this series will also contain a large portion of registry editing. No Display settings like this post, but Mouse and Keyboard settings.

Further reading

Longhorn Server Core Screen Resolution and Dragging Windows 
Personalizing the Desktop on a Windows Server 2008 Server Core install 
Creating and Installing Theme Files
How to Change the Font, Size, and Colors of Desktop Items
Large Fonts in Registry: Where Exactly?  
Windows Server 2008 Core
Basic Initial Server Core Tasks 
Server Core - Tips and Tricks Vol 2

Disclaimer Beta Software

The information on this webpage applies to software from Microsoft that was in testing phase but utilizable by experienced users by the time the webpage was written. This software has not been released for sale, distribution or usage for the general public. The information on this webpage and the beta software are provided "as is" without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose.

Posted: Tuesday, August 14, 2007 8:58 PM by Sander Berkouwer

Comments

Realtime Community | Windows Server said:

Sander Berkouwer's Blog includes an extremely detailed two-part posting on the steps necessary to change the look and feel of a Server 2008 Core installation. Sander obviously did his research on this one as I haven't seen anywhere else such a great collection

# August 14, 2007 9:41 PM

The things that are better left unspoken said:

Yesterday I wrote down information on the missing desk.cpl (the Display Control Panel applet) and how

# August 15, 2007 8:22 AM

Howto: Configure the Windows 2008 Server Core Screensaver Activation Period « the back room tech said:

By default the Windows 2008 Server Core screensaver will activate after 600 seconds (10 minutes) of inactivity.To change the amount of time the screensaver waits to activate, edit the following registry key:

     HKEY_CURRENT_USER\Control Panel\Desktop\ScreenSaveTimeOut

I changed mine from 600 seconds (10 minutes) to 1200 seconds (20 minutes).
Sander has several other Desktop related settings you can configure for Server Core on his blog.

# March 18, 2008 2:59 AM

Mark's Windows Server Blog said:

Sander Berkouwer wrote a series of blog posts last summer that look at changing the look and feel of a server core installation. Server core may be intended for core infrastructure servers in lights-out data centres but even so, some customisation can be useful. Sander's notes should help most people get things started.

# April 9, 2008 3:51 PM
Anonymous comments are disabled