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에서 일정을 예약하거나 원격으로 다시 사용하도록 설정하거나 그 중 하나만 비활성화합니다.


답변

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을 사용하여 답변 한 질문이 맞지만 여기에 간단한 화면 보호기 유형 잠금 장치가 있다면 빠른 질문입니다. 나는 이것을 90 년대에 다시 썼고 암호를 입력 할 때까지 X 서버의 키보드 및 마우스 이벤트를 먹는 것뿐입니다. 올바르게 입력하면 종료 이외의 다른 의견은 없습니다.

http://ishiboo.com/~danny/Projects/xl/

나는 그것을 정확히 어떻게 사용하고 싶은지 화면 잠금으로 사용합니다.


답변

답은 아마도 두 번째 유스 케이스 (원격으로 수행)에 가장 적합하지만 첫 번째 (키보드에서 멀어짐)에는 적합하지 않습니다. 돌아올 때 어떻게 xinput을 다시 실행하여 액세스를 복원 하시겠습니까?

시스템과 떨어져있는 동안 시스템을 잠그는 표준 솔루션은 XScreenSaver 이며 대부분의 배포판에 기본적으로 설치됩니다. 키보드를 잠그도록 구성된 경우 잠금을 해제하기 전에 암호를 묻는 메시지가 나타납니다.


답변

우분투와 같은 데비안 기반 시스템에는 최소한 xtrlock (1)패키지 리포지토리를 통해 사용 가능한 유틸리티가 있습니다.

이 유틸리티는 암호가 입력 될 때까지 키보드와 마우스를 잠그고 창은 보이게합니다. 정보 디스플레이 등을 실행하는 컴퓨터에 유용합니다.


답변

하드웨어에 따라 모듈을 제거하고 하드웨어를 제어 할 수 있습니다. touchpadtoggle터치 패드를 활성화 및 비활성화 하는 스크립트 가 있습니다.

lsmod | grep -q psmouse && rmmod psmouse || modprobe psmouse

그러나 키보드에는 모듈이 연결되어 있지 않은 것으로 보이며 psmouse-module은 가끔 만 작동합니다.


답변

데스크탑 환경 또는 로그인 관리자 (GNOME, KDE, XFCE, LXDE)를 사용하는 경우 거의 모든 프로그램에 암호 화면을 입력하여 프로그램으로 돌아 가야하는 잠금 화면 기능이 있습니다.

그러나 그것이 매우 간단하기 때문에 문제가 더 복잡하고 다르다는 것을 느낍니다.