I want to run my applications on the local thin client. I am using LTSP in
a non-standard setup. I made it so it runs all the X clients on the local
thinclient itself.
I'd appreciate any advice or comments on how to get firefox to run on
local thinclient. I do not want to use a SSH back into the thinclient from
server. I am not using xdm. I am already successfully running a window
manager on the thinclient itself.
I used ltspcfg-0.5-0.noarch.rpm. I used the ltsp_installer version 0.06.
This retrieved ltsp-ltsptree-0.09-0-i386.tgz, ltsp-glibc-2.3.2-0-i386.tgz,
ltsp-x-core-4.3.99.901-0-i386.tgz, and others. I have
ltsp_kernel-3.0.15-i386.tgz.
The /opt/ltsp/i386/etc/version says VERSION=3.1.0. For some reason, I
thought I was using LTSP version 4. I am pretty sure I am running LTSP
version 4.
I want to run my applications on the local thin client. I do not want to
run apps on the server; and I do not want to ssh back to the client to run
apps locally.
I installed various third-party, add-on applications by using pkgsrc.
pkgsrc is a portable package building system for Linux, NetBSD, Darwin,
Mac OS X, Irix, SunOS/Solaris, AIX, HPUX, BSD/OS, FreeBSD, Windows and
other operating systems for managing nearly 5000 software suites. It
provides: 1) a categorized collection of specifications that help automate
fetching, checking checksums, patching, configuring, building, installing
and packaging software suites; 2) package installation and maintenance
tools (like pkg_add, pkg_info, pkg_delete and others).
At first, I tried to build under LTSP environment, but after wasting much
time preparing a development environment, I decided to just use the SuSE
Linux 9.0 server (hosting the LTSP files) as the build environent. pkgsrcv
installed the software to the /usr/pkg hierarchy (symlink to
/opt/ltsp/i386/usr/pkg).
The third-party software was installed to /usr/pkg/ using pkgsrc and built
on a SuSE Linux 9.0 (i586) system running the Linux 2.4.21-202-smp4G
kernel.
I had built firefox-gtk2-0.9.1nb1 on this SuSE Linux 9.0 (i586).
Chrooting /opt/ltsp/i386, I am able to run firefox over a SSH-tunnelled
X11 connection. This is using that Linux 2.4.21-202-smp4G kernel. (It has
worked several times, and I saved strace output for these.)
But booting the thinclient and firefox will not run. This is same
environment, but using Linux kernel 2.4.24-ltsp-4. I also have strace
output saved for these failures.
The other difference is the X11 server. But I don't see how that can
matter.
I also tried a binary firefox and had to make several symlinks for
differently-named libraries (because pkgsrc-installed libraries don't
install with same sonames under Linux). It also has segmentation faults
under LTSP, but does run under SuSE Linux.
I have various strace debugging saved. When running from the thinclient,
firefox never loads the libgconf-2 nor libORBit-2 libraries.
Running it from the thinclient, it does:
11:01:20.638785 fstat64(4, {st_dev=makedev(1, 1), st_ino=59,
st_mode=S_IFREG|0644, st_nlink=1, st_uid=1000, st_gid=1000, st_blksize=4096,
st_blocks=2,
st_size=89, st_atime=2004/08/10-11:00:06, st_mtime=2004/08/10-11:00:06,
st_ctime=2004/08/10-11:00:06}) = 0
11:01:20.638857 mmap2(NULL, 4096, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x401a0000
11:01:20.638904 fstat64(4, {st_dev=makedev(1, 1), st_ino=59,
st_mode=S_IFREG|0644, st_nlink=1, st_uid=1000, st_gid=1000, st_blksize=4096,
st_blocks=2,
st_size=89, st_atime=2004/08/10-11:00:06, st_mtime=2004/08/10-11:00:06,
st_ctime=2004/08/10-11:00:06}) = 0
11:01:20.638978 _llseek(4, 0, [0], SEEK_SET) = 0
11:01:20.639015 read(4,
"[General]\nStartWithLastProfile=1\n\n[Profile0]\nName=default\nIsRelative=1\nPath=default.ctn\n\n",
89) = 89
11:01:20.639108 _llseek(4, 89, [89], SEEK_SET) = 0
11:01:20.639370 close(4) = 0
11:01:20.639410 munmap(0x401a0000, 4096) = 0
11:01:20.641003 open("/usr/lib/gconv/UTF-16.so", O_RDONLY) = 4
11:01:20.642306 read(4,
"\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x0
0\x00\x00\x03\x00\x03\x00\x01\x00\x00\x00\x8c\x06\x00\x00\x34\x00\x00\x00\xf8\x1
d\x00\x00\x00\x00\x00\x00\x34\x00\x20\x00\x04\x00\x28\x00\x1e\x00\x1b\x00\x01\x0
0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa7\x19\x00\x00\xa7\x1
9\x00\x00\x05\x00\x00\x00\x00\x10\x00\x00\x01\x00\x00\x00\xa8\x19\x00\x00\xa8\x2
9\x00\x00\xa8\x29\x00\x00\x18\x01\x00\x00\x1c\x01\x00\x00\x06\x00\x00\x00\x00\x1
0\x00\x00\x02\x00\x00\x00\xb4\x19\x00\x00\xb4\x29"..., 1024) = 1024
11:01:20.642479 fstat64(4, {st_dev=makedev(0, 7), st_ino=2191489,
st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=32768,
st_blocks=24, st_size=10619, st_atime=2004/08/10-18:34:17,
st_mtime=2003/12/16-08:07:12, st_ctime=2004 /06/07-17:21:41}) = 0
11:01:20.642590 brk(0) = 0x80a6000
11:01:20.642659 brk(0x80a7000) = 0x80a7000
11:01:20.642716 mmap2(NULL, 10948, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0)
= 0x40a0b000
11:01:20.642773 mprotect(0x40a0d000, 2756, PROT_NONE) = 0
11:01:20.642812 mmap2(0x40a0d000, 4096, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED, 4, 0x1) = 0x40a0d000
11:01:20.642867 close(4) = 0
11:01:20.643076 brk(0) = 0x80a7000
11:01:20.643114 brk(0x80a9000) = 0x80a9000
11:01:20.643702 brk(0) = 0x80a9000
11:01:20.643741 brk(0x80b1000) = 0x80b1000
11:01:20.643959 stat64("/home/user/.mozilla/firefox/default.ctn",
Then it just stops there. Notice the stat64() straced line never
completed.
Another time, it just stopped here:
11:45:32 read(4, "[Compatibility]\r\nBuild ID=0000000000\r\nComponents
List Changed=0\r\n", 65) = 65
11:45:32 _llseek(4, 65, [65], SEEK_SET) = 0
11:45:32 close(4) = 0
11:45:32 munmap(0x401a0000, 4096) = 0
11:45:32 open("/home/user/.mozilla/firefox/default.api/compatibility.ini",
O_RDONLY) = 4
11:45:32 fstat64(4, {st_dev=makedev(1, 1), st_ino=103,
st_mode=S_IFREG|0644, st_nlink=1, st_uid=1000, st_gid=1000,
st_blksize=4096, st_blocks=2, st_size=65, st_atime=2004/08/09-11:45:32,
st_mtime=2004/08/09-11:44:10, st_ctime=2004/08/09-11:44:10}) = 0
11:45:32 mmap2(NULL, 4096, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x401a0000
11:45:32 fstat64(4, {st_dev=makedev(1, 1), st_ino=103,
st_mode=S_IFREG|0644, st_nlink=1, st_uid=1000, st_gid=1000,
st_blksize=4096, st_blocks=2, st_size=65, st_atime=2004/08/09-11:45:32,
st_mtime=2004/08/09-11:44:10, st_ctime=2004/08/09-11:44:10}) = 0
I can provide complete strace logs if needed (for successful in chroot and
not successful when booting the thinclient).
I wonder if the LTSP Linux kernel is missing some functionality needed?
In my custom LTSP, I make the /tmp partition writable by all. I have a
user "user" in my passwd file that I switch to before running real
/usr/X11R6/bin/startx.
Maybe the next thing I will try is to make a LTSP build system that runs
identical kernel and using pkgsrc build add-on software (like firefox) for
/usr/pkg (which will be made available on server as
/opt/ltsp/i386/usr/pkg).
Any ideas would be appreciated.
Jeremy C. Reed
open source, Unix, *BSD, Linux training
http://www.pugetsoundtechnology.com/
-------------------------------------------------------
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
_____________________________________________________________________
Ltsp-discuss mailing list. To un-subscribe, or change prefs, goto:
https://lists.sourceforge.net/lists/listinfo/ltsp-discuss
For additional LTSP help, try #ltsp channel on irc.freenode.net