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
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.
You can change the screen resolution by modifying two registry values. These two values are:
Where GUID is a randomly generated GUID.
You can actually specify any XResolution and YResolution value as long as they are hexadecimal.
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.
The color depth used on your monitor is captured in the following registry value:
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).
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:
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.
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
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.
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
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".
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)
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.
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.