Это условное выражение Bash, а не общее test
условное выражение. Это значит
-N file
True if file exists and has been modified since it was last read.
-N
верно, если время модификации файла новее, чем время его доступа.
Вам просто нужно написать программу типа chvt
, которая циклически переключает KVT, и подключить ее, как у вас (вы говорите, что )уже подключили другие программы к другим кнопкам.
Во FreeBSD:
vidcontrol -i active
. vidcontrol -s $NEXT
после приращения и некоторой арифметики по модулю.В NetBSD:
wsconscfg -g
. wsconscfg -s $NEXT
после приращения и некоторой арифметики по модулю. В Linux:
/sys/class/tty
. chvt $NEXT
после приращения и некоторой арифметики по модулю. На всех трех все вышеперечисленное можно было бы сделать с помощью некоторых простых арифметических действий сценария оболочки. Или вы можете написать программу на другом языке, чтобы базовые ioctl()
вызывали(VT_GETACTIVE
и VT_ACTIVATE
во FreeBSD, например, )напрямую.
OpenBSD требует, чтобы такое программирование вызывалоwsdisplay
(4)ioctl()
напрямую, поскольку для этого нет удобных утилит.
Пользовательские -виртуальные терминалы пространства, отображаемые непосредственно в буфере кадра, могут иметь аналогичные механизмы, различающиеся в зависимости от программного обеспечения. Мой, например, реагирует на фактические коды USB HID для клавиш «запуск приложения потребительского устройства» следующей/предыдущей задачи .
vidcontrol
. Руководство по основным командам FreeBSD . wsconscfg
. Руководство администратора системы NetBSD . 2006 -06 -24. console-multiplexor
. Направляющая ноша . Программное обеспечение. console-multiplexor-control
. Направляющая ноша . Программное обеспечение.