Tôi có thể mô phỏng chuyển động của chuột qua thiết bị đầu cuối mà không có xdotool không?


9

Tôi muốn viết một kịch bản để ngăn chặn máy tính bị khóa bằng cách vẫy chuột. Tuy nhiên, tôi không có xdotooltrên máy tính mà tôi đang sử dụng và tôi không thể cài đặt vì tôi chưa root. Có cách nào để di chuyển con trỏ mà không sử dụng xdotool?


14
Tại sao làm điều này thay vì chỉ vô hiệu hóa màn hình khóa của bạn?
HalosGhost

Là sử dụng dbus-sendmột tùy chọn để vô hiệu hóa trình bảo vệ màn hình? Làm cách nào tôi có thể kích hoạt tính năng khóa của trình bảo vệ màn hình bằng D-BUS từ dòng lệnh?
slm

Câu trả lời:


9

Rằng bạn không thể cài đặt xdotoolvì bạn không root không có nghĩa là bạn không thể chạy chương trình, vì bạn không cần bất kỳ đặc quyền đặc biệt nào.

Chỉ cần tải về và biên dịch từ nguồn .

Nếu bạn không có quyền truy cập vào trình biên dịch thì bạn có thể tải xuống gói cho hệ thống của mình trực tiếp và giải nén tệp từ gói (để .debsử dụng lần đầu ar, .rpmcó thể thực hiện trích xuất từ rpm2cpio)


9

Theo câu trả lời này, bạn có thể di chuyển con trỏ chuột bằng dòng lệnh với quy trình sau:

  1. Trước tiên, bạn cần tìm thiết bị nhập chuột với

    grep mouse /proc/bus/input/devices | grep event
    

    Bạn sẽ thấy một cái gì đó như H: Handlers=mouse0 event7trong trường hợp của tôi. Nó có thể xuất nhiều hơn một dòng nếu bạn có nhiều hơn một con chuột (ví dụ: bàn di chuột). Phần quan trọng là event7, nó có nghĩa là bạn sẽ viết thư cho /dev/input/event7.

  2. Sau đó, phần sau sẽ di chuyển con trỏ chuột 100 pixel sang phải:

    seconds=$(date +%s)
    type=2      # EV_REL
    code=0      # REL_X
    value=100   # 100 pixels
    
    printf '%08X%04X%04X%08X%08X\n' $value $code $type 0 $seconds | xxd -r -p | \
        perl -0777e 'print scalar reverse <>' > /dev/input/event7
    
    type=0      # EV_SYN
    code=0      # SYN_REPORT
    value=0
    
    printf '%08X%04X%04X%08X%08X\n' $value $code $type 0 $seconds | xxd -r -p | \
        perl -0777e 'print scalar reverse <>' > /dev/input/event7
    

Tôi đã không kiểm tra xem quy trình này có tương đương với chuyển động chuột thực sự theo nghĩa gián đoạn cơ chế khóa hay không.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.