Whonix and Fish shell problem

Whonix is messing with Fish shell because by default there is a git executable which lets you know that it is not installed.

Fish prompt will give information about git repository in the working directory. It relies on the fact that git binary exists. Because Whonix has that binary, Fish incorrectly adds information to the prompt from the output of git command.

Any ideas if something can be done about this? I am not sure this is a Fish issue. It should be reasonable to trust that if an executable exists, it should work as expected.

If I install git, it will function as expected.

Expected prompt:
user@host ~ >

Prompt it gives:
user@host ~ ((Just a g…))>

Unlink the git binary.

sudo unlink /usr/bin/git

This will be reverted when uwt is updated. You might want to automate this somehow or re-apply when needed.

2 Likes

Thanks for the reply. That’s what I ended up doing.

Is it absolutely necessary that uwt creates those binaries?

Depends on your definition of absolutely necessary.
GitHub - Whonix/uwt implements stream Isolation pre-installed uwt wrappers.

1 Like

As far as uwt goes, I think it’s necessary. I was just thinking if there’s an alternative way of implementing it that does not require having the binary if git is not installed.

Just speculating because I have not looked how uwt works apart from the docs. I suppose if the wrapper was not pre-installed, then uwt would somehow need to be able to add it after git was installed.

Indeed.

I don’t know any robust / stable / clean way to implement this.

related: Stackable Wrappers