вторник, 2 декабря 2014 г.

Коды и имена нажатых клавиатурных клавиш в ubuntu


 Взято отсюда
xev | grep -A2 --line-buffered '^KeyRelease' | sed -n '/keycode /s/^.*keycode \([0-9]*\).* 
(.*, \(.*\)).*$/\1 \2/p'
Пример консольного вывода после шлёпанья по кнопкам:

$ xev | grep -A2 --line-buffered '^KeyRelease' |  sed -n '/keycode /s/^.*keycode \([0-9]*\).* (.*, \(.*\)).*$/\1 \2/p'
36 Return
40 Cyrillic_ve
45 Cyrillic_el
38 Cyrillic_ef
139 Undo
190 Redo
68 F2
69 F3

 

пятница, 7 марта 2014 г.

понедельник, 17 февраля 2014 г.

среда, 5 февраля 2014 г.

Строки без повторений с помощью bash

$ <что-то, выводящее в stdout> | sort | uniq

Uniq похоже помнит только предыдущую строку, поэтому повторений вразнобой он не замечает. Перед ним нужно сортировать.

UPD
Как подсказали в комментариях, sort -u делает то же самое.

вторник, 22 октября 2013 г.

Запуск установленной ОС Windows XP в VirtualBox 4.1 из-под Ubuntu

Основные проблемы: как подружить VirtualBox с реальным разделом, как воевать с бесконечным циклом после acpitabl.dat, что делать с появляющимся BSOD с кодом 7b.



среда, 10 апреля 2013 г.

Отладка с помощью gdbserver с предустановкой переменных окружения

Отлаживал программку под gdbserver'ом. Программка подгружает при старте динамическую библиотеку из текущего каталога. В bash'е была установлена
LD_LIBRARY_PATH=. 
Gdbserver запускался под рутом, через sudo:
sudo gdbserver :<port-number> ./program_name <program args>
В таком виде программка переставала видеть, откуда загружать библиотеку при старте — вероятно, при выполнении sudo создавался новый сеанс интерпретатора с дефолтными переменными окружения.
Исправил благодаря этой доке:
sudo gdbserver --wrapper env LD_LIBRARY_PATH=/path/to/necessary/dir -- :<port-number> ./program_name <program args>