Запустите . / etc / sysstat / sysstat
в вашем скрипте. Это приведет к правильной установке переменной среды $ SA_DIR
.
Мы нашли решение в Code Review :
setxkbmap -option numpad:mac
Пока я не вижу каких-либо нарушений сопоставления клавиш .
Нет, неэффективно. Проблема в том, что стоимость запроса состояния NumLock такая же, как стоимость установки состояния NumLock. Таким образом, вы просто удвоите нагрузку, если попытаетесь запросить состояние перед его установкой.
Вы могли бы немного улучшить его, написав скомпилированный код на C, так как вы избежите затрат на fork / exec и интерпретацию, но это все равно останется ужасным взломом.
Вместо этого вы могли бы включить NumLock, а затем отключить клавишу NumLock (или даже игнорировать ее состояние, если все, что вам нужно, это цифровая клавиатура, всегда числовая).
См. Это сообщение SuperUser , чтобы узнать, как это сделать с помощью xmodmap (1) .
Самый эффективный способ ЦП - просто отключить NumLock
с помощью xmodmap
, тогда вам не нужно опрашивать NumLock
статус вообще. Другими словами, затраченное время процессора равно нулю. Это можно сделать с помощью
xmodmap -e "remove mod2 = Num_Lock"
, и если вы хотите использовать его снова, включите его с помощью
xmodmap -e "add mod2 = Num_Lock"
. Или создайте файл ~ / .Xmodmap
с аналогичной строкой и убедитесь, что ваш запуск X читает этот файл (в некоторых современных средах рабочего стола нет).
Подробнее см. man xmodmap
.