|
|
Contents |
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).
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.
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.
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
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"
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
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
;;
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"
Currently unsupported as of Ubuntu Dapper 6.06.1 LTS.
Currently unsupported as of Ubuntu Dapper 6.06.1 LTS.
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.
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.
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.
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
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/.
Examples of useful settings include:
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.
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.
For shared resources you can setup static indexes, periodically rebuilding on a crontab.
© 2008 Novell, Inc. All Rights Reserved.