ProductsDesktop Server For Scientific Computing For IBM POWER For IBM System z For SAP Business Applications Red Hat Network Satellite ManagementExtended Update Support High Availability High Performance Network Load Balancer Resilient Storage Scalable File System Smart Management Extended Lifecycle SupportWeb Server Developer Studio Portfolio Edition JBoss Operations Network FuseSource Integration Products Web Framework Kit Application Platform Data Grid Portal Platform SOA Platform Business Rules Management System (BRMS) Data Services Platform Messaging JBoss Community or JBoss enterprise
SolutionsApplication development Business process management Enterprise application integration Interoperability Operational efficiency Security VirtualizationMigrate to Red Hat Enterprise Linux Systems management Upgrading to Red Hat Enterprise Linux JBoss Enterprise Middleware IBM AIX to Red Hat Enterprise Linux HP-UX to Red Hat Enterprise Linux Solaris to Red Hat Enterprise Linux UNIX to Red Hat Enterprise Linux Start a conversation with Red Hat Migration services
TrainingPopular and new courses JBoss Middleware Administration curriculum Core System Administration curriculum JBoss Middleware Development curriculum Advanced System Administration curriculum Linux Development curriculum Cloud Computing and Virtualization curriculum
ConsultingStandard Operating Environment (SOE) Strategic Migration Planning Service-oriented architecture (SOA) Enterprise Data Solutions Business Process Management
Issue #14 December 2005
- The making of the Fedora logo
- Making One Laptop per Child a reality
- Open source collaboration meets construction
- Creative Commons runs annual fund-raising drive
- Doing more with... more: Dual-head display
- The virtues of Xen
- Open Invention Network to protect against patent threat
- Music to make code by
- Answers to your top 10 support questions
- Fedora Ambassadors Program takes flight
- Developing database-driven applications on Linux
From the Inside
In each Issue
- Editor's blog
- Red Hat speaks
- Ask Shadowman
- Tips & tricks
- Fedora status report
- Magazine archive
Doing more with...more: Dual-head display
by Mike Behm
Think about the language of computer interfaces for a moment. You refer to your computer screen as a desktop; you refer to the background as wallpaper upon which you open windows. At the beginning of the graphical computing age, it was important to create terminology that would enable office workers to feel comfortable as they exchanged ledger books for database applications. But as important as that was, there was also the connotation of size: that 800x600, 15-inch screen was just like your desktop. (You may decide for yourself how effective that suggestion was.)
Thankfully, hardware is cheaper now, so you may be reading this on a 19-inch monitor (or larger) at 1280x1024 (or higher). But as great an improvement as this is, it is still a long way from providing you with the space of your real desktop—and that is something of a problem.
According to an article in Signal vs. Noise, a test found that a person's performance on a 42-inch monitor was 10% to 44% faster than on a 15-inch monitor. Surprisingly, these results included tests of cognition—such as memorizing phone numbers. Apparently the clutter of a small screen affected how well the person coped with all intellectual demands—not just tasks on the computer.
But although a 42-inch monitor is probably unobtainable, you can have the next best thing: a system that has a second monitor (which is know as a dual-headed system).
Setting up your system to use a second monitor
The two components of interest are the graphics card(s) that drive the monitors and the monitors themselves.
Your options for graphics cards
Your graphics card may have a single output or multiple outputs.
If your card has multiple outputs, you may want to go directly to Configuring the system for the second monitor.
If your card has a single output and you have an available PCI slot, you could buy a second graphics card for that spare slot, or you could buy a dual-output card. For performance reasons, you should buy a dual-output graphics card that connects to your system's motherboard, not to a PCI slot. If your motherboard offers a PCI-X, PCI-E, or similar connector, buy a card that exploits the full potential of that hardware.
There are two general categories of dual-output graphics cards:
- There are relatively inexpensive graphics cards that have two different output types: analog (VGA) and digital (Digital Visual Interface (DVI)). These were probably designed to help customers as they upgrade from analog monitors to digital, but they can drive two monitors concurrently. The output types are significantly different in quality, so if you have a digital-capable (LCD) monitor, you will want that for your primary viewing.
- There are more expensive cards that have dual-DVI output.
Which type of graphics card you buy will depend both on the cost of the card and the type of monitors you want to hook up:
- If you have two analog monitors, you can buy an VGA/DVI card and get an additional DVI-to-VGA adaptor for the DVI output. While this is not ideal, it will enable you to upgrade one monitor to digital at some point in the future.
- If you have an analog and a digital monitor, you can buy an VGA/DVI card and be ready to go. Alternatively, you could buy a DVI/DVI card and an additional DVI-to-VGA adaptor so that you could upgrade to a second digital monitor later.
- If you have two digital-capable LCD monitors, you need a DVI/DVI card.
Configuring the system for the second monitor on Red Hat Enterprise Linux 4 and Fedora Core 4
To configure the system for the second monitor, select Main Menu => System Settings => Display, or at a shell prompt, enter the command system-config-display as root.
- On Fedora Core 4, the path is Main Menu => Desktop => System Settings => Display.
Click on the Dual head tab, as shown in Figure 1. "Dual-Head Display Settings".
Figure 1. Dual-Head Display Settings
To enable the second monitor, check Use dual head.
To configure the second monitor's settings, click Configure.
To enable both monitors to use an enlarged single workspace, set the Desktop layout option to Spanning Desktops. To create a pair of independent workspaces, set the Desktop layout option to Individual Desktops. With "spanned desktops" you can drag windows from one monitor to another; with individual desktops only the mouse cursor can move between desktops.
After changing the settings, log out of the graphical desktop then log back in to see the changes.
- It is possible that the system will not detect the second monitor. This can be caused by having an out-of-date driver. Go to the web site for your monitor's manufacturer and see if there is a new driver for your monitor type. Install the driver according to the instructions on the web site.
Thriving with two monitors
If there are particular programs you want to start automatically when you log in, do the following:
- Create a start-up script:
- Create a file called startup.sh in your home directory.
In startup.sh, set the first display and type in the applications you want to start there. Then, set the second display and type in the applications you want to start on that monitor. You may want to put the "intrusive" applications (email, IRC) on the secondary monitor.
Here is an example start-up script for a dual-independent display (that is, on in which you specify either DISPLAY=:0.0 or DISPLAY=:0.1):
# Applications on the left monitor export DISPLAY=:0.1 evolution& xchat& # Applications on the right monitor export DISPLAY=:0.0 firefox& gnome-terminal& gaim&
- Make startup.sh executable:
chmod 744 startup.sh
- Add the start-up script to the GNOME startup programs:
Select Main Menu => Preferences => More Preferences => Sessions => Startup Programs.
- On Fedora Core 4, the path is Main Menu => Desktop => Preferences => More Preferences => Sessions => Startup Programs.
- Click the Startup Programs tab.
- Click Add.
- In the Add Startup Program dialog, click Browse to search for startup.sh. Select it and click Open.
- In the Add Startup Program dialog, you can accept the default Order value. Click OK.
- In the Sessions dialog, click Close.
- Log out and log in again to see the changes take effect.
- The startup script technique makes it easy for you to
change the programs you run at startup.
If you prefer, you can just add individual programs to
the Add Startup Program dialog.
For example, if you have unified desktop (that is,
one in which the Desktop layout is set to
Spanning Desktops, you could follow step 2
above and in the Add Startup Program dialog
type in a command similar to:
env DISPLAY=:0.0 xterm -geometry -0+0This will start an xterm window in the upper-right corner of the rightmost monitor.
Type man X for more information about placing windows in particular locations on the desktop.
If space on your physical desktop is not a limitation, you can buy graphics cards to set up a triple-headed system. However, this configuration is quite a bit more difficult to set up. Basically, you have to edit your /etc/X11/xorg.conf file (which replaces the /etc/X11/XF86config file of older Linux distributions.)
The sample xorg.conf file that follows may assist you in setting up a three-headed system, but as you will see, you are required to specify the operation of the video cards and the monitors in detail. One way to get this information is to set up your system for a dual-headed display with one pair of cards, save a copy of the /etc/X11/xorg.conf file, replace one of the cards and save a copy of xorg.conf again, then merge the two files using the example below as a template.
# Xorg configuration created by system-config-display Section "ServerLayout" Identifier "Multihead layout" Screen "Screen0" LeftOf "Screen1" Screen "Screen1" LeftOf "Screen2" Screen "Screen2" 0 0 InputDevice "Mouse0" "CorePointer" InputDevice "Keyboard0" "CoreKeyboard" Option "Xinerama" "on" Option "Clone" "off" EndSection Section "InputDevice" Identifier "Mouse0" Driver "mouse" Option "Protocol" "IMPS/2" Option "Device" "/dev/input/mice" Option "ZAxisMapping" "4 5" Option "Emulate3Buttons" "yes" EndSection Section "Monitor" Identifier "Monitor0" VendorName "Monitor Vendor" ModelName "ViewSonic P815" HorizSync 30.0 - 115.0 VertRefresh 50.0 - 160.0 Option "dpms" EndSection Section "Monitor" Identifier "Monitor1" VendorName "Monitor Vendor" ModelName "ViewSonic P815" HorizSync 30.0 - 115.0 VertRefresh 50.0 - 160.0 Option "dpms" EndSection Section "Monitor" Identifier "Monitor2" VendorName "Monitor Vendor" ModelName "Nokia 447Xi" HorizSync 30.0 - 91.0 VertRefresh 50.0 - 150.0 Option "dpms" EndSection Section "Device" Identifier "Videocard0" Driver "mga" VendorName "Videocard vendor" BoardName "Matrox Millennium II" VideoRam 8192 BusID "PCI:2:1:0" EndSection Section "Device" Identifier "Videocard1" Driver "r128" VendorName "Videocard Vendor" BoardName "ATI Rage 128" BusID "PCI:1:0:0" # Screen 1 EndSection Section "Device" Identifier "Videocard2" Driver "mga" VendorName "Videocard vendor" BoardName "Matrox Millennium II" VideoRam 8192 BusID "PCI:2:12:0" EndSection Section "Screen" Identifier "Screen0" Device "Videocard0" Monitor "Monitor0" DefaultDepth 16 SubSection "Display" Viewport 0 0 Depth 16 Modes "1600x1200" EndSubSection EndSection Section "Screen" Identifier "Screen1" Device "Videocard1" Monitor "Monitor1" DefaultDepth 16 SubSection "Display" Viewport 0 0 Depth 16 Modes "1600x1200" EndSubSection EndSection Section "Screen" Identifier "Screen2" Device "Videocard2" Monitor "Monitor2" DefaultDepth 16 SubSection "Display" Viewport 0 0 Depth 16 Modes "1280x1024" EndSubSection EndSection
About the author
Michael Behm is a technical writer at Red Hat.