You can install Qubes OS in a VM and check how default configs looks like.
I wonder if somebody would paste the contents of their sys-usb config files.
how to check if qubes-input-proxy package is installed in the sys-usb VM?
dpkg -l | grep qubes-input-proxy-sender
which is the most current version?
[workstation user ~]% apt info qubes-input-proxy-sender
Package: qubes-input-proxy-sender
Version: 1.0.36-1+deb12u1
Priority: optional
Section: utils
Source: qubes-input-proxy
Maintainer: unman <unman@thirdeyesecurity.org>
Installed-Size: 55.3 kB
Depends: libc6 (>= 2.34), qubes-core-agent (>= 3.0.25)
Homepage: http://www.qubes-os.org
Download-Size: 11.0 kB
APT-Manual-Installed: no
APT-Sources: tor+http://deb.qubesosfasa4zl44o4tws22di6kepyzfeqv3tg4e3ztknltfxqrymdad.onion/r4.2/vm bookworm/main amd64 Packages
Description: Provides Simple input events proxy
This package is intended to run in a qube with physical input device attached
(for example USB VM). It sends events to a listener in dom0 which passes
them to an emulated device.
Where are these input events recorded? Is there a log for these input events?
In journal in sys-usb and dom0. You can check the logs using journalctl
command.
xdg-desktop-portal-gnome.service
Is this service related?
would running sys-usb in debug mode be of use? I tried this but it just created
a window with black screen.
could this issue be resource related? Meaning, RAM, or hard drive space.
Here’s an interesing sys-usb entry:
sys-usb dbus-daemon[970]: [session uid=1000 pid=970] Activating service name=‘org.xfce.Xfconf’ requested by ‘:1.10’ (uid=1000 pid=1061 comm="/usr/lib/x86_64-linux-g>
Jun 02 13:30:09 sys-usb sudo[1128]: user : PWD=/home/user ; USER=root ; COMMAND=/bin/systemctl --no-block start qubes-input-sender-mouse@event7.service
Jun 02 13:30:09 sys-usb sudo[1128]: pam_unix(sudo:session): session opened for user root(uid=0) by (uid=1000)
Jun 02 13:30:09 sys-usb sudo[1128]: pam_unix(sudo:session): session closed for user root
Jun 02 13:30:09 sys-usb dbus-daemon[970]: [session uid=1000 pid=970] Successfully activated service ‘org.xfce.Xfconf’
sys-usb uses xfce as a window manager, maybe that’s something to look at.
does dom0 use a window manager?
Or maybe there is an issue with systemd or dbus-daemon /etc/ config files.
You have an error in policy files somewhere.
I’d suggest to remove all your custom policies and use all default policies for a test and if it’ll work then try to add your custom policies one by one.
Related issues:
opened 04:51PM - 15 Feb 24 UTC
T: bug
C: core
P: default
needs diagnosis
affects-4.2
### Qubes OS release
R4.2
qubes-core-qrexec-4.2.17-1.fc37.x86_64
### Br… ief summary
Qrexec policy graph breaks unexpectedly. Happens when `--target` is specified but not `--source` or `--service`.
My policy has no syntax errors, as far as I can see from the journal.
Proving with the parser (doesn't cover runtime errors):
```
$ qubes-policy-lint $(find /etc/qubes/policy.d/ -maxdepth 1 -type f -name "*.policy")
WARNING:root:warning: !compat-4.0 directive in file __main__[in-memory] line 1 is transitional and will be deprecated
$ echo $?
0
$ qubes-policy-lint -i $(find /etc/qubes/policy.d/include/ -maxdepth 1 -type f)
$ echo $?
0
```
### Steps to reproduce
I can't share my policy and I understand debugging becomes more difficult.
Occurs with or without `--full-output` or `--include-ask`.
If you specify `--source` or `--service`, it works, but only `--target` doesn't work.
```
$ qrexec-policy-graph --include-ask --full-output --target QUBE
WARNING:root:warning: !compat-4.0 directive in file /etc/qubes/policy.d/35-compat.policy line 16 is transitional and will be deprecated
digraph g {
Traceback (most recent call last):
File "/usr/bin/qrexec-policy-graph", line 5, in <module>
sys.exit(main())
^^^^^^
File "/usr/lib/python3.11/site-packages/qrexec/tools/qrexec_policy_graph.py", line 186, in main
action = policy.evaluate(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/qrexec/policy/parser.py", line 1623, in evaluate
return rule.action.evaluate(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/qrexec/policy/parser.py", line 1115, in evaluate
return request.ask_resolution_type(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/qrexec/policy/parser.py", line 733, in __init__
assert default_target is None or default_target in targets_for_ask
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError
```
### Expected behavior
No exception, just the dot output.
### Actual behavior
Python exception.
opened 11:42AM - 29 Aug 22 UTC
T: bug
C: core
P: default
needs diagnosis
affects-4.1
[How to file a helpful issue](https://www.qubes-os.org/doc/issue-tracking/)
#… ## Qubes OS release
4.1.1
### Brief summary
Attempting to open a file in a non-global-default disposable with an `ask default_target=[...]` policy fails.
### Steps to reproduce
1. Create a disposable template named `dvm-default`.
2. In Qubes Global Settings, set `dvm-default` as the default disposable template.
3. Specify these policy rules in `/etc/qubes/policy.d/30-user.policy` in dom0:
```
qubes.OpenInVM * @anyvm @dispvm ask default_target=@dispvm:dvm-default
qubes.OpenInVM * @anyvm @anyvm deny
```
4. Create another disposable template called `dvm-other`.
5. Create an app qube called `my-app-qube`
6. In `my-app-qube`'s advanced settings, set "Default disposable template" to `dvm-other`.
7. In `my-app-qube`, do `qvm-open-in-dvm <some_file>`.
### Expected behavior
An "Operation execution" prompt is created in dom0 with the following:
```
Source: my-app-qube
Operation: qubes.OpenInVM
Target: Disposable VM (dvm-other)
```
(The target should be pre-filled.)
### Actual behavior
No dom0 prompt is created. `journalctl` shows:
```
Aug 29 04:26:15 dom0 qrexec-policy-daemon[4452]: AssertionError
Aug 29 04:26:15 dom0 qrexec-policy-daemon[4452]: assert default_target is None or default_target in targets_for_ask
Aug 29 04:26:15 dom0 qrexec-policy-daemon[4452]: File "/usr/lib/python3.8/site-packages/qrexec/policy/parser.py", line 619, in __init__
Aug 29 04:26:15 dom0 qrexec-policy-daemon[4452]: return request.ask_resolution_type(self.rule, request,
Aug 29 04:26:15 dom0 qrexec-policy-daemon[4452]: File "/usr/lib/python3.8/site-packages/qrexec/policy/parser.py", line 922, in evaluate
Aug 29 04:26:15 dom0 qrexec-policy-daemon[4452]: return rule.action.evaluate(request)
Aug 29 04:26:15 dom0 qrexec-policy-daemon[4452]: File "/usr/lib/python3.8/site-packages/qrexec/policy/parser.py", line 1307, in evaluate
Aug 29 04:26:15 dom0 qrexec-policy-daemon[4452]: resolution = policy.evaluate(request)
Aug 29 04:26:15 dom0 qrexec-policy-daemon[4452]: File "/usr/lib/python3.8/site-packages/qrexec/tools/qrexec_policy_exec.py", line 273, in handle_request
Aug 29 04:26:15 dom0 qrexec-policy-daemon[4452]: result = await handle_request(**args, log=log,
Aug 29 04:26:15 dom0 qrexec-policy-daemon[4452]: File "/usr/lib/python3.8/site-packages/qrexec/tools/qrexec_policy_daemon.py", line 100, in handle_client_connection
Aug 29 04:26:15 dom0 qrexec-policy-daemon[4452]: Traceback (most recent call last):
Aug 29 04:26:15 dom0 qrexec-policy-daemon[4452]: future: <Task finished name='Task-35552' coro=<handle_client_connection() done, defined at /usr/lib/python3.8/site-packages/qrexec/tools/qre>
Aug 29 04:26:15 dom0 qrexec-policy-daemon[4452]: Task exception was never retrieved
```
I don’t have any custom policies. I was always using the default policies.
What’s unclear is why the legacy policy is not being adhered to at all, which could be
because of the .rpmnew suffix.
The new policy format is not being applied either, so the sys-usb VM is in a state
of limbo, with respect to how mouse events are handled.
Is there a command to copy all the .rpmsave files to non .rpmsave files?
I tried copying the contents of qubes.InputKeyboard.rpmsave to
qubes.InputMouse but this had no effect
They need to make this policy transition easier…
Maybe I will find the answer by searching in
/usr/lib/python3.11/site-packages/qrexec/tools