Xorg
在 unix 上禁用鍵盤和滑鼠輸入(在 X 下)
如何以程式方式暫時“凍結”鍵盤和滑鼠,以便沒有人可以弄亂系統?
有幾種可能性是有用的。例如,我有一台筆記型電腦,我想確保在我離開時沒有人使用它,即使有人知道密碼或可以猜到密碼(如妻子或孩子),以及抑制小偷的胃口(因為這似乎是- 運作)。或者我正在遠端做某事,所以我想確保電腦上的使用者不會打擾。
假設您的 GUI 是基於 X 的(幾乎所有 UNIX GUI 都是),請使用
xinput
.首先,列出您的設備:
$ xinput --list ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ Windows mouse id=6 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] ↳ Windows keyboard id=7 [slave keyboard (3)]
列出滑鼠的詳細資訊(在我們的範例中為 id=6):
$ xinput --list-props 6 Device 'Windows mouse': Device Enabled (112): 1 Coordinate Transformation Matrix (114): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000 Device Accel Profile (222): 0 Device Accel Constant Deceleration (223): 1.000000 Device Accel Adaptive Deceleration (224): 1.000000 Device Accel Velocity Scaling (225): 10.000000
現在禁用它:
$ export DISPLAY=:0 $ xinput set-int-prop 6 "Device Enabled" 8 0
要啟用它,請執行以下操作:
$ xinput set-int-prop 6 "Device Enabled" 8 1
鍵盤也是如此,只需將 int-prop 編號替換為正確的 id 即可。
在cygwin上測試和工作。
當然,您必須事先計劃如何再次啟用您的設備。例如在 cron 上安排它,遠端重新啟用它,或者首先禁用其中一個。