When opening Tilix for the first time after installing a new system, I get a warning dialog regarding a configuration issue, with a link to Github [1] for how to fix it. This isn't exactly a great first experience, so we should either do the configuration change out of the box, suppress the dialog.
Description
Event Timeline
Can you please point to the commit that fixed this? I fail to find it in the Git history. Thanks!
The Tilix Git history, of course, But also the Debian package has no explicit patch (if it had, I should have noticed that as co-maintainer of the package ^^)
When I thought about this at first my intent was to only show the message if a feature requiring the VTE change was activated, but not immediately on startup.
As initial workaround, I added a gsettings change to PureOS default settings, but that only works if Tilix was installed first, which it isn't (so the gsettings override didn't really work, and I did not want to introduce a divergence of Tilix for PureOS).
Since upstream doesn't want this patch, we have no good way to resolve this.
I will discuss whether and how to change the Debian policy for sourcing files on first load of shells at Debconf, and if everything failes apply this patch downstream at Debian.
@chris.lamb The proper fix would be to establish a new location for scripts to be sourced by shells even for non-login shells. At the moment, everything using VTE in Debian actually has to implement a workaround for this to work, gnome-terminal is carrying a patch for this for ages.
Another option is to modify .bashrc and the zsh equivalent to source vte.sh when it is available, I'll file a request with the bash maintainers and see whether that is feasible (there is dedicated code for command-not-found in there, so adding a snippet for vte.sh might also be okay). That would fix the issue for bash at least.
I think changing Debian policy to always source /etc/profile.d/ even for non-login shells would be met with quite some resistance, and IMHO rightfully so (that's not it's purpose, I don't know why Fedora is doing that), so we either need to change the default .bashrc and zsh files or add a new directory for scripts to be sourced when the shell is started.
That's the proper fix for this bug.
everything using VTE in Debian actually has to implement a workaround for this to work, gnome-terminal is carrying a patch for this for ages.
TIL :)
Thought this was just a bizarre, tilix-specific weirdness..
See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=706065 for the Debian discussion about this on gnome-terminal and https://bugzilla.gnome.org/show_bug.cgi?id=697475#c43 for the upstream change that broke this in the first place, which VTE upstream won't change.
Also, the PR discussion has some more information: https://github.com/gnunn1/tilix/pull/1456#issuecomment-403175621
This issue affects everything using VTE, gnome-terminal is only exempt due to reverting an upstream change permanently via https://salsa.debian.org/gnome-team/gnome-terminal/blob/debian/master/debian/patches/Provide-fallback-for-reading-current-directory-if-OS.patch
So, the official bug report to watch is now this one: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=675008
Considering that we target everyday users, and this affects the first-time experience of our default terminal, is it feasible to maintain a patch/fork of Tilix until the proper fix is applied upstream?
(I don't know, for example, the effort required to patch/fork, or the time we can expect to wait until fix is applied upstream.)
the time we can expect to wait until fix is applied upstream
The time taken to adjust Debian Policy scares me more ;-)
@chris.lamb The only thing we would need to do is get https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=675008 fixed in some capacity, no policy change is required - unless we do end up sourcing /etc/profile.d/* for non-login shells like Fedora, in that case we need to change policy I guess.
If we want to establish a new directory for that purpose, we can also do so and add it to policy later. It ultimately all depends on that bug report.
@d3vid Since I have a patch to at least get rid of the message on Tilix' initial run, we could easily patch it. I just wonder whether it makes sense to apply the patch on Debian and have it migrate to PureOS, or whether we should add a PureOS-only diversion for it.
Given that this is a) the default terminal and b) is *horrifically* ugly, this is giving new users a truly terrible first impression. :(
Please go ahead and get something into PureOS as soon as possible. We can then let some other fix filter through from Debian, etc.
I've uploaded a new revision of Tilix with my patch to Debian: https://tracker.debian.org/news/973587/accepted-tilix-181-1-source-all-amd64-into-unstable/
Let's see if this sticks. Regardless of the workaround, we should still work towards fixing the actual issue, because that will not only benefit Tilix, but also GNOME Terminal and any other VTE-using app.
This is now "fixed" in PureOS, or worked-around rather.
I hope to maybe be able to address the actual issue at Debconf.