Горячие клавиши на Toshiba AC100 в Ubuntu

В Лубунте (Lubuntu), которой я недавно ставил на Тошибу жены, почему-то не настроены горячие клавиши, идущие на смартбуке верхним рядом. Написал конфиг для программы input-event-daemon, может пригодится кому-нибудь. Дополнительно нужно поставить пакеты xdotool и wmctrl, остальное уже в Лубунте есть:
[Global]
# следим за событиями клавиатуры
listen = /dev/input/event0
# События крышки
listen = /dev/input/event4

[Keys]
# уменьшение яркости
META + F6 = echo $((`cat /sys/class/backlight/pwm-backlight/brightness` - 10)) > /sys/class/backlight/pwm-backlight/brightness
# увеличение яркости
META + F7 = echo $((`cat /sys/class/backlight/pwm-backlight/brightness` + 10)) > /sys/class/backlight/pwm-backlight/brightness
# включение/отключение радиомодулей (вайфай, блютуз)
META + F8 = rfkill $(rfkill list | fgrep -q yes && echo un)block all
# включение/выключение звука
META + F12 = a=$(amixer sget Master|fgrep -q '[off]'&&echo un)mute; for m in Master Speaker Headphone; do amixer -q sset "$m" $a; done
# показать/скрыть рабочий стол
MENU = wmctrl -k $(wmctrl -m|fgrep -q OFF&&echo on||echo off)
# уменьшить громкость
META + F10 = v=$((`amixer get Master|awk -F[\[%] '/[0-9]+%/ {print $2; exit}'`-10)); [ $v -lt 0 ] && v=0;amixer set Master $v%
# увеличить громкость
META + F11 = v=$((`amixer get Master|awk -F[\[%] '/[0-9]+%/ {print $2; exit}'`+10)); [ $v -gt 100 ] && v=100;amixer set Master $v%
# клавиша поиска теперь вызывает искалку
SEARCH = catfish &
# скриншот экрана на рабочий стол
META + SYSRQ = scrot 'screen-%Y-%m-%d_%s.png' -e 'chown "'$SUDO_USER'" "$f"; mv "$f" "/home/'$SUDO_USER'/Desktop"'
# Клавиша Delete, как в Маке
META + BACKSPACE = xdotool key Delete

[Switches]
# Сброс звуковой карты на подъём крышки
LID:0 =  alsaucm -c tegraalc5632 reset
В качестве клавиши «Fn» выступает клавиша с «домиком», именно она опознаётся программой как «META». Последняя строка добавлена, что исправить глюк — у меня иногда после того, как устройство просыпается, звуковая плата из спячки не выходит.
23 комментария
22 декабря 2012 20:30

Ошибка в Lubuntu 12.10 на Toshiba AC100

Я сегодня Линукс Лубунту поставил на Тошибу ЭйСи100-116, которую для жены когда-то покупал. Всё получилось, хоть и не без скрипа (минут 20 на это ушло), но после обновления всех пакетов получил такую ошибку:
"Couldn't find android boot partition on /dev/mmcblk0" and /etc/initramfs/post-update.d//flash-kernel exited with return code 1
Расковырял пакет, который даёт эту ошибку и выяснил что ему нехватает утилиты abootimg, для того чтобы она появилась, нужно всего лишь установить пакет с тем же названием:
sudo apt-get install abootimg
И всё заработает.
11 комментариев
18 декабря 2012 17:47

Как заменить табы, используя sed

Утилита командной строки sed (это потоковый редактор), как-то неочевидно работает с символом табуляции (tab). Выражения «\t», «\x09», «\011» не срабатывают даже в расширенном режиме регулярных выражений (включается флагами „-r“ или „-E“, в зависимости от системы).

Я немного поэксперементировал, оказалось, что sed вполне воспринимает этот символ как таковой, а все «магические выражения» не работают. Поскольку «таб» имеет специальное значение в командной строке, ввести его можно либо через комбинацию Ctrl+V, tab, либо Ctrl+V, Ctrl+I. Во многих шеллах (например, в bash, ksh, sh) сработает специальный синтаксис с долларом, как в примере ниже.

Например, если вам надо заменить последовательные «табы» на один, то это может выглядеть вот так:
sed $'s/\t\t*/\t/g' sample.txt # именно \t\t*, а не \t+

# или

sed -E $'s/\t+/\t/g' sample.txt # в Линуксе ключ „-r“
Если вы знаете как в sed можно работать с tab проще, расскажите, пожалуйста, в комментариях.
7 комментариев
18 ноября 2011 08:57

Му!

bolk-dev ~ $ aptitude -v moo
There really are no Easter Eggs in this program.
bolk-dev ~ $ aptitude -vv moo
Didn't I already tell you that there are no Easter Eggs in this program?
bolk-dev ~ $ aptitude -vvv moo
Stop it!
bolk-dev ~ $ aptitude -vvvv moo
Okay, okay, if I give you an Easter Egg, will you go away?
bolk-dev ~ $ aptitude -vvvvv moo
All right, you win.

                               /----
                       -------/      
                      /               
                     /                |
   -----------------/                  --------
   ----------------------------------------------
bolk-dev ~ $ aptitude -vvvvvv moo
What is it?  It's an elephant being eaten by a snake, of course.
«Пасхальное яйцо» в aptitude.
6 комментариев
22 июня 2009 18:24

[Без заголовка]

Интересную статью обнаружил на просторах сети: "VRAM Storage Device - How to use the memory on GFX board in a different way". В статье показано как использовать лишнюю видеопамять под swap или как RAM-диск - я, буквально вчера, видел на Linux-сервере без GUI видеокарту с памятью 256Мб.

