Jak można programowo „zamrozić” klawiaturę i mysz, aby nikt nie mógł zepsuć się z systemem?
Jest kilka możliwości, w których jest to przydatne. Na przykład mam laptopa i chcę się upewnić, że nikt go nie użyje podczas wychodzenia, nawet jeśli ktoś zna hasło lub może je odgadnąć (jak żona lub dzieci), a także obniża apetyt złodziei (jak się wydaje -funkcjonowanie). lub robię coś zdalnie, więc chcę mieć pewność, że użytkownik komputera nie będzie przeszkadzał.
Odpowiedzi:
Zakładając, że twój GUI jest oparty na X (jak prawie wszystkie GUI UNIX), użyj
xinput
.Najpierw wypisz swoje urządzenia:
Podaj szczegóły dotyczące myszy (id = 6 w naszym przykładzie):
Teraz wyłącz:
Aby to zrobić:
To samo dotyczy klawiatury, wystarczy zastąpić numer int-prop odpowiednim identyfikatorem.
Testowany i pracował na cygwin.
Oczywiście musisz wcześniej zaplanować, jak ponownie włączyć urządzenia. np. zaplanuj na cronie, włącz ponownie zdalnie lub wyłącz tylko jeden z nich na pierwszym miejscu.
źródło
xinput set-int-prop 9 "Device Enabled" 8 0
- tylko, 1) Chciałbym również ukryć wskaźnik myszy, i 2) jeśli przejdę z X na tty (konsola Linux / VT), i następnie z powrotem do X, to jest resetowane (xinput list-props 9
potwierdza to).xinput --set-int-prop
jest przestarzałe. Zamiast tego powinieneś użyć--set-prop
. Równieżxinput --enable [device]
ixinput --disable [device]
może być używany do włączania i wyłączania urządzenia odpowiednio.Oto skrypt powłoki, którego używam do włączania, wyłączania i przełączania touchpada mojego laptopa:
źródło
xinput --disable 9
.Odpowiedzi na pytanie za pomocą xinput są prawidłowe, ale tutaj jest szybkie, jeśli wszystko, czego szukasz, to prosta blokada typu wygaszacz ekranu. Napisałem to w latach 90. i wszystko, co robi, to zjadanie zdarzeń klawiatury i myszy serwera X, dopóki nie wpiszesz hasła. Żadnych informacji zwrotnych poza opuszczaniem, gdy wpiszesz poprawnie.
http://ishiboo.com/~danny/Projects/xl/
Używam go jako blokady ekranu, dokładnie tak, jak chcesz go używać.
źródło
Twoja odpowiedź jest prawdopodobnie najlepsza dla drugiego przypadku użycia (robienie czegoś zdalnie), ale prawdopodobnie nie dla pierwszego (z dala od klawiatury). Jak uruchomisz ponownie xinput, aby przywrócić dostęp po powrocie?
Standardowym rozwiązaniem do blokowania systemu z dala od niego jest XScreenSaver , który jest instalowany domyślnie w większości dystrybucji. Jeśli skonfigurowano blokowanie klawiatury, przed odblokowaniem poprosi o podanie hasła.
źródło
Przynajmniej w systemach opartych na Debianie, takich jak Ubuntu, istnieje narzędzie o nazwie
xtrlock (1)
dostępne za pośrednictwem repozytoriów pakietów.To narzędzie blokuje klawiaturę i mysz, dopóki hasło nie zostanie wprowadzone, pozostawiając widoczne okna. Uważam, że jest to przydatne na komputerach z wyświetlaczami informacyjnymi i tym podobnych.
źródło
W zależności od sprzętu można usunąć moduły, kontrolując sprzęt. Mam taki skrypt
touchpadtoggle
, aby włączyć i wyłączyć touchpad.Ale klawiatura wydaje się nie mieć żadnego modułu, a moduł psmouse będzie działał tylko okazjonalnie.
źródło
Jeśli używasz środowiska pulpitu lub menedżera logowania, (GNOME, KDE, XFCE, LXDE) prawie wszystkie z nich mają funkcję blokady ekranu, w której musisz wpisać hasło, aby wrócić do programów.
Ponieważ jednak jest to naprawdę proste, wydaje mi się, że twój problem jest bardziej złożony / inny.
źródło
Napisałem to (w
.zshrc
, ale też powinno działać.bashrc
), aby to zrobić, korzystając z powyższych odpowiedzi. Aby zrobić to samo z klawiaturą, zmień parametr wgrep Mouse
.źródło