| ECS Home Automation and Security Archives |
| Subject: From: Date: | RE: [ecs] *brutally* stumped by /etc/profile behavior in
Knoppix Mark Gilmore Mon, 01 Mar 2004 09:38:48 -0800 |
working on it (same approach as was used for ecs-legacy).
can you test ? :-).
At 09:30 AM 3/1/2004 -0700, you wrote:
>Hi Mark.
>
>I tried to comment out the "mozilla init.htm" line of
>linux_browser_startup.sh. I didn't see a linux_startup.sh file.
>
>When I start ECS from a console, things seem to work okay. However, I can't
>start ECS in the background because ECS writes directly to the console. When
>I try to start ECS using a start script, because it requires access to the
>console, it won't start, or starts and dies.
>
>In order for ECS to do what I would like, it would need to write its output
>to one or more log files rather than the console. In other words, it would
>need to be a Unix daemon.
>
>Regards,
>Rob
>+1.801.836.0904 (voice)
>+1.801-437-2338 (fax)
>rob.hicks@comcast.net
>-----Original Message-----
>From: Mark Gilmore [mailto:mark@OmnipotenceSoftware.com]
>Sent: Monday, March 01, 2004 5:35 AM
>To: ecs@netbloc.com
>Subject: RE: [ecs] *brutally* stumped by /etc/profile behavior in Knoppix
>
>Hi Rob,
>Is there anything preventing you from running ECS as you desire (i.e. as a
>server only) ?
>Wouldn't this only require an edit of linux_startup.sh ?
>Thanks,
>
>At 09:33 AM 2/25/2004 -0700, you wrote:
>
> >Hi Mark.
> >
> >I would like to suggest a different way of handling ECS on Linux. Here's my
> >reasoning.
> >
> >ECS consists of a server and one or more client browsers. The server can be
> >started up without Xwindows. Therefore, the ECS server could be started in
> >any suitable run level, most likely run level 3 or 5. For embedded servers
> >(ones without a display), ECS should be started in run level 3.
> >
> >The client portion of ECS requires a browser. The browser may reside on any
> >machine that has access to the network running ECS. On Linux, ECS will
> >obviously require a browser that supports java, and of course Xwindows.
>Thus
> >using a browser to access ECS on Linux will require that the Linux box run
> >at run level 5.
> >
> >Using UNIX standards, ECS would have an init script, usually stored in
> >/etc/rc.d/init.d/. The init script would normally have start, stop, restart
> >and status parameters. On boxes where ECS is expected to run as both a
> >server and client, ECS should not start unless the system is in run level
>5.
> >On boxes where ECS is only a server, ECS should not start unless the system
> >is in run level 3.
> >
> >The ECS init script can take advantage of chkconfig for init script
> >mangagement. Chkconfig manages init scripts for the various run levels. A
> >suitable ECS startup script might be as follows:
> >---------------------------------------------------------------------------
> >#!/bin/sh
> >#---------------------------------------------------------------
> ># Module : initscripts
> ># File : ecs
> ># Author : Rob Hicks
> ># Created On : Wed February 25, 2004
> >#---------------------------------------------------------------
> ># chkconfig: 35 99 09
> ># description: This startup script launches ECS.
> >#---------------------------------------------------------------
> >
> ># Source function library.
> >. /etc/rc.d/init.d/functions
> >
> >ret=0
> >
> >case $1 in
> > start)
> > gprintf "Starting ECS: "
> > /opt/ecs/ecs.bin &
> > success "ECS startup"
> > ret=$?
> > echo
> > if [ $ret = 0 ]; then
> > touch /var/lock/subsys/ecs
> > fi
> > ;;
> >
> > stop)
> > gprintf "Stopping ECS: "
> > if [ -r /var/lock/subsys/ecs ]; then
> > kill `cat /var/lock/subsys/ecs` > /dev/null 2>&1
> > fi
> > ret=$?
> > echo
> > if [ $ret = 0 ]; then
> > success "ECS shutdown"
> > rm -f /var/lock/subsys/ecs
> > else
> > failure "ECS shutdown"
> > rm -f /var/lock/subsys/ecs
> > fi
> > ;;
> >
> > status)
> > status ecs
> > ;;
> >
> > reload)
> > ;;
> >
> > restart)
> > $0 stop
> > $0 start
> > ret=$?
> > ;;
> > *)
> > gprintf "Usage: %s\n" "$(basename $0) {start|stop|restart|status}"
> > exit 0
> > ;;
> >esac
> >
> >exit $ret
> >
> ># ecs ends here
> >
> >This script will start ecs in the background without the need to open a
> >Xwindows console. Of course, this script won't work right now because
> >ecs.bin is calling linux_browser_startup.sh, which is starting mozilla and
> >loading the ECS init.htm page before a user has logged in. So, as currently
> >configured, ECS can't be run as a server only, something that I would
>really
> >like it to do because I don't need or want to run Xwindows. Xwindows uses a
> >lot of resources, especially for an embedded server.
> >
> >Note one line in the script in particular, the one that begins with:
> >
> > # chkconfig: 35 99 09
> >
> >This allows the ECS init script to be managed by chkconfig. This lines
>tells
> >chkconfig that the script can be added to run levels 3 and 5, that its
> >startup sequence should be 99 and that its kill sequence should be 09. You
> >would probably never use the kill sequence, but most scripts allow them. If
> >you want ecs to be loadable only in run level 5, you could change the
> >chkconfig line as follows: # chkconfig: 5 99 09
> >
> >The appropriate startup script for a box acting as both a server and a
> >client, can be added to run level 5, /etc/rc.d/rc5.d/, with the following
> >chkconfig command.
> >
> > chkconfig --level 5 ecs on
> >
> >By starting ECS at startup sequence 99, you can be assume that Xwindows has
> >started. Of course, that doesn't solve the browser problem, but if you want
> >to start a browser for the user, you can do so by adding it to the user's
> >startup scripts or you could simply add an icon to the user's desktop, etc.
> >
> >The appropriate startup script for run level 3 can be added using chkconfig
> >to /etc/rc.d/rc3.d/ with the following chkconfig command.
> >
> > chkconfig --level 3 ecs on
> >
> >I hope you'll consider those of us who may want to run ECS as solely a
> >server on a linux box. Maybe there is only one of us so it doesn't
>matter:-)
> >
> >Regards,
> >Rob
> >rob.hicks@comcast.net
> >-----Original Message-----
> >From: Mark Gilmore [mailto:mark@OmnipotenceSoftware.com]
> >Sent: Wednesday, February 25, 2004 7:16 AM
> >To: ecs@netbloc.com
> >Subject: [ecs] *brutally* stumped by /etc/profile behavior in Knoppix
> >
> >When the "knoppix" user is logged at in boot up, /etc/profile is executed.
> >I am trying to make it execute ecs in a terminal window (xterm, konsole,
> >etc).
> >
> >My /etc/profile command is:
> > /home/knoppix/startup.sh &
> >
> >startup.sh:
> > cd /home/knoppix
> > sleep 120 (wait to *assure* that X-windows has started)
> > xterm -e ecs.bin & > trace.lis 2>&1
> > ps -aux > trace.lis
> >
> >I *know* that startup.sh *is* executing, as I have traced the execution of
> >every line.
> >But the xterm command does *nothing*.
> >It reports *no* errors.
> >The process list shows *no* xterm.
> >ecs.bin is *not* executed (no logs exist).
> >If I manually execute startup.sh, it works fine.
> >??????
> >Thanks,
> >
> >Mark Gilmore
> >http://OmnipotenceSoftware.com
> >
> >
> >
> >---
> >Incoming mail is certified Virus Free.
> >Checked by AVG anti-virus system (http://www.grisoft.com).
> >Version: 6.0.593 / Virus Database: 376 - Release Date: 2/20/2004
>
>Mark Gilmore
>http://OmnipotenceSoftware.com
>
>
>
>---
>Incoming mail is certified Virus Free.
>Checked by AVG anti-virus system (http://www.grisoft.com).
>Version: 6.0.593 / Virus Database: 376 - Release Date: 2/20/2004
Mark Gilmore
http://OmnipotenceSoftware.com
--- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.593 / Virus Database: 376 - Release Date: 2/20/2004