Skip to content

Install and source vte-2.91.sh for terminal integration #1101

Open

Description

@aleasto

The package libvte-2.91-common provides /etc/profile.d/vte-2.91.sh which is used by the VTE library to provide reliable tracking of thw CWD. We want to use this in the VTE-based Ptyxis terminal (default terminal in Ubuntu Desktop 26.04 and newer) to preserve CWD across workshop shells.
Please consider pre-installing libvte-2.91-common in the base container, and sourcing /etc/profile.d/vte-2.91.sh from bashrc.
The sourcing part already happens from bash in Ubuntu 26.04 containers, but older containers won't source it by default (https://bugs.launchpad.net/ubuntu/+source/bash/+bug/2083705).

Activity

  1. aleasto commented on Oct 16, 2026

    @aleasto
    Author

    Ah, if workshop shell always opens a login shell then the sourcing always happens, for compatible shells.
    workshop shell --help says that it "launches the login shell", but experimentally it is not a login shell. perhaps the "login" wording here simply means the "default" shell.

  2. jonathan-conder commented on Oct 20, 2026

    @jonathan-conder
    Contributor

    Yes we always source /etc/profile.d/*. Currently the mechanism for that is an actual login shell (well, technically bash -l). That may change in future but we'll continue to source the environment variables at least. Similar to how gnome-session works.

    As for VTE, I'm not sure we'll be able to include it in the base images since these are the standard Ubuntu cloud images used all over the place, not just in Workshop. But we can probably add a shell script which has the same effect. Does it basically amount to putting something in the PROMPT_COMMAND?

  3. aleasto commented on Oct 20, 2026

    @aleasto
    Author

    I'm not sure about the implementation details, it is somewhat obscure to read to me: https://gitlab.gnome.org/GNOME/vte/-/blob/master/src/vte.sh.in

    But the script also depends on /usr/libexec/vte-urlencode-cwd

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions