Skip to content

Setting io.elementary.terminal.settings.shell with dconf to a value crashes Gala #869

@ernstki

Description

@ernstki

What Happened?

I tried searching for similar issues in the issue tracker, and discovered only #703 that seemed even remotely relevant, which discusses using a "login shell" e.g., having the shell that Terminal runs be /bin/bash --login or similar, so that the .profile is read for each new terminal.

Doing this with, for example, dconf-editor, causes Terminal to load an empty tab, which, when closed, crashes the whole windowing system and logs you out.

Steps to Reproduce

  1. run dconf write io/elementary/terminal/settings/shell "'/usr/bin/bash -l'" or use dconf-editor to perform the same change
  2. run Terminal; note that the tab title is a single -, but no shell loads in the content area of the window
  3. close this tab
  4. Gala crashes and restarts, taking open apps with it; if you repeat the steps above, Gala will crash, then display a "sad Mac"-type dialog that tells you you need to log out, and the only option is "OK"

So far, this is repeatable across multiple login sessions, and with a fresh Horus VM (7.1, with all .deb and Flatpak updates applied).

Expected Behavior

The dconf setting causes Terminal to run a login shell (i.e. reading ~/.profile), similar to how many other terminal emulators have a "Run as login shell" checkbox in their settings.

To be clear, I'm perfectly fine with there being no UI (except for dconf) for this. But the dconf setting is present and documented, so the expectation I had as a user is that it's a "supported" behavior for Terminal.

OS Version

7.1 (Horus)

Session Type

Classic Session (X11, This is the default)

Software Version

Older release (I have not run all updates)

Log Output

(forthcoming)

Hardware Info

Mid-2015 MacBook Air, but this has been tested on different hardware and in a VM, so not hardware-related.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions