-
-
Notifications
You must be signed in to change notification settings - Fork 48
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Using fish as user login shell breaks DisposableVM #5135
Comments
I've noticed this too. One way around this is to keep /bin/bash as the default shell in the template, install util-linux-user, and then add |
@mkow do you see this problem? |
I have the same problem with debian-9-dvm. Additional info (not sure if useful): after a dvm has started (and failed to run the command), consecutive qvm-runs targeted at this dvm work, so I can e.g. open a terminal there (with fish running inside). After ~30s it dies with the whole dvm, but not always, for some reason sometimes everything survives. Anyway, I can dump logs / do some debugging, but I'll need hints where to look exactly. |
If you're able to access such DispVM while it's still running, take a look at Since DispVM is killed after a timeout (most likely related to |
Things from
and
but after the timeout passed only qrexec-agent is left alive. |
|
|
When calling su with a specific script, specify /bin/sh shell to be sure to use posix compliant shell. User shell may not be a one (like fish). Fixes QubesOS/qubes-issues#5135
@marmarek I can confirm this fixes my problem |
Automated announcement from builder-github The package
|
Automated announcement from builder-github The package
|
When calling su with a specific script, specify /bin/sh shell to be sure to use posix compliant shell. User shell may not be a one (like fish). Fixes QubesOS/qubes-issues#5135 (cherry picked from commit ec32be7)
Automated announcement from builder-github The package
|
Automated announcement from builder-github The package
|
Automated announcement from builder-github The package
|
Automated announcement from builder-github The package
|
@dmoerner Did you found any other solution for changing the default shell in a single appvm only? I can confirm the rc.local edit is not deterministic, so it can't be relied upon. My guess is that "user" session sometimes start before rc.local has finished. @marmarek Do you know about any workaround for this besides changing shell at template level? |
No, I just use fish as the shell in all my templates now.
|
Qubes OS version
R4.0
Affected component(s) or functionality
DisposableVMs based on a TemplateVM where fish is the login shell for user
Brief summary
DisposableVM starts up and halts after about a minute. Nothing is displayed.
To Reproduce
I'm going to use xterm in this example, but I also tried it with other applications, so this should not be xterm related.
Using a fresh fedora-30-minimal template
dom0:
xterm opens as expected, inside this DisposableVM:
Then changing login shell to fish and starting another DisposableVM
dom0:
I get the notification
Domain disp806 has started
and about a minute laterDomain disp806 has halted
. No xterm window appeared.Starting xterm in the TemplateBasedVM via
qvm-run -q -a --service -- test-dvm qubes.StartApp+xterm
works as expected thoughExpected behavior
DisposableVM starts and works like the corresponding TemplateBasedVM
Actual behavior
DisposableVM starts but nothing happens. After a minute DisposableVM halts.
Solutions you've tried
Changing the login shell back to bash returns to expected behavior
dom0:
Related, [non-duplicate] issues
#3434 is related to fish login shell, but it is set for root in that issue. Also, the PATH variable related problem does not exist in my issue, as can be seen above.
The text was updated successfully, but these errors were encountered: