답변:
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에서 일정을 예약하거나 원격으로 다시 사용하도록 설정하거나 그 중 하나만 비활성화합니다.
xinput set-int-prop 9 "Device Enabled" 8 0
.-전용, 1) 마우스 포인터도 숨기고 싶습니다 .2) X에서 tty (Linux 콘솔 / VT)로 이동하면, 그런 다음 X로 돌아 가면 재설정됩니다 ( xinput list-props 9
확인).
xinput --set-int-prop
더 이상 사용되지 않습니다. --set-prop
대신 사용해야 합니다. 또한, xinput --enable [device]
및 xinput --disable [device]
활성화 각각 해제 장치를 사용할 수 있습니다.
다음은 노트북의 터치 패드를 활성화, 비활성화 및 전환하는 데 사용하는 쉘 스크립트입니다.
#!/bin/bash
# Enables, disables, or toggles device
device='AlpsPS/2 ALPS GlidePoint'
if [[ $1 == -e ]] ; then
# Enable
#xinput --set-prop "$device" "Device Enabled" 1
xinput --enable "$device"
elif [[ $1 == -d ]] ; then
# Disable
#xinput --set-prop "$device" "Device Enabled" 0
xinput --disable "$device"
elif [[ $1 == -t ]] ; then
# Toggle
if [[ $(xinput list-props "$device" |
grep "Device Enabled") == *:*1 ]] ; then
#xinput --set-prop "$device" "Device Enabled" 0
xinput --disable "$device"
else
#xinput --set-prop "$device" "Device Enabled" 1
xinput --enable "$device"
fi
else
echo "usage: $0 [-edt]"
fi
xinput --disable 9
있습니다.
xinput을 사용하여 답변 한 질문이 맞지만 여기에 간단한 화면 보호기 유형 잠금 장치가 있다면 빠른 질문입니다. 나는 이것을 90 년대에 다시 썼고 암호를 입력 할 때까지 X 서버의 키보드 및 마우스 이벤트를 먹는 것뿐입니다. 올바르게 입력하면 종료 이외의 다른 의견은 없습니다.
http://ishiboo.com/~danny/Projects/xl/
나는 그것을 정확히 어떻게 사용하고 싶은지 화면 잠금으로 사용합니다.
답은 아마도 두 번째 유스 케이스 (원격으로 수행)에 가장 적합하지만 첫 번째 (키보드에서 멀어짐)에는 적합하지 않습니다. 돌아올 때 어떻게 xinput을 다시 실행하여 액세스를 복원 하시겠습니까?
시스템과 떨어져있는 동안 시스템을 잠그는 표준 솔루션은 XScreenSaver 이며 대부분의 배포판에 기본적으로 설치됩니다. 키보드를 잠그도록 구성된 경우 잠금을 해제하기 전에 암호를 묻는 메시지가 나타납니다.
우분투와 같은 데비안 기반 시스템에는 최소한 xtrlock (1)
패키지 리포지토리를 통해 사용 가능한 유틸리티가 있습니다.
이 유틸리티는 암호가 입력 될 때까지 키보드와 마우스를 잠그고 창은 보이게합니다. 정보 디스플레이 등을 실행하는 컴퓨터에 유용합니다.
위의 답변을 통해이 .zshrc
작업 .bashrc
을 수행하기 위해 (에서 그러나 작동해야 함) 썼습니다 . 키보드에 해당하는 작업을 수행하려면에서 파라미터를 변경하십시오 grep Mouse
.
setmouse () {
xinput \
$1 \
`xinput | grep Mouse | tr -d " " | tr "\t" " " | cut -d" " -f2 | cut -d"=" -f2`
}
offmouse () { setmouse disable }
onmouse () { setmouse enable }