20 мая 2011 г.

Переключение раскладки клавиатуры в Linux под X window

На своем HTPC возникла проблема с переключением раскладки клавиатуры после того как был отключен оконный менеджер(LXDE) и происходил запуск непосредственно XBMC. Решением дааной проблеммы стала правка файла /etc/X11/xorg.conf и добавлением в секцию Section "InputDevice"(в которой описывается клавиатура) следующих строк:
  Option "XkbRules" "xorg"  
  Option "XkbLayout" "us,ru"  #необходимые языки
  Option "XkbVariant" ",winkeys"  #необходимая вариация раскладки для каждого языка(для us - стандартная, для ru - winkeys
  Option "XkbOptions" "grp:ctrl_shift_toggle" # переключение раскладки при помощи нажатия ctrl+shift

После рестарта X-ов раскладка все равно не переключалась а лог фал показал следующее:
.........
[ 141.694] (==) Using config file: "/etc/X11/xorg.conf"
[ 141.694] (==) Using config directory: "/etc/X11/xorg.conf.d"
..........
[ 141.697] (WW) AllowEmptyInput is on, devices using drivers 'kbd', 'mouse' or 'vmmouse' will be disabled.
...........
[ 150.835] (II) config/udev: Adding input device AT Translated Set 2 keyboard (/dev/input/event2)
[ 150.835] (**) AT Translated Set 2 keyboard: Applying InputClass "evdev keyboard catchall"
[ 150.835] (**) AT Translated Set 2 keyboard: Applying InputClass "LocalKeyboard"
[ 150.835] (**) AT Translated Set 2 keyboard: always reports core events
[ 150.835] (**) AT Translated Set 2 keyboard: Device: "/dev/input/event2"
[ 150.853] (II) AT Translated Set 2 keyboard: Found keys
[ 150.853] (II) AT Translated Set 2 keyboard: Configuring as keyboard
[ 150.853] (II) XINPUT: Adding extended input device "AT Translated Set 2 keyboard" (type: KEYBOARD)
[ 150.853] (**) Option "xkb_rules" "evdev"
[ 150.854] (**) Option "xkb_model" "evdev"
[ 150.854] (**) Option "xkb_layout" "us"
[ 151.018] (II) XKB: reuse xkmfile /tmp/server-A9ACCDF38EB1446AC7992CE0B930842F0AD908B1.xkm
.............
Данный лог навел на мыслль, что правила для клавиатуры не загружаются из xorg.conf, а беруться из других конфигурационных файлов в папке /etc/X11/xorg.conf.d . Просмотрев  данную папку был найден файл 90-keytable.conf , куда и были продублированы необходимые настройки клавиатуры из xorg.conf, в результате чего он обрел следующий вид:
Section "InputClass"
Identifier "LocalKeyboard"
MatchIsKeyboard "on"
Option "XkbLayout" "us,ru"
Option "XkbVariant" ",winkeys"
Option "XkbOptions" "grp:ctrl_shift_toggle"
EndSection

Всевозможные варианты layout, variant, option для клавиатуры можно посмотреть в файле /usr/share/X11/xkb/rules/base.lst

7 мая 2011 г.

Google chrome следит за вами

Разбираясь как то раз с гляками в работе проекта наткнулся в логах apache на записи гугл бота к закрытой части сайта(без аутентификации туда никого не пускает) - на что был дан ответ 302 :
crawl-66-249-71-46.googlebot.com - - [04/May/2011:12:58:33 +0700] "GET /xxxxx HTTP/1.1" 302 20 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
Поиск по логам показал - за день до этого был доступ к данной странице из chrome:
inetIP - - [03/May/2011:09:28:37 +0700] "GET /admin/xxxxx HTTP/1.1" 302 20 "http://blabla.ru/admin/yyyyyy" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16"
Соответственно гугл может получить любую информацию о вас при серфинге по закрытым страницам интернета(соотв может в том же вконтакте снять инфу, которая закрыта от других, прочитать инфу на странице интернет-банкинга ну и т.д.) если вы получаете доступ к ним при помощи google chrome. Будте бдительны!!!!

Удаление файлов по маске в linux

Как то раз пришлось отчистить рабочий проект от файлов subversion(.svn). Результат был подсмотрен в чьем-то ЖЖ: данное действие можно сделать при помощи команд find и rm
>find . -name '.svn' -exec rm -R -f '{}' \;
в результате были удалены все найденные .svn