Novell Home

Miru directory server post install checklist

From Developer Community


This article covers LTSP post-installation of a Ubuntu system for integration with the miru directory server, the technical details are kept to a minimum and examples provided from the VMware demonstration system. Please do not replace with generic configuration or include historical references which are more suited to the Ubuntu or LTSP wiki.


This page is for Ubuntu Dapper Drake, see Edgy/Post install checklist for Ubuntu Edgy Eft.



Contents

X11 video memory

Thin clients or recycled machines often have little memory, it is therefore important to verify that X11 has detected the correct amount of video memory otherwise the system will reset.

[17179636.596000] Out of Memory: Killed process 3407 (Xorg).


BIOS reported size

First step is to check for video memory according to the BIOS, switch on the PC, press any key sequence necessary to see the initial startup messages, and watch for a relevant video memory line.


BIOS AGP aperture size

On certain motherboards the BIOS needs to be configured for what is termed the AGP aperture size. The size should always be set to less than or equal to the system memory size.


Xorg detected size

Starting up X11 with auto-server detection and view the log file /var/log/xorg.log should detail the detection results.

(II) I810(0): VESA BIOS detected
(II) I810(0): VESA VBE Version 3.0
(II) I810(0): VESA VBE Total Mem: 12288 kB
(II) I810(0): VESA VBE OEM: Intel(r)845G/845GL/845GE/845GV Graphics Chip Accelerated VGA BIOS
(II) I810(0): VESA VBE OEM Software Rev: 1.0
(II) I810(0): VESA VBE OEM Vendor: Intel Corporation
(II) I810(0): VESA VBE OEM Product: Intel(r)845G/845GL/845GE/845GV Graphics Controller
(II) I810(0): VESA VBE OEM Product Rev: Hardware Version 0.0
(II) I810(0): Integrated Graphics Chipset: Intel(R) 845G
(--) I810(0): Chipset: "845G"
(--) I810(0): Linear framebuffer at 0xE0000000
(--) I810(0): IO registers at addr 0xEC100000
(II) I810(0): 1 display pipe available.
(II) I810(0): detected 8060 kB stolen memory.
(WW) I810(0): Detected stolen memory (8000 kB) doesn't match what the BIOS reports (12288 kB)
(II) I810(0): Kernel reported 22016 total, 1 used
(II) I810(0): Checking Available AGP Memory: 88060 kB available (total 88064 kB, used 4 kB)
(--) I810(0): Pre-allocated VideoRAM: 8060 kByte
(==) I810(0): VideoRAM: 65536 kByte


Xorg forced size

In the above example the video memory is incorrectly set at 64MB, the following configuration will force the size to 8MB:

Section "Device"
    Identifier      "Intel Corporation 82865G Integrated Graphics Controller"
    Driver          "i810"
    BusID           "PCI:0:2:0"
    VideoRam        8192
EndSection

With LTSP this setting is in /opt/ltsp/i386/etc/lts.conf as follows:

X_VIDEORAM              = 8192

A patch is necessary to the LTSP startup script as X_VIDEORAM is not yet supported from LTSP:

--- ltsp-client-setup.original  2006-09-25 09:25:03.000000000 +0800
+++ ltsp-client-setup   2006-09-25 09:26:35.000000000 +0800
@@ -122,6 +122,9 @@
         preseed $xserver_package $xserver_package/autodetect_video_card "false"
         preseed $xserver_package $xserver_package/config/device/driver "$XSERVER"
       fi
+      if [ -n "$X_VIDEORAM" ]; then
+        preseed $xserver_package $xserver_package/config/device/video_ram $X_VIDEORAM
+      fi
       if [ -n "$X_HORZSYNC" ] && [ -n "$X_VERTREFRESH" ]; then
         preseed $xserver_package $xserver_package/autodetect_monitor "false"
         preseed $xserver_package $xserver_package/config/monitor/selection-method "Advanced"


CPU intensive screensavers

