Assume GUI is enabled if dom0 didn't provide that info#582
Assume GUI is enabled if dom0 didn't provide that info#582marmarek merged 1 commit intoQubesOS:mainfrom
Conversation
Generally we require dom0 to be updated before VM, so that qubesdb key should always be there. But since handling the opposite case here is easy, lets do that anyway.
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #582 +/- ##
==========================================
- Coverage 71.10% 70.68% -0.42%
==========================================
Files 3 3
Lines 481 481
==========================================
- Hits 342 340 -2
- Misses 139 141 +2 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
OpenQA test summaryComplete test suite and dependencies: https://openqa.qubes-os.org/tests/overview?distri=qubesos&version=4.3&build=2025062114-4.3&flavor=pull-requests Test run included the following:
New failures, excluding unstableCompared to: https://openqa.qubes-os.org/tests/overview?distri=qubesos&version=4.3&build=2025061004-4.3&flavor=update
Failed tests10 failures
Fixed failuresCompared to: https://openqa.qubes-os.org/tests/142375#dependencies 13 fixed
Unstable testsDetailsPerformance TestsPerformance degradation:5 performance degradations
Remaining performance tests:67 tests
|
| set -eu | ||
|
|
||
| if test "$(qubesdb-read /qubes-gui-enabled)" = "True"; then | ||
| if test "$(qubesdb-read --default=True /qubes-gui-enabled)" = "True"; then |
There was a problem hiding this comment.
Is /qubes-gui-enabled ever set to False by Qubes?
It seems like if the user hasn't manually set qubes-gui-enabled=False in qubesdb, assuming True will make it wait infinitely for a socket that never appears, effectively reverting #571
There was a problem hiding this comment.
It is a new qubesdb entry to tell VM when GUI is enabled/disabled. It can be set to False for example when user sets qvm-feature vmname gui "". Previously, VM did not received this information at all, so yes, it resulted in this code waiting indefinitely - basically, if you manually disabled GUI, you also needed to always use qvm-run --nogui. The introduction of this qubesdb entry fixes it, but if you run older dom0 that doesn't add it, this PR preserves the old behavior (instead of breaking all GUI applications by starting them before X server ...).
Generally we require dom0 to be updated before VM, so that qubesdb key
should always be there. But since handling the opposite case here is
easy, lets do that anyway.