Где хранится частота повторения по умолчанию для xset?

предполагая, что нет файла с забавным символом в имени

 for file in *
 do
    line=$(wc -l < "$file' )
    if [ $line -ge 10 ]
    then
       tail -n +3 <"$file" > "${file}.checked"
    fi
 done

, это в основном подсчет строк в каждом файле, затем, если больше 10, вывести все строки, начиная с третьего.

1
03.12.2017, 02:38
2 ответа

Когда мы меняем настройки в командной строке bash, кажется, что новые настройки сохраняются только в памяти работающего X-сервера.

Чтобы сохранить изменения, раскомментируйте строки «KEYBOARD _RATE» и «KEYBOARD _DELAY» в /etc/kbd/config, если в вашей системе есть этот файл.

В противном случае (для Ubuntu, в любом случае ), существуют различные подходы, характерные для -дистрибутивов, см.:https://askubuntu.com/q/140255/231504

Вот почему я предполагаю, что значения, установленные через xset, живут только в -памяти X-сервера:

Когда я запускаю команду под strace, вот так:

strace xset r rate 175 37

Судя по моему ограниченному опыту работы с strace), кажется (, что настройки записываются в сокет, а на моей машине сокет:

/tmp/.X11-unix/X0

Чтобы увидеть, что находится на другом конце этого разъема:

sudo lsof +d /tmp/.X11-unix

... который выводит:

COMMAND  PID USER   FD   TYPE             DEVICE SIZE/OFF   NODE NAME
Xorg    1635 root    3u  unix 0xffff88046ae4bc00      0t0  24945 /tmp/.X11-unix/X0 type=STREAM

...что показывает, что процесс, прослушивающий сокет, — этоXorg(он же The X Server ). Конечно, X-сервер может затем гипотетически сохранить значения в энергонезависимой -памяти где-нибудь, но, судя по многочисленным анекдотам от пользователей, похоже, что это не так.

0
27.01.2020, 23:44

Вы можете изменить так называемые -сиденья -по умолчанию в /etc/X11/xinit/xserverrc, добавив соответствующие параметры (ср.XSERVER(1)).

-ardelay milliseconds
   sets the autorepeat delay (length of time in milliseconds that a key must be depressed before autorepeat starts).

-arinterval milliseconds
   sets the autorepeat interval (length of time in milliseconds that should elapse between autorepeat-generated keystrokes).

(! )Для определения arintervalв мс из частоты повторения xsetвычислите 1000/freq.

Мой теперь говоритexec /usr/bin/X -nolisten tcp -ardelay 200 -arinterval 20 "$@"

[найдено наhttps://superuser.com/questions/935801/whenever-i-plug-in-another-keyboard-key-repeating-rate-is-reset-to-some-value]

(Раньше я пытался сделать частоту повторения постоянной, установив Option "AutoRepeat" "190 70"/etc/X11/xorg.conf.d/keyboard.conf, но это не работало, поэтому я (беспомощно )прибегал к запуску задания cron -в -минуту xsetXD)

6
27.01.2020, 23:44

Теги

Похожие вопросы