Современный Xorg использует расширение XKB для поддержки раскладок клавиатуры. Xmodmap эмулирован через слой совместимости, но он имеет причуды. Можно отключить XKB полностью, и Xorg вернется к использованию старых отображений клавиатуры Xmodmap. Я думаю, что это устанавливает опцию XkbDisable на истинный в xorg.conf, но Вы, вероятно, хотите сделать это метод XKB. Существует много настраиваемых опций, расположенных в /usr/share/X11/xkb/rules/xorg.xml, и я думаю, что Вы хотите caps:swapescape, который подкачивает Caps Lock и Escape. Попробуйте setxkbmap - опция caps:swapescape
Нет, нет такой опции, также это не должно иметь никого.
Если необходимо измерить это, необходимо сначала знать, сколько файлов присутствует в системе, которая означает цикл через все дважды, это может быть медленно
Один evicent пример - это при извлечении исходного кода ядра с file-roller
, это медленнее, чем выполнение того же самого с tar
непосредственно, потому что ролик файла должен зарегистрировать все файлы сначала (иначе, индикатор выполнения мог бы быть неправильно отображен), и Вы ожидаете некоторое время, прежде чем процесс извлечения на самом деле начался.
Это не эффективное решение, но не так плохо как цикличное выполнение через все дважды.
Количество файлов, обработанных updatedb
равно:
updatedb -v | wc -l
или примерно равный:
find / -mount | wc -l
Мы не можем использовать эти команды для получения числа, потому что это было бы цикличное выполнение дважды.
Но мы можем использовать количество используемого inodes, который является приблизительно тем же:
df -i | grep '/$' | awk '{print $3}'
Имея это значение, мы можем вычислить, как далеко мы добрались в то время как updatedb -v
команда работает:
count=$(df -i | grep '/$' | awk '{print $3}')
sudo updatedb -v | while read
do
printf "%3d\r" $((100 * (++i) / count))
done
Это очень неэффективно, потому что printf
назван для каждой строки в выводе updatedb -v
. Лучше, если мы printf
для только некоторых строк.
count=$(df -i | grep '/$' | awk '{print $3}')
sudo updatedb -v | while read
do
if (( ++i % (count/20) == 0 )); then
printf "%3d\r" $((100 * i / count))
fi
done
df -i
отчеты 0 во всех столбцах для/. Возможно, извлечение файла текущей базы данных рассчитывает от locate -S
(или --statistics
или другой подобный переключатель Ваш locate
реализация имеет), мог также использоваться в качестве приблизительного количества файла.
– manatwork
18.07.2012, 17:15