89luca89 / distrobox

Use any linux distribution inside your terminal. Enable both backward and forward compatibility with software and freedom to use whatever distribution you’re more comfortable with. Mirror available at: https://gitlab.com/89luca89/distrobox
https://distrobox.it/
GNU General Public License v3.0
9.87k stars 406 forks source link

Fix SHELL using absolute path and disable duplicate profile inclusion #1397

Closed eugenesan closed 3 months ago

eugenesan commented 4 months ago

This v2 of the PR.

In previous version I assumed that the issue was absolute path in SHELL variabe. Leaving only the basename eliminated the hanging on start but subshell still didn't work. After doing additional testing I figured that that wasn't the issue.

The issue of broekn shells seems to be related to duplicate inclusion of distrobox hooks when profile.d available. While provided patch works a more comprehensive solution might be required to cover all cases.

In general we should inject hooks only once (first start or creation). Since injecting on every start prevents customization of the container by the user and can make it very difficult to identify shell/profile related issues (ask me how I know ;-))

89luca89 commented 3 months ago

Thanks a lot :)