For an LTSP environment it is recommended to disable most screensavers, whilst its possible to drop to just screen blanking there are a few that are reasonably friendly. The following configuration file and script can be used to limit a clean install of Ubuntu:

# xscreensaver.whitelist
deco
fuzzyflakes
popsquares
#!/bin/sh
# move-screensavers.sh

XSCREENSAVER_ROOT=/usr/lib/xscreensaver
WHITELIST=xscreensaver.whitelist

mkdir ${XSCREENSAVER_ROOT}/disabled
mv ${XSCREENSAVER_ROOT}/* ${XSCREENSAVER_ROOT}/disabled

for theme in `grep -v "^#" ${WHITELIST}`
do
        mv ${XSCREENSAVER_ROOT}/disabled/${theme} ${XSCREENSAVER_ROOT}
done


Local X11 server

A little extra memory and CPU time can be saved by disabling the local X11 server on the LTSP server. Add the option --no-console to the gdm startup file /etc/init.d/gdm or apply the following patch:

--- /etc/init.d/gdm.orig        2006-09-28 01:14:56.000000000 +0800
+++ /etc/init.d/gdm     2006-09-28 01:17:27.000000000 +0800
@@ -56,7 +56,7 @@
                        /etc/init.d/usplash start
                fi
                log_begin_msg "Starting GNOME Display Manager..."
-               start-stop-daemon --start --quiet --oknodo --pidfile $PIDFILE --name gdm $SSD_ARG -- $CONFIG_FILE >/dev/null 2>&1 || log_end_msg 1
+               start-stop-daemon --start --quiet --oknodo --pidfile $PIDFILE --name gdm $SSD_ARG -- $CONFIG_FILE --no-console >/dev/null 2>&1 || log_end_msg 1
                log_end_msg 0
        fi
   ;;


Wacom Tablet

Input devices are managed on the LTSP client. To enable full tablet support for GIMP and Inkskape follow the Ubuntu Wiki instructions on installing a USB Wacom tablet. It is highly likely that other tablet manufacturers such as Genius, and the many Chinese micro-tablets will only support basic mouse functionality, i.e. no pressure sensitivity.

To update /etc/X11/xorg.conf you have to modify /usr/bin/dexconf which generates the configuration file on boot unless one is specified in /etc/lts.conf. Simply add the input/ subdirectory to each Device line as per the wiki.

--- dexconf.moo 2006-09-30 19:08:24.000000000 +0800
+++ dexconf     2006-09-30 19:08:37.000000000 +0800
@@ -308,7 +308,7 @@
 Section "InputDevice"
   Driver        "wacom"
   Identifier    "stylus"
-  Option        "Device"        "/dev/wacom"          # Change to
+  Option        "Device"        "/dev/input/wacom"    # Change to
                                                       # /dev/input/event
                                                       # for USB
   Option        "Type"          "stylus"
@@ -318,7 +318,7 @@
 Section "InputDevice"
   Driver        "wacom"
   Identifier    "eraser"
-  Option        "Device"        "/dev/wacom"          # Change to
+  Option        "Device"        "/dev/input/wacom"    # Change to
                                                       # /dev/input/event
                                                       # for USB
   Option        "Type"          "eraser"
@@ -328,7 +328,7 @@
 Section "InputDevice"
   Driver        "wacom"
   Identifier    "cursor"
-  Option        "Device"        "/dev/wacom"          # Change to
+  Option        "Device"        "/dev/input/wacom"    # Change to
                                                       # /dev/input/event
                                                       # for USB
   Option        "Type"          "cursor"


Local Media: Media Card Readers

Currently unsupported as of Ubuntu Dapper 6.06.1 LTS.


Local Apps

Currently unsupported as of Ubuntu Dapper 6.06.1 LTS.


Audio

Best described as 'work in progress' due to multiple API standards: OSS, ALSA, ESD, aRts, NASD, Jack, and PulseAudio, and direct access to the audio device using /dev/dsp and /dev/mixer. For LTSP try whether ESD or NASD works for you. I found that RealPlayer only works with NASD and generates a bus error on ESD, Skype fails to detect any audio devices with either configuration.

NASD

Update /opt/ltsp/i386/etc/lts.conf to specify NASD:

SOUND = True
SOUND_DAEMON = nasd

Install the audiooss wrapper on the LTSP server:

$ sudio apt-get install audiooss

I found that I needed to force re-install of NASD on the client:

$ sudo chroot /opt/ltsp/i386 apt-get remove nas
$ sudo chroot /opt/ltsp/i386 apt-get install nas libaudio2

Then reboot the client and start any application with the audiooss wrapper, e.g.

$ audiooss realplayer

With multiple sound cards some modification to /opt/ltsp/i386/etc/nas/nasd.conf will be required.


ESD

Update /opt/ltsp/i386/etc/lts.conf to specify ESD:

SOUND = True
SOUND_DAEMON = esd

All ESD friendly applications should work immediately, including the system login audio. For applications that access /dev/dsp directly there is a wrapper:

# esddsp program

However this fails with both Skype and Real Player.


Real Player

For Real Player edit /usr/bin/realplayer and comment out the following line:

# See if LD_PRELOAD contains any of the sound servers libs. If so, remove them.
#LD_PRELOAD=`echo $LD_PRELOAD | sed -e 's/\([^:]*libesd[^:]*\|[^:]*libartsp^:]*\);\?//g'`
#export LD_PRELOAD


Global Gnome Configuration

The Gconf tool allows setting of global defaults or mandatory values, alternatively use gconf-editor for a GUI similar to regedit on Windows. For complication configurations you might find it easier to configure a setup using the System Administration tools and investigate which settings were created in ~/.gconf/.

Gconf graphic interface to the Gnome configuration system, run with super-user rights will edit the system defaults or mandatory settings
Enlarge
Gconf graphic interface to the Gnome configuration system, run with super-user rights will edit the system defaults or mandatory settings


Examples of useful settings include:

  • Network proxy: /system/proxy & /system/http_proxy
  • UI fonts: /desktop/gnome/interface
  • Anti-aliasing: /desktop/gnome/font_rendering
  • Wallpaper: /desktop/gnome/background
  • Icon preview: /apps/nautilus/preferences
  • Sounds: /desktop/gnome/sound
  • Remote access (VNC): /desktop/gnome/remote_access


Removing the default autostart mixer applet and update notifier requries a different approach, create the following files before creating the user accounts:

/etc/skel/.config/autostart/update-notifier.desktop:

[Desktop Entry]
Name=No name
Encoding=UTF-8
Version=1.0
Exec=update-notifier
X-GNOME-Autostart-enabled=false

/etc/skel/.config/autostart/gnome-power-manager.desktop:

[Desktop Entry]
Name=No name
Encoding=UTF-8
Version=1.0
Exec=gnome-power-manager
X-GNOME-Autostart-enabled=false

For kiosk style lockdown there is a Lockdown Editor called Pessulus that can be installed via Synaptic, however only suitable for certain deployments.

Pessulus allows easy access to system lockdown options
Enlarge
Pessulus allows easy access to system lockdown options


Advanced Search

Similar to Google Desktop Search is Gnome Beagle, however this runs an extra task per user requiring more system resources. Install via Synaptic or on the command line:

$ sudo apt-get install beagle

In order to make Beagle start indexing your home directory, you need to disable then re-enable indexing in the Beagle preferences dialog (System->Preferences->Search & Indexing->Indexing tab->Uncheck then re-check the box next to Index my home directory.

Beagle replaces the default search with a live multi-format search with preview
Enlarge
Beagle replaces the default search with a live multi-format search with preview

For shared resources you can setup static indexes, periodically rebuilding on a crontab.

Novell® Making IT Work As One

© 2008 Novell, Inc. All Rights Reserved.