Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.
Sign upsys-usb doesn't recognize keyboard/mouse plugged in before system boot #1930
Comments
marmarek
added
bug
C: other
P: major
labels
Apr 22, 2016
marmarek
added this to the Release 3.1 updates milestone
Apr 22, 2016
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
marmarek
Apr 22, 2016
Member
This is because it isn't possible to show qrexec policy dialog (confirmation that user really want to allow that mouse control over dom0) before user login. This also means no way to use that mouse in login screen. Which may be even bigger problem for keyboards (which aren't enabled by default anyway).
I think the easiest solution is to change "ask" policy to "allow" for qubes.InputMouse service. @rootkovska do we want that by default when user enable USB VM? This may be risky step. But on the other hand, those confirmations are not as effective as we want: #1166
|
This is because it isn't possible to show qrexec policy dialog (confirmation that user really want to allow that mouse control over dom0) before user login. This also means no way to use that mouse in login screen. Which may be even bigger problem for keyboards (which aren't enabled by default anyway). I think the easiest solution is to change "ask" policy to "allow" for |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
MarioGeckler
Apr 22, 2016
Is it possible to automatically Show These dialogs After login?
For #1166 : is it possible to get how long the Dialog was shown and Show it again if it was for example less then 1 second?
MarioGeckler
commented
Apr 22, 2016
|
Is it possible to automatically Show These dialogs After login? For #1166 : is it possible to get how long the Dialog was shown and Show it again if it was for example less then 1 second? |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
marmarek
Apr 27, 2016
Member
Is it possible to automatically Show These dialogs After login?
It may be possible, but not easily. I think of some script to restart failed input proxy services in sys-usb after user login. But there is a lot of corner cases...
It may be possible, but not easily. I think of some script to restart failed input proxy services in |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
MarioGeckler
Apr 29, 2016
The following Script just triggers the udev "add" event for all Keyboard and Mouse devices.
@marmarek could this be integrated in usb-vm to start after user login?
import subprocess
import os
import sys
from stat import *
eventFiles = os.listdir("/dev/input")
for file in eventFiles:
if 'event' in file: # if filename contains 'event'
eventDir = os.path.join("/dev/input", file)
if S_ISCHR(os.stat(eventDir).st_mode) != 0: # is character device?
udevreturn = subprocess.check_output(["udevadm","info","--query=property","--name=" + eventDir])
if 'ID_INPUT_MOUSE' in udevreturn:
subprocess.call(["sudo","/usr/bin/udevadm","trigger","--action=add","--sysname-match=" + file])
if 'ID_INPUT_KEYBOARD' in udevreturn:
subprocess.call(["sudo","/usr/bin/udevadm","trigger","--action=add","--sysname-match=" + file])
MarioGeckler
commented
Apr 29, 2016
•
|
The following Script just triggers the udev "add" event for all Keyboard and Mouse devices. import subprocess
import os
import sys
from stat import *
eventFiles = os.listdir("/dev/input")
for file in eventFiles:
if 'event' in file: # if filename contains 'event'
eventDir = os.path.join("/dev/input", file)
if S_ISCHR(os.stat(eventDir).st_mode) != 0: # is character device?
udevreturn = subprocess.check_output(["udevadm","info","--query=property","--name=" + eventDir])
if 'ID_INPUT_MOUSE' in udevreturn:
subprocess.call(["sudo","/usr/bin/udevadm","trigger","--action=add","--sysname-match=" + file])
if 'ID_INPUT_KEYBOARD' in udevreturn:
subprocess.call(["sudo","/usr/bin/udevadm","trigger","--action=add","--sysname-match=" + file]) |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
marmarek
Apr 29, 2016
Member
Yes, create launcher in ~/.config/autostart/something.desktop
Hmm, maybe simply systemctl restart-failed qubes-input* will do?
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
|
Yes, create launcher in ~/.config/autostart/something.desktop Best Regards, |
marmarek
closed this
in
marmarek/qubes-app-linux-input-proxy@86b955a
May 2, 2016
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
marmarek
May 2, 2016
Member
Automated announcement from builder-github
The package qubes-input-proxy-1.0.4-1.fc21 has been pushed to the r3.1 testing repository for the Fedora fc21 template.
To test this update, please install it with the following command:
sudo yum update --enablerepo=qubes-vm-r3.1-current-testing
|
Automated announcement from builder-github The package
|
marmarek
added
the
r3.1-fc21-cur-test
label
May 2, 2016
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
marmarek
May 2, 2016
Member
Automated announcement from builder-github
The package qubes-input-proxy-1.0.4-1.fc22 has been pushed to the r3.1 testing repository for the Fedora fc22 template.
To test this update, please install it with the following command:
sudo yum update --enablerepo=qubes-vm-r3.1-current-testing
|
Automated announcement from builder-github The package
|
marmarek
added
the
r3.1-fc22-cur-test
label
May 2, 2016
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
marmarek
May 2, 2016
Member
Automated announcement from builder-github
The package qubes-input-proxy-1.0.4-1.fc23 has been pushed to the r3.1 testing repository for the Fedora fc23 template.
To test this update, please install it with the following command:
sudo yum update --enablerepo=qubes-vm-r3.1-current-testing
|
Automated announcement from builder-github The package
|
marmarek
added
the
r3.1-fc23-cur-test
label
May 2, 2016
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
marmarek
May 2, 2016
Member
Automated announcement from builder-github
The package qubes-input-proxy-1.0.4-1.fc20 has been pushed to the r3.1 testing repository for dom0.
To test this update, please install it with the following command:
sudo qubes-dom0-update --enablerepo=qubes-dom0-current-testing
|
Automated announcement from builder-github The package
|
marmarek
added
the
r3.1-dom0-cur-test
label
May 2, 2016
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
marmarek
Jun 9, 2016
Member
Automated announcement from builder-github
The package qubes-input-proxy-1.0.5-1.fc21 has been pushed to the r3.1 stable repository for the Fedora fc21 template.
To install this update, please use the standard update command:
sudo yum update
|
Automated announcement from builder-github The package
|
marmarek
added
r3.1-fc21-stable
and removed
r3.1-fc21-cur-test
labels
Jun 9, 2016
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
marmarek
Jun 9, 2016
Member
Automated announcement from builder-github
The package qubes-input-proxy-1.0.5-1.fc22 has been pushed to the r3.1 stable repository for the Fedora fc22 template.
To install this update, please use the standard update command:
sudo yum update
|
Automated announcement from builder-github The package
|
marmarek
added
r3.1-fc22-stable
and removed
r3.1-fc22-cur-test
labels
Jun 9, 2016
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
marmarek
Jun 9, 2016
Member
Automated announcement from builder-github
The package qubes-input-proxy-1.0.5-1.fc23 has been pushed to the r3.1 stable repository for the Fedora fc23 template.
To install this update, please use the standard update command:
sudo yum update
|
Automated announcement from builder-github The package
|
marmarek
added
r3.1-fc23-stable
and removed
r3.1-fc23-cur-test
labels
Jun 9, 2016
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
marmarek
Jun 9, 2016
Member
Automated announcement from builder-github
The package qubes-input-proxy-1.0.5-1.fc20 has been pushed to the r3.1 stable repository for dom0.
To install this update, please use the standard update command:
sudo qubes-dom0-update
Or update dom0 via Qubes Manager.
|
Automated announcement from builder-github The package
Or update dom0 via Qubes Manager. |
marmarek
added
r3.1-dom0-stable
and removed
r3.1-dom0-cur-test
labels
Jun 9, 2016
added a commit
to QubesOS/qubes-core-admin
that referenced
this issue
Jun 24, 2016
added a commit
to QubesOS/qubes-core-admin
that referenced
this issue
Jun 25, 2016
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
MarioGeckler
commented
Jul 7, 2016
|
@marmarek could you add this script in R3,2 also ? |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
|
@MarioGeckler it is there. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
MarioGeckler
Jul 8, 2016
The script isn´t working in a debian USB-VM because udevadm is not in /usr/bin
I edited the script to dynamically search for udevadm:
import subprocess
import os
import sys
from stat import *
eventFiles = os.listdir("/dev/input")
for input_dev in eventFiles:
if 'event' in input_dev: # if filename contains 'event'
eventFile = os.path.join("/dev/input", input_dev)
if S_ISCHR(os.stat(eventFile).st_mode) != 0: # is character device?
udevreturn = subprocess.check_output([
"udevadm", "info", "--query=property", "--name=" + eventFile])
if 'ID_INPUT_MOUSE' in udevreturn or
'ID_INPUT_KEYBOARD' in udevreturn:
udevadm = subprocess.check_output([
"sudo", "which", "udevadm"])
udevadm = udevadm.rstrip('\n')
subprocess.call([
"sudo", udevadm, "trigger",
"--action=add", "--sysname-match=" + input_dev])
MarioGeckler
commented
Jul 8, 2016
•
|
The script isn´t working in a debian USB-VM because udevadm is not in /usr/bin import subprocess eventFiles = os.listdir("/dev/input") |
MarioGeckler commentedApr 22, 2016
Qubes OS version:
R3.1
Affected TemplateVMs:
fedora23?
Expected behavior:
Dom0 should ask if InputMouse/InputKeyboard should be allowed even if the devices was connected before the system boots
Actual behavior:
Devices which are plugged in before the System starts must be reconnected to get the confirmation dialog
Steps to reproduce the behavior:
Setup working USBVM
Connect Keyboard/Mouse to the System before boot
Boot Qubes
reconnect the devices