Quiero que mi panel táctil se deshabilite automáticamente cuando se conecte un mouse externo y se habilite cuando no haya ninguno. He intentado usarlo, touchpad-indicator
pero eso falla en los casos en que la computadora se ha dormido con un mouse conectado y despertado con el mouse desconectado.
Intenté convertir el siguiente script en un demonio para resolver este problema, pero no puedo hacer que funcione:
#!/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
Lo intenté start-stop-daemon -S -x ./myscript.sh -b
y setsid ./myscript.sh >/dev/null 2>&1 < /dev/null &
e nohup ./myscript 0<&- &>/dev/null &
incluso./myscript.sh &
Todos estos devuelven un número de 4 dígitos, que, supongo, debería ser PID del proceso iniciado, pero cuando ejecuto lxtask no hay procesos con este PID , incluso si marco "ver todos los procesos". Y, por supuesto, ¡no funciona!
xinput
necesita un servidor X en ejecución, y la mayoría de los métodos para ejecutar cosas como demonios no tienen conocimiento ni capacidad para conectarse a X. En tercer lugar, y la razón principal por la que siempre debe explicar lo que está tratando de hacer es que muy a menudo la solución que alguien está intentando aplicar no es realmente la forma de hacerlo y terminas haciendo la pregunta incorrecta, comúnmente conocida como el problema XY .