Tôi muốn tự động tắt bàn di chuột khi chuột ngoài được kết nối và bật khi không có. Tôi đã thử sử dụng touchpad-indicator
nhưng điều đó không thành công trong trường hợp máy tính đã được đưa vào chế độ ngủ với một con chuột được kết nối và bị đánh thức khi con chuột bị ngắt kết nối.
Tôi đã cố gắng biến đoạn script sau thành daemon để giải quyết vấn đề này nhưng tôi không thể làm cho nó hoạt động được:
#!/bin/bash
declare -i TID
declare -i MID
TID=`xinput list | grep -Eo 'Touchpad\s*id\=[0-9]{1,2}' | grep -Eo '[0-9]{1,2}'`
MID=`xinput list | grep -Eo 'Mouse\s*id\=[0-9]{1,2}' | grep -Eo '[0-9]{1,2}'`
if [ $MID -gt 0 ]
then
xinput disable $TID
else
xinput enable $TID
fi
Tôi đã thử start-stop-daemon -S -x ./myscript.sh -b
và setsid ./myscript.sh >/dev/null 2>&1 < /dev/null &
và nohup ./myscript 0<&- &>/dev/null &
thậm chí./myscript.sh &
Tất cả những thứ này trả về một số gồm 4 chữ số, theo tôi đoán, nó phải là PID của quá trình bắt đầu nhưng khi tôi khởi chạy lxtask thì không có quy trình nào với bộ PID này , ngay cả khi tôi đánh dấu vào "xem tất cả các quy trình". Và, tất nhiên, nó không hoạt động!
xinput
cần một máy chủ X đang chạy và hầu hết các phương thức chạy công cụ như daemon không có kiến thức hoặc khả năng kết nối với X. Thứ ba, và lý do chính tại sao bạn phải luôn giải thích những gì bạn đang cố gắng làm đó là giải pháp rất thường xuyên rằng ai đó đang cố gắng áp dụng không thực sự là cách để hoàn thành nó và cuối cùng bạn hỏi sai câu hỏi, thường được gọi là vấn đề XY .