OK, I got to the bottom of this (mostly). It has to do with $IFS. If
$IFS has an empty value instead of its default (`<space><tab><newline>'
per the bash manpage) then eval behaves incorrectly, as observed here.
You can try it with a quick shell script:

```
STARTUP="/usr/bin/echo foo"
IFS=
exec $STARTUP
```

result:

```
x.sh: line 4: /usr/bin/echo foo: No such file or directory
```

It turns out I messed up resetting IFS in my `.profile`, in a way that
was robust to further usage of the shell, but _not_ to saving and
restoring IFS. In particular, I used `unset IFS`, and when $IFS isn't
set the shell uses its default. However,

```
local OLDIFS="$IFS"
...
IFS="$OLDIFS"
```
then sets $IFS to the empty string, which doesn't work. It turns out, the 
Xsession scripts don't use IFS _unless_ im-config is installed.

So, this was an own-goal, which is why only I've run into it -- but a
difficult one to track down!

This bug can be closed.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1879352

Title:
  /usr/bin/im-launch i3 fails

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/i3-wm/+bug/1879352/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to