Robert,
I tried your path, and gave up after it appeared I would have to do some
ugly hacking in the lbe tree to get it to build.
However I have been running Firefox as a local app for several months in
production. I used the binary version from the mozilla web site, NOT a
packaged version and installed it in the typical location I use for it
"/usr/lib/firefox". Then I rsynced that tree to
$LTSP_DIR/i386/usr/lib/firefox. Using ldd I then determined which shared
libraries Firefox needed were not already in the ltsp tree. I copied
these to the respective locations and Firefox then started via ssh fine.
Important to note here is I am running the server on white box linux
which is a GNU varient of RedHat Advanced Server v.3 so the glibc is the
same or close enough to the glibc used in the lbe build tree. If you are
working with another distro that isn't on the same glibc version, I
would suggest using the white box linux or CentOS rpms to get these
libraries. Just install the rpms with the --badreloc and relocate=/=/foo
options and then copy the libs. I also have gotten the printing to work
pretty well using cups-lpr and necessary libs to support it to print to
the cups server on the LTSP server(s). Now I also did a few changes to
the LTSP configuration file to create an LSTP_LOCAL_BROWSER setting for
each workstation I want to use the local browser on. This makes it
transparent to the user and easy to change without editing any desktop
links or scripts.
I am about 2/3's of the way through doing a full Howto on this. Once I
have done that (and use the opportunity to test and make certain I
haven't missed any steps...as I did this work 6-9 months ago) I'll be
handing it over to Jim and I will also add it to the WIKI. I just came
back from vacation so I'll try to finish this howto over the upcoming
weekend. I have an archive of the libraries for Firefox already built,
but still have to do the printing support archive. I will try to email
that library archive to you from home later today. I am attaching a
modified htmlview script that I hacked up to deal with the use of the
LTSP_LOCAL_BROWSER config option I added to lts.conf. It may shed some
light on how I handle the call to the browser from the client so it's
transparent to the user. BTW I also did some scripts that allow
streaming audio to xmms and also to Realplayer from the local browser.
In these instances the multimedia apps run on the server so there are
some hacks necessary to make this work correctly. By naming the scripts
the same as the executables on the server you can have a "helper app"
setup in Firefox and it will run the same on either the local or server
based browser.
In fact I'll send you a pdf version of the HOWTO in it's current
unfinished state as well.
later...
Bill Stotts
On Sun, 2005-02-27 at 16:40, Robert Stanford wrote:
> Hi William,
> Jim from LTSP gave me your email. I have come a fair
> way on getting Firefox to build in the lbe. With a couple of ugly hacks
> it actualy does end up building though I have a few problems with
> installation directories and running it.
>
> Jim informs me you have already got it running.
>
> Would you be so kind as to let me know whether you have copied a binary
> version into LTSP or have actualy got it to build in the lbe?
>
> And if you have copied in a binary version, which one?
>
> Regards
> Robert Stanford
--
#!/bin/bash
#
# Invoke whatever HTML viewer is installed...
# Usage:
# htmlview [URL]
#
# Changes:
# v2.0.0
# ------
# - Allow users to override default settings in
# ~/.htmlviewrc and /etc/htmlview.conf.
# Users can define X11BROWSER, TEXTBROWSER and
# CONSOLE variables to indicate their preferences.
# - --remote and --local are deprecated, we don't
# have any non-browser HTML viewers these days.
#
# Christopher Blizzard <[EMAIL PROTECTED]> Aug 09 2002
# - prefer mozilla over galeon
#
# written by Bernhard Rosenkraenzer <[EMAIL PROTECTED]>
# (c) 2000-2002 Red Hat, Inc.
#
# This script is in the public domain.
xhost +;
exists() {
local p
if echo "$1" | grep -q "/"; then
if [ -x "$1" ]; then
return 0
fi
fi
for p in `echo $PATH |sed -e "s,:, ,g"`; do
if [ -x "$p/$1" ]; then
return 0
fi
done
return 1
}
# ignore legacy cruft
if [ "$1" == "--remote" ]; then
shift
elif [ "$1" == "--local" ]; then
shift
fi
unset BROWSER CONSOLE TERMS_KDE TERMS_GNOME TERMS_GENERIC LOCAL_BROWSER
[ -e /etc/htmlview.conf ] && source /etc/htmlview.conf
[ -e ~/.htmlviewrc ] && source ~/.htmlviewrc
ltspinfo -h $LTSP_HOSTNAME -c LOCAL_BROWSER
if [ "$LTSP_LOCAL_BROWSER" = "Y" ]; then
LOCAL_BROWSER="Y"
else
LOCAL_BROWSER="N"
fi
#TERMS_KDE="/usr/bin/konsole /usr/bin/kvt"
#TERMS_GNOME="/usr/bin/gnome-terminal"
#TERMS_GENERIC="/usr/bin/rxvt /usr/X11R6/bin/xterm /usr/bin/Eterm"
#TTYBROWSERS="/usr/bin/links /usr/bin/lynx /usr/bin/w3m"
#X11BROWSERS_KDE="/usr/bin/konqueror /usr/bin/kfmbrowser"
#X11BROWSERS_GNOME="/usr/bin/mozilla /usr/bin/galeon"
# Modified for LTSP to run a Firefox browser on the workstation.
#X11BROWSERS_GENERIC="/usr/bin/mozilla /usr/bin/netscape"
#
X11BROWSERS_GENERIC="/usr/lib/firefox/firefox"
if [ "x`/sbin/pidof gnome-session`" != "x" ]; then
GCONF=$(gconftool-2 -g /desktop/gnome/url-handlers/unknown/command \
2>/dev/null | sed -e 's/%s//')
X11BROWSERS="$GCONF $X11BROWSERS_GENERIC $X11BROWSERS_GNOME $X11BROWSERS_KDE"
TERMS="$CONSOLE $TERMS_GENERIC $TERMS_GNOME $TERMS_KDE"
else
X11BROWSERS="$X11BROWSERS_GENERIC $X11BROWSERS_KDE $X11BROWSERS_GNOME"
TERMS="$CONSOLE $TERMS_GENERIC $TERMS_KDE $TERMS_GNOME"
fi
[ -n "$X11BROWSER" ] && X11BROWSERS="$X11BROWSER $X11BROWSERS"
[ -n "$TEXTBROWSER" ] && TTYBROWSERS="$TEXTBROWSER $TTYBROWSERS"
[ -n "$CONSOLE" ] && TERMS="$CONSOLE $TERMS"
if test "x$DISPLAY" = x; then
for i in $TTYBROWSERS; do
if exists $i; then
exec $i $*
fi
done
echo $"No valid text mode browser found."
exit 1
else
for i in $X11BROWSERS; do
if [ $LOCAL_BROWSER = "Y" ]; then
exists $i && exec ssh $LTSP_HOSTNAME env TMPDIR=~/.tmp DISPLAY=$DISPLAY $i $*
else
export DISPLAY=$DISPLAY
exists $i && exec env TMPDIR=~/.tmp DISPLAY=$DISPLAY $i $*
fi
done
for i in $TERMS; do
if exists $i; then
CONSOLE="$i -e"
break
fi
done
for i in $TTYBROWSERS; do
exists $i && exec $CONSOLE $i $*
done
echo $"No valid browser found."
exit 1
fi