12/04/2016

RHEL5, rhgb change resolutions, show details


The rhgb - (red hat graphical boot launcher) is an old method for displaying or hiding details about run control scripts during start up for the Red Hat Linux operating system. There isn't a lot of clear documentation about it. This is how to adjust its resolution if it looks odd at boot time.


Basically its a set of two binaries that live in /usr/bin named [rhgb] and [rhgb-client]

rhgb - is run by the /etc/rc.sysinit script which looks for an xorg.conf file in its working directory


If it finds xorg.conf then it uses that information to start an Xwindows terminal and displays a set of default graphics including a progress bar, logos and a Gnome VTE - (virtual terminal emulator) widget with details and progress information.

The run control scripts send updates to the rhgb by pipes in its working directory temp folder using the rhgb-client

Normally the /etc/rhgb working path does not contain an xorg.conf file and the rhgb agent does the best it can to discover and create a working configuration in memory. Sometimes this works, sometimes it fails.

Under virtualbox vm emulation for example the rhgb autoconfiguration gets it mostly right, but the vte widget is displayed off center and bleeds off the display to the right.

By copying the /etc/X11/xorg.conf.virtualbox configuration to the /etc/rghb/xorg.conf file and "tweaking" it this problem can be completely eliminated. Mostly the key was the selection of the default "driver" used by the xerver (it has to be "vesa") and setting up Inputs to represent the mouse.

But an Input device is really only needed if you intend to toggle the Show Details or Hide Details arrow next to the progress bar.

If you want to "permenantly" [Show Details] without having to toggle the arrow.

You then need to edit the /etc/rc.sysinit script and find the line where the rhgb command is called to start the xserver. Its on line 361 on my system and looks like this:
361 if strstr "$cmdline" rhgb && ! strstr "$cmdline" early-login
After the line
363    RHGB_STARTED=1
 Add
364    rhgb-client --details=yes
This simply sends a command to the rhgb agent to always display details and is equivalent to toggling the on screen arrow during boot.

This provided the information to figure out that rhgb does have a resolution configuration file:

/usr/share/doc/rhgb-0.16.4/HOW_IT_WORKS


This provided the suggestion of how to flip the switch for Show Details:

Show Details on Bootup

Here is my /etc/rhgb/xorg.conf file:

# Xorg configuration created by system-config-display

Section "ServerLayout"
        Identifier     "single head configuration"
        Screen      0  "Screen0" 0 0
        InputDevice    "Keyboard0" "CoreKeyboard"
        InputDevice  "Mouse[1]" "CorePointer"
        InputDevice  "Mouse[2]" "SendCoreEvents"
EndSection

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
        Option      "XkbModel" "pc105"
        Option      "XkbLayout" "us"
EndSection

Section "InputDevice"
  Driver       "mouse"
  Identifier   "Mouse[1]"
  Option       "Buttons" "9"
  Option       "Device" "/dev/input/mice"
  Option       "Name" "VirtualBox Mouse Buttons"
  Option       "Protocol" "explorerps/2"
  Option       "Vendor" "Oracle Corporation"
  Option       "ZAxisMapping" "4 5"
  Option       "CorePointer"
EndSection

Section "InputDevice"
  Driver       "vboxmouse"
  Identifier   "Mouse[2]"
  Option       "Device" "/dev/vboxguest"
  Option       "Name" "VirtualBox Mouse"
  Option       "Vendor" "Oracle Corporation"
  Option       "SendCoreEvents"
EndSection



Section "Monitor"

 ### Comment all HorizSync and VertSync values to use DDC:
        Identifier   "Monitor0"
        ModelName    "LCD Panel 1280x800"
 ### Comment all HorizSync and VertSync values to use DDC:
        HorizSync    31.5 - 50.0
        VertRefresh  56.0 - 65.0
        Option      "dpms"
EndSection

Section "Device"
        Identifier  "Videocard0"
        Driver      "vesa"
EndSection

Section "Screen"
        Identifier "Screen0"
        Device     "Videocard0"
        Monitor    "Monitor0"
        DefaultDepth    16
        SubSection "Display"
                Viewport   0 0
                Depth     16
                Modes     "1024x768"
        EndSubSection
EndSection