Вы можете просто отключить клавиатуру и мышь на время. Сначала узнайте идентификаторы клавиатуры и мыши:
$ xinput --list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Logitech M325 id=14 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ SIGMACHIP USB Keyboard id=11 [slave keyboard (3)]
У меня к машине подключены разные вещи, и я работаю на ноутбуке, поэтому вывод xinput --list
очень длинный. Я отредактировал его здесь для ясности. Вам нужно выяснить, каковы идентификаторы устройств, которые вам нужно отключить. В моем случае это были 14
и 11
.
Теперь выключите экран, отключите клавиатуру и мышь, подождите 2 секунды и включите все снова:
xinput set-prop 'Logitech M325' 'Device Enabled' 0 &&
xinput set-prop 'SIGMACHIP USB Keyboard' 'Device Enabled' 0 &&
xset dpms force off &&
sleep 2 &&
xinput set-prop 'Logitech M325' 'Device Enabled' 1 &&
xinput set-prop 'SIGMACHIP USB Keyboard' 'Device Enabled' 1 &&
xset dpms force on
В моей системе SIGMACHIP USB
соответствует более чем одному устройству. По какой-то причине оно также определяется как мышь. Чтобы быть на 100% уверенным в получении правильных устройств, вы можете добавить их класс к их имени:
xinput set-prop 'pointer:Logitech M325' 'Device Enabled' 0 &&
xinput set-prop 'keyboard:SIGMACHIP USB Keyboard' 'Device Enabled' 0 &&
xset dpms force off &&
sleep 2 &&
xinput set-prop 'pointer:Logitech M325' 'Device Enabled' 1 &&
xinput set-prop 'keyboard:SIGMACHIP USB Keyboard' 'Device Enabled' 1 &&
xset dpms force on
Вы не можете за один ls
вызов. Также обратите внимание, что ошибки выводятся в другом потоке, stderr, где буферизация работает иначе, чем в stdout.
Также обратите внимание, что -U
не является -стандартным (расширением GNU ), и что если вы хотите, чтобы ls
отображал список файлов, указанных в качестве аргумента, вам нужна опция -d
, в противном случае для файлов типа каталог , ls
вместо этого будет отображать их содержимое.
Кроме того, вы можете запустить ls
для каждого файла:
for file in a.txt test.sh badtest
ls -ld -- "$file"
done
Это решит все вышеперечисленные проблемы.