В статье показано как "откусить" у видеокарты память, которую она всё равно не использует. Я, для интереса, попробовал на нашем development-сервере (стоит S3 ViRGE/DX, 2Mb) откусить половину видеопамяти, по результатам опытов появилась несколько рекомендаций.

Во-первых, нельзя огульно верить всему, что написано в lscpi (см. статью). Если в результатах вывода написано о наличии региона некого размера, это ещё не значит, что на видеокарте именно столько памяти. Лучше посмотреть в лог X Window. Пример:
[root@hulk ~]# lspci -vv
...
02:01.0 VGA compatible controller: S3 Inc. ViRGE/DX or /GX (rev 01) (prog-if 00 [VGA])
        Subsystem: S3 Inc. ViRGE/DX
        ...
        Region 0: Memory at f4000000 (32-bit, non-prefetchable) [size=64M]
...
[root@hulk ~]# grep -i videoram /var/log/Xorg.0.log  
(--) S3VIRGE(0): videoram:  2048k

Во-вторых, лучше сделать modprobe и для остальных модулей, необходимых MTD для работы: mtdcore, mtdchar, mtdblock. Без этого, у нас на сервере, получить доступ к созданному устройству не получилось.

В остальном, всё работает замечательно:
[root@hulk ~]# cat /proc/swaps 
Filename                                Type            Size    Used    Priority
/dev/sda2                               partition       2096472 0       -1
/dev/mtdblock0                          partition       1016    0       0
1 комментарий
24 ноября 2006 19:00

[Без заголовка]

Уважаемые казанцы, знаете ли вы, что Казань - это не только столица республики Татарстан, но и маленький город в Слободском районе Кировской области.

Казань, Кировская область, Слободский район (10.98КиБ)
1 комментарий
25 октября 2004 19:00

[Без заголовка]

Прочитал статью "FreeBSD vs Linux: быстродействие файловых систем ". Самые интересные выводы:

Удивительно как с такой непроизводительной файловой системой freeBSD удерживает лидирующие позиции на рынке серверов? Из-за бóльшей надёжности? Но и во freeBSD немало уязвимостей. Из-за меньших проблем с настройкой? Достаточный ли это аргумент?
Комментировать
16 сентября 2004 19:00

[Без заголовка]

Кстати, занимаясь поиском интересных мидлетов, наткнулся на Floyd Telnet & SSH midlet и muTelnet midlet. Забавная штука. В принципе, через это можно выполнить какие-нибудь несложные действия - перезагрузить машину, обновить Apache и т.п.

Незамениная штука для приходящих администраторов. Впрочем, с PDA это делать, конечно, куда проще и удобнее, чем с сотового телефона.
Комментировать
26 августа 2004 19:00

[Без заголовка]

Я очень часто начинаю разрабатывать проект под Windows и заканчиваю - под Linux или freeBSD. Конечно, даже на уровне PHP, между этими группами операционных систем есть существенные различия. Обычно, они легко преодолеваются. В последнем проекте мне более всего не хватало функции link.

Поэкспериментировав с w32api и ffi, я понял, что этот путь - тупиковый. Побродив по поисковикам, я выяснил, что простейший выход - использовать в качестве заглушки утилиту fsutil из Windows XP. У неё есть параметр "hardlink create", позволяющий создавать ссылки.
if (PHP_OS == 'WINNT' && file_exists($_ENV['windir'].'\system32\fsutil.exe'))
{
	function link($target, $link)
	{
		$cmd = $_ENV['windir'].'\system32\fsutil.exe hardlink create';
		exec ($cmd.' "'.$link.'" "'.$target, $out, $ret);

		return !$ret;
	}
}
В случае, если вы будете использовать эту функцию в проекте, будьте осторожны - это всего лишь заглушка. Во-первых, одна ссылка создаётся примерно за 0.6 - 1сек, во-вторых, в ней нет проверки на наличие специальных символов в переменных $target и $link - если там попадётся кавычка, возникнет опасность внедрения вредоносного кода.
Комментировать
24 августа 2004 19:00

[Без заголовка]

Bug #29783 IMAP module problem.

Хозяйке на заметку: если под Linux RedHat у вас не собрался PHP с IMAP c-client, соберите его с модулем OpenSSL (ключ --open-ssl). Должно помочь. Удивляет то обстоятельство, что разработчики PHP явно знают как о существовании проблемы, так и методе её решения. Почему бы не написать об этом хоть где-нибудь?
Комментировать
24 августа 2004 19:00

[Без заголовка]

"Его пример - другим наука". Господа, если при попытки инсталляции модуля для Perl, вы встретите сообщение вида "Makefile:85: *** missing separator. Stop.", не отчаивайтесь, а посмотрите значение переменной LANG. Её значение должно быть "en_US". Скорее всего у вас там "UTF8", измените его на "en_US" (обычно "export LANG en_US") и попробуйте установить модуль ещё раз.
Комментировать
18 августа 2004 19:00

[Без заголовка]

Совет из недавно приобретённого мной опыта настройки Qmail+SMTP-AUTH+Vpopmail+MySQL:

Если в логах Qmail на попытку отправить письмо вы видите ошибку

"Sorry,_I_wasn't_able_to_establish_an_SMTP_connection._(#4.4.1)"

посмотрите - нет ли у вас файла "outgoungip" в controls qmail. Если есть, то скорее всего там стоит 127.0.0.1. Поменяйте его на внешний IP-адрес вашего сервера.
Комментировать
9 августа 2004 19:00