Необходимо будет сделать это отдельно для X, и для каждого вида текстовой консоли Вы заботитесь о.
Если Вы хотите переключиться между произвольными контурными картами, необходимо поддержать состояние, поскольку обычно консоль не сделает этого для Вас. Это - то, что делают переключатели расположения, такие как Gnome и KDE's. Но если Вы только хотите переключиться между некоторыми известными контурными картами, можно запросить консоль (предполагающий, что эта функция доступна на консольном типе), получите текущий код, отправленный ключом, и решите, что переключиться на на основе этого. Вот несколько возможностей:
q
, текущая контурная карта похожа на стандартное расположение букв на клавиатуре, так переключитесь на Дворака, иначе переключитесь на стандартное расположение букв на клавиатуре.Вот реализация для X и Linux, с помощью теста W=Q+1. Остерегайтесь, я не протестировал его. Обратите внимание, что сценарий обычно не будет применим посредством удаленных входов в систему текстового режима.
if [ -n "$DISPLAY" ]; then
if xmodmap -pke | awk '$3=="=" && $4=="q" {q=$2}
$3=="=" && $4=="w" {w=$2}
END {exit w-q==1}'; then
setxkbmap us
else
setxkbmap dvorak
fi
elif [ "$TERM" = "linux" ]; then
if dumpkeys | awk '$3=="=" && $4=="q" {q=$2}
$3=="=" && $4=="w" {w=$2}
END {exit w-q==1}'; then
loadkeys us
else
loadkeys dvorak
fi
fi
На X Window лучшее место для привязки этого с ключом использует настольную среду или функцию привязки клавиш менеджера окон. Можно заставить ключ выполнить часть X-specific только. Конечно, если Ваш DE/WM имеет функцию переключения расположения, Вы могли бы также использовать его.
На консоли Linux возможности для привязок клавиш очень ограничены. Можно связать ключ к KeyboardSignal
символ. Если Вы используете SysVinit, помещенный kb::kbrequest:/path/to/script
в /etc/inittab
запускать Ваш скрипт (как корень!), когда сигнал нажимается. Я не знаю, как настроить действие этого ключа с Выскочкой.
goto для Linux cpuburn
(домашняя страница). Я ожидал бы, что это должно работать над другими системами UNIX также.
stress
довольно хорошо. Я не вижу оснований для использования чего-то еще.
Я думаю cpuburn
и stress
хороши, но у меня также есть сценарий Python, который я использую для дополнительного напряжения.
import multiprocessing
import math
def worker():
#worker function
print ('Worker')
x = 0
while x < 1000000000000000000:
print(x)
p = x*math.pi
p2 = math.sqrt(x**2 + p**2)
print(p2)
x += 1
return
if __name__ == '__main__':
jobs = []
for i in range(50):
p = multiprocessing.Process(target=worker)
jobs.append(p)
p.start()
Я разрабатывал стресс-нг, который обеспечивает широкий спектр механизмов стресса. См. http://kernel.ubuntu.com/~kcking/stress-ng/
stress-ng теперь доступен в Debian 8 и Ubuntu 14.04. Она пытается быть обратно совместимой со стрессом, но это чистая перезапись. стресс-ng будет тестировать компьютерную систему различными выбираемыми способами. Он был разработан для тестирования различных физических подсистем компьютера, а также различных интерфейсов ядра операционной системы. Особенности стресс-ng: более 120 различных стресс-тестов более 50 специфических для процессора стресс-тестов, выполняющих манипуляции с плавающей точкой, целыми числами, битами и потоком управления более 20 стресс-тестов виртуальной памяти
.