Re: : Openbox autostart - detecting hostname

Giles Orr <[email protected]> Tue, 12 Aug 2014 20:01:01 -0400
Newsgroups gmane.org.user-groups.linux.tolug
Message-ID <CAEnxSC7V3QwTf=_Mr3ufDt+dVpcFHSjzywU5W9hw5tEimtcMOw@mail.gmail.com>
On 12 August 2014 08:16, Giles Orr <[email protected]> wrote:
> On 12 August 2014 02:41, William Park <opengeometry-FFYn/[email protected]> wrote:
> > On Mon, Aug 11, 2014 at 09:17:28PM -0400, Giles Orr wrote:
> > > I'm using openbox on an Acer Chromebook (full install, not crouton).
 I'm
> > > pretty pleased with the hardware, but I've got a problem with
Openbox's
> > > autostart file.  It's a shell script, so I should be able to make
decisions
> > > about what to run based on the hostname.  This matters because I share
> > > configuration files and dotfiles across multiple hosts.  But it
doesn't
> > > work.  I've tried:
> > >
> > > if [ "$(hostname)" == "crom" ] # works at the command line
> > > then
> > >     xterm -fn terminus-18 &
> > > fi
> > >
> > > if [ "${HOSTNAME}" == "crom" ] # ditto
> > > ...
> > >
> > > if [ "$(cat /etc/hostname)" == "crom" ] # ditto
> > > ...
> > >
> > > None work in ~/.config/openbox/autostart .  I dumped $(env) to a file
from
> > > within the autostart and HOSTNAME isn't set, so that explains the
middle
> > > one failing, but I have no explanation for why the others don't work.
 Can
> > > anyone help?
> >
> > Try single '=', or use Bash/Ksh which support '=='.
>
> Thanks Walter - I do have the file.
>
> William - that's a very good point: I was automatically assuming Bash
because it's what I use all the time, and that may well NOT be what's used
by Openbox.  It obviously uses a shell of some sort, but which one is open
to question.  I will confirm later.  Thanks!

Extra thanks to William, who did indeed spot the problem: I was using a
bash construct while openbox was using some more stripped down sh.
Changing the line to

if [ "$(cat /etc/hostname)" = "crom" ]

(ie. with "=" instead of "==") has fixed the problem.

--
Giles
http://www.gilesorr.com/
[email protected]