gnu@toad.com (12/05/89)
hansel@aerospace.aero.org (Steven J. Hansel) wrote: > I was wondering if there is any way to get one Sun to open Sunview windows > on another Sun, like X windows does. > The reason I want to do this is we have some very expensive software that > is liscenced to run only on one CPU and it would be nice to use other suns > as Sunview terminals. I think the X version of Sunview should've been a shared library with the same calling sequence as Sunview, so that old Sunview applications would be networkable just by changing the shared library path. This wouldn't have worked for all apps, but it would work for most, I think. However since Sun has given the source away, perhaps we can do it on our own. There is an easier way to get around the 'expensive software licensed for one CPU' problem though. It's called the "sethostid" hack. Such software figures out what CPU it is on by calling "gethostid", a system call. It believes whatever the kernel tells it. However, you as the workstation owner have the right and privilege of patching your kernel. If you patch it to return the same hostid as the single licensed machine, well, that is between you and your personal morality. I never did like software for networked machines that tied itself to a single CPU, nor have I bought or sold any. But I've been paid by some major companies to 'fix' the problem for them, and I think it's time all the 'little people' found out how easy it is too. Hint: Copy /vmunix to /vmunix.save. There is a procedure in /vmunix called "gethostid". Disassemble it with "adb". Replace the call to "machineid" with an instruction (680x0) or two (SPARC) that will set the result (d0 or %o0) to the CPUID you are interested in. Reboot the new /vmunix and try the "hostid" command. It occurs to me that you could replace "_gethostid" in your shared library path and probably get the same result without patching the kernel, if you are running SunOS 4.0 or greater. I haven't tried that route. John Gilmore {sun,pacbell,uunet,pyramid}!hoptoad!gnu gnu@toad.com Just say *yes* to drugs. Use your *no*s for government bullshit.