Jefim Borissov Житие мое

15Nov/067

[HOWTO] Non-latin shortcuts/hotkeys in linux (russian keyboard layout example)

[Update]

if you just need a fix for firefox russian shortcuts, go here: https://addons.mozilla.org/firefox/3529/

Если вы ищете патч/аддон для Firefox, то вам сюда: https://addons.mozilla.org/firefox/3529/ Спасибо за эту информацию max'у. Проверено - работает на отлично :)

[/Update]

Ok, there is this VERY annoying thing in linux - in some applications keyboard shortcuts just don't work. First of all - why? Ok, let's take russian layout for example - the shortcut for "Paste" is [ctrl]+v, right? In russian layout it is [ctrl]+м, so the application just doesn't get the command! And there is a workaround to fix it (BUT you will have to use an additional modifyer key to access shortcuts! (e.g. instead of [ctrl]+v you will need to press [ctrl]+[win]+v)).Basically, the idea of this workaround is very simple - use an additional modifyer, which will switch the keyboard layout to english while pressed, so that the shortcut will work. This is a two-step procedure.

How to setup this for russion keyboard layout:

1. (NB! There is an attached file, called "ru" - this is an updated version of the file, so feel free to download it and just replace your file) You have to edit/update the xkb file, that defines the russian layout. It is usually located in /etc/X11/xkb/symbols/ru (at least in Ubuntu). I am using Arch Linux - the location of this file is /usr/share/X11/xkb/symbols/ru. Open this file in your favourite text editor (you have to be superuser to edit this file, so do a sudo or just su) and find the following section:

xkb_symbols "basic" {

name[Group1]= "Russia";

key <AE01> { [ 1, exclam ] };
......
key <AB10> { [ slash, question ] };
key <LSGT> { [ slash, bar ] };

key.type[group1]="ALPHABETIC";

key <TLDE> { [ Cyrillic_io, Cyrillic_IO ] };
key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
.......
key <AB09> { [ Cyrillic_yu, Cyrillic_YU ] };

key.type[group1]="TWO_LEVEL";

// End alphanumeric section
};

Ok, now replace the whole section (beginning with xkb_symbols "basic" and ending with };) with the following:

xkb_symbols "basic" {

name[Group1]= "Russia";

key.type[group1]="FOUR_LEVEL_ALPHABETIC";

key <AE01> { [ 1, exclam, NoSymbol, NoSymbol ] };
key <AE02> { [ 2, quotedbl, NoSymbol, NoSymbol ] };
key <AE03> { [ 3, numbersign, NoSymbol, NoSymbol ] };
key <AE04> { [ 4, asterisk, NoSymbol, NoSymbol ] };
key <AE05> { [ 5, colon, NoSymbol, NoSymbol ] };
key <AE06> { [ 6, comma, NoSymbol, NoSymbol ] };
key <AE07> { [ 7, period, NoSymbol, NoSymbol ] };
key <AE08> { [ 8, semicolon, NoSymbol, NoSymbol ] };
key <AE09> { [ 9, parenleft, NoSymbol, NoSymbol ] };
key <AE10> { [ 0, parenright, NoSymbol, NoSymbol ] };
key <AE11> { [ minus, underscore, NoSymbol, NoSymbol ] };
key <AE12> { [ equal, plus, NoSymbol, NoSymbol ] };
key <BKSL> { [ backslash, bar, NoSymbol, NoSymbol ] };
key <AB10> { [ slash, question, NoSymbol, NoSymbol ] };
key <LSGT> { [ slash, bar, NoSymbol, NoSymbol ] };

key.type[group1]="FOUR_LEVEL_ALPHABETIC";

key <TLDE> { [ Cyrillic_io, Cyrillic_IO, NoSymbol, NoSymbol ] };
key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI, q, Q ] };
key <AD02> { [ Cyrillic_tse, Cyrillic_TSE, w, W ] };
key <AD03> { [ Cyrillic_u, Cyrillic_U, e, E ] };
key <AD04> { [ Cyrillic_ka, Cyrillic_KA, r, R ] };
key <AD05> { [ Cyrillic_ie, Cyrillic_IE, t, T ] };
key <AD06> { [ Cyrillic_en, Cyrillic_EN, y, Y ] };
key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE, u, U ] };
key <AD08> { [ Cyrillic_sha, Cyrillic_SHA, i, I ] };
key <AD09> { [ Cyrillic_shcha, Cyrillic_SHCHA, o, O ] };
key <AD10> { [ Cyrillic_ze, Cyrillic_ZE, p, P ] };
key <AD11> { [ Cyrillic_ha, Cyrillic_HA, NoSymbol, NoSymbol ] };
key <AD12> { [Cyrillic_hardsign,Cyrillic_HARDSIGN, NoSymbol, NoSymbol ] };
key <AC01> { [ Cyrillic_ef, Cyrillic_EF, a, A ] };
key <AC02> { [ Cyrillic_yeru, Cyrillic_YERU, s, S ] };
key <AC03> { [ Cyrillic_ve, Cyrillic_VE, d, D ] };
key <AC04> { [ Cyrillic_a, Cyrillic_A, f, F ] };
key <AC05> { [ Cyrillic_pe, Cyrillic_PE, g, G ] };
key <AC06> { [ Cyrillic_er, Cyrillic_ER, h, H ] };
key <AC07> { [ Cyrillic_o, Cyrillic_O, j, J ] };
key <AC08> { [ Cyrillic_el, Cyrillic_EL, k, K ] };
key <AC09> { [ Cyrillic_de, Cyrillic_DE, l, L ] };
key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE, NoSymbol, NoSymbol ] };
key <AC11> { [ Cyrillic_e, Cyrillic_E, NoSymbol, NoSymbol ] };
key <AB01> { [ Cyrillic_ya, Cyrillic_YA, z, Z ] };
key <AB02> { [ Cyrillic_che, Cyrillic_CHE, x, X ] };
key <AB03> { [ Cyrillic_es, Cyrillic_ES, c, C ] };
key <AB04> { [ Cyrillic_em, Cyrillic_EM, v, V ] };
key <AB05> { [ Cyrillic_i, Cyrillic_I, b, B ] };
key <AB06> { [ Cyrillic_te, Cyrillic_TE, n, N ] };
key <AB07> { [Cyrillic_softsign,Cyrillic_SOFTSIGN, m, M ] };
key <AB08> { [ Cyrillic_be, Cyrillic_BE, NoSymbol, NoSymbol ] };
key <AB09> { [ Cyrillic_yu, Cyrillic_YU, NoSymbol, NoSymbol ] };

key.type[group1]="FOUR_LEVEL_ALPHABETIC";

// End alphanumeric section
};

2. Ok! One step more and we're done. Now you need to add a third-level chooser in your xkb. If you are using KDE, then go to Control Center -> Regional & Accessibility -> Keyboard Layout -> Xkb Options. Check Enable xkb options if it is not checked and the Third level choosers section in the list, check the options you want and click Apply (I chose Press any of Win-keys to choose 3rd level). That should be it. You done! To test the thing open up Firefox, switch to russian layout and press [ctrl]+[win]+c to Copy and then [ctrl]+[win]+v to Paste.

I hope that this entry will be helpful to (at least) some people with non-latin layouts.

Updated “ru” file!

(Right-click the link, choose to save the file and remove the extension ;) )

Filed under: Linux 7 Comments
16Oct/060

A great HTML comparison tool for Linux!

Ok, I'm writing this post in english to make it international.

What it this post about?.. It's about a HTML/XML file comparison tool called rfcdiff. Why is it so great? Well there are several reasons:

1) It is free.

2) It generates very nice output.

3) It is easy to install and to use.

4) It is a Linux tool.

It took me about 5 minutes to install rfcdiff. The instructions:

1) Download rfcdiff script from it's site (it's a script, just right-click on the Current version link and save it anywhere you want.
2) sudo apt-get install diff wdiff (these are the requred packages)

3) chmod+x rfcdiff

4) Run rfcdiff by typing "./rfcdiff file1 file2" in terminal and open the output file with your favourite browser! That's all!

I'm sure - you won't be disappointed in this handy tool!

25Jul/060

Как надоело реинсталлить ацпи модуль для вифишки

Ну это уже ведь просто невозможно, товарищи, с каждым новым обновлением кернела приходится заново делать make install для acer_acpi модуля. а без него моя вифишка bcm-овская не пашет вообще. да и надоело уже беспроводные проблемы решать - то это не не так, то то не эдак... когда наконец будет нормальная поддержка вифи на лине? всякие сканеры типа WiFi Radar напоминают недоделанные страхолюдства. Про Network Manager я вообще молчу - лагает на каждом клике. Все говорят - "а драйверов нормальных нет!", а вот почему не сделают, например, гномики, нормальный фронтенд для тех, что работают?

Filed under: Linux No Comments
14Jul/0610

Windows Media Player 11 – "умная" инсталляция

Здрассте. Сегодня я пришёл в восторг от инсталляции WMP11. Собственно, один мой знакомый захотел сие себе на вынь, который, есстесственно не совсем легальный. "Ну что ж", - подумали мы, - "надо качать"... И с серьёзными намерениями потопали в секцию файлов на мягком сайте. Там никакого валидэйшна не спросили, а сразу же дали скачать. 23 Мб, однако. Запускаем - и тут, о ужас (!!) - инсталлер говорит, что у нас не валидная винда. "Всё", - подумали мы. Но вот дёрнул чёрт вспомнить, что там ВинРАР рвался этот инсталлер распаковать. Дай думаю, попробую. Может и получится чего? Ну ВинРАР вежливо спросил - "куды фигачить?" и я показал куды. Распаковал. Оказалось, что там внутрях 23 файла и 4 из них - исполняемые. Ну что ж, тем лучше для нас. Итак какой же запустить - umdf, wmdbexport, wmfdist11 или wmp11? Ну ясно, что umdf - это явно не то что надо. Ничего из имени не понятно. Проехали, попутно повесив на этот файл ф-цию проверки валидности винды. wmdbexport - ну это и ежу понятно, что нам не сюда. Экспорт WM базы нам не нужен. wmfdist11 - вот оно. Добрались, должно быть это и есть святая святых - великий инсталлер WMP11. Но есть ведь ещё и wmp11 - может это он инсталлер? "Ну и черт с вами", - подумали мы и запустили wmfdist11. В точку с первой попытки - начинается инсталлер. Что ж прекрасно. В конце нам предложили перезапустить комп (это для медиа-плеера-то!!!), но мы отказались твёрдо решив, что для полноты картины надо ещё и wmp11 заюзать. Зачем-то он ведь нужен? Не зря же у него такое гордое название? В общем запустили - и это тоже инсталлер. Но мы же ничего не читаем, а жмём Next постоянно, опэтому сказать чем первый отличался от второго невозможно ;) В общем этот тоже не ругался, а всё сделал хорошо и тоже предложил ребут. Ну ладно, мы согласились. И вот, ребут сделан. Наступает момент истины. Жмём на WMP11 и ... ... он запускается! Та-дааа! Работает нормально, т.е. инсталл прошёл успешно.

Вот такая вот у мелких защита на WMP11... а может они просто дали нам поблажку?..

Filed under: Microsoft 10 Comments
10Jul/061

Kool IM

Kool IM

Нашёл этот сайт - должен скащать, что очень удобно. Вкратце - это онлайн клиент для AIM, ICQ, MSN, Jabber, Yahoo и Google Talk. Заметил вот только, что с русским там проблемы. Показывает вопросиками. Но вообще, зачёт. Рекоммендую.

Blogged with Flock

Filed under: Assorted, Software 1 Comment
26Apr/0623

Random Freeze

Ubuntu Dapper Drake (6.06) introduces the new amazing Random Freeze® technology.

 

"Freeze anywhere, anytime!"

 

 

"Now, my laptop freezes almost anywhere - in cafes, bars, offices and even in toilets! Astonishing!" (happy Ubuntu user)

 

"I thought it was a joke, in the first place, but now I know, that it is possible all thanks to Ubuntu!" (another happy Ubuntu user)

 

"My server up-times have decreased 96% since I started using Ubuntu Dapper Drake with Random Freeze technology!" (system administrator)

 

"I think, that Random Freeze is the feature, that could bring a lot of new people into the Linux world." (Linux sales manager)

 

(In case no-one noticed - this post is full of sarcasm and that's because of the fact that I'm sick of random freezes in Ubuntu. I really love this distro and I use it every day, but facts are facts.)

 

 

Ok, since a lot of people come here searching for solutions, I will post mine. This solution is based on my own experience and I hope that it'll help some angry souls. The only thing you have to do is edit your xorg.conf file. The problem origin is in ATI proprietary drivers (fglrx) and if you don't use them then this solution is NOT for you.

Now, open up your /etc/X11/xorg.conf file as root and find your video card configuration section (btw, I hope you've backed up your xorg.conf ;) ) and replace that section with the following text (ATTENTION! Make sure that you don't change the 'Identifier' line - leave it as it was before! Otherwise X won't start!):

Section "Device"
#Leave the Identifier unchanged!
Identifier  "aticonfig-Device[0]"
Driver      "fglrx"
VendorName   "All"
BoardName    "All"
Option       "VBERestore" "on"
Option       "AddARGBGLXVisuals" "true"
Option       "locked-userpages=0"
Option       "no_accel" "no"
Option       "no_dri" "no"
Option       "DynamicClocks" "on"
Option       "mtrr" "on"
Option       "DesktopSetup" "Single"
Option       "ScreenOverlap" "0"
Option       "Capabilities" "0x00000000"
Option       "CapabilitiesEx" "0x00000000"
Option       "VideoOverlay" "on"
Option       "OpenGLOverlay" "off"
Option       "CenterMode" "off"
Option       "PseudoColorVisuals" "off"
Option       "Stereo" "off"
Option       "StereoSyncEnable" "1"
Option       "FSAAEnable" "no"
Option       "FSAAScale" "1"
Option       "FSAADisableGamma" "no"
Option       "FSAACustomizeMSPos" "no"
Option       "FSAAMSPosX0" "0.000000"
Option       "FSAAMSPosY0" "0.000000"
Option       "FSAAMSPosX1" "0.000000"
Option       "FSAAMSPosY1" "0.000000"
Option       "FSAAMSPosX2" "0.000000"
Option       "FSAAMSPosY2" "0.000000"
Option       "FSAAMSPosX3" "0.000000"
Option       "FSAAMSPosY3" "0.000000"
Option       "FSAAMSPosX4" "0.000000"
Option       "FSAAMSPosY4" "0.000000"
Option       "FSAAMSPosX5" "0.000000"
Option       "FSAAMSPosY5" "0.000000"
Option       "UseFastTLS" "0"
Option       "BlockSignalsOnLock" "on"
Option       "UseInternalAGPGART" "no"
Option       "ForceGenericCPU" "no"
Option       "KernelModuleParm" "agplock=0"
Option       "PowerState" "1"
BusID        "PCI:1:0:0"
EndSection

 Now restart your computer (orjust xorg) and the freezes should go away.

Filed under: Linux 23 Comments
19Apr/063

Microsoft SharePoint

13го апреля прошла открытая лекция про этого зверя (сабж). Должен сказать, что давольно интересный продукт от мелких. Правда мне он ни фига не нужен, но всё-таки, надо отдать должное Биллу - хорошо работают. Но это даже не главное что я хотел сказать - это всё второстепенное. Главное - это то, что я выиграл мышку для компа от Microsoft (дизайнер - Starck)

Microsoft Optical Mouse by Starck

Microsoft Optical Mouse by Starck

Вот такая красивая мышь теперь лежит у меня на толе и радует глаз :)

10Apr/066

Впечатления

Итак, решил написать о своих первых впечатлениях о лапе.

1. На лаптопе стоит WindowsXP x64 Edition - это, как я и предполагал, просто оптимизация под 64-битные процы. До этого я устанавливал 32-битную винду - разницы не заметил никакой (ну окромя надписи "x64 Edition" на буте). Хотя, говорят, что некий мега-ПИ тест 64-битные прогоняют в полтора раза быстрее что 32-битные. Ну и ладно.

2. До сих пор не могу найти игру, требовательную к ресурсам, чтобы попрессовать видюху. Как уже писал максимум в NFSU2 идёт спокойно. Хочу большего! Например NFSMW или TES: Oblivion. Но на безрыбье и рак рыба - завтра мне принесут F.E.A.R. Говорят, этот монстр сравним с TES'ом (хотя я не знаю...).

3. Второй и, на данный момент, основной осью является Ubuntu Dapper Drake 6.06 x64. Всё вполне прилично. Весь хардвер кроме wifi заработал сразу. С wifi пришлось повозиться. Пришлось даже скриптик самомумаленький написать:

rmmod bcm43xx;
modprobe ndiswrapper;
modprobe acer_acpi;
chmod 777 /proc/acpi/acer/wireless;
echo "enabled: 1" > /proc/acpi/acer/wireless;
dmesg | tail -n 6;
iwlist eth0 scan;

Зато теперь всё работает безотказно.

4. Уже около недели в голове сидит мысль: "А не поставить ли мне висту?". Пока что я отчаянно сопротивляюсь. Сам знаю что на хрен мне это чудо-юдо не надо, а всё равно хочу...

В итоге - лап настроен и находится в полностью рабочем состоянии. Я доволен.

 А теперь немного о жизни :)

В субботу мы выступали в Пылва. Просто атас! В 13:15 выехали из Таллинна. В 16:00 приехали в этот город-герой. Интерено стало с первых же минут пребыания - перед входом в дом культуры, где проводился фестиваль, на асфальте нами было замечено засохшее пятно крови диаметром около 5-7 см. Стало не по себе. Посмотрев на расписание мы поняли, что саундчек мы пропустили, но из-за того, что другая банда так и не приехала на саундчек, мы всё-таки смогли настроить всё что надо. Нас проводили в комнату для музыкантов (там даже дядька охранник стоял, чтобы посторонние люди не шлялись). Итак, положив инструменты и передохнув, мы осознали, что у нас ещё около пяти часов свободного времени до выступления. Да простят меня пылвасцы - это скучнейший город. Мы вышли на улицу примерно около пяти часов вечера - 50% прохожих, встреченных нами были пьяны. Сходили в консум (!!!) и купили поесть - это был ужин моей мечты - хреновый макароонисалат, марс и баунти. Буэх. Вернулись в культурный центр и я с Жориком стали играть в виселицу - со счётом 1:0 я победил (слово "хвощ" этому доказательство). Так мы убили час времени - больше сил играть у нас не было. В общем после долосрочного ничего-не-деланья подошло время выступать. На провели к сцене, обьявили и мы начала. На предпоследней песне электричество стало мало и Данина гитара стала периодически отключаться, причём в таких местах, как соло. После выступления мы сели в машину и поехали в наш прекрасный Таллинн (это было примерно в час ночи). Заехали в Тарту и поели МакДональдсовских наборов, т.к. жрать хотелось невыносимо. Достигли Таллинна в пол-пятого ночи и в пять я уже спал. В десять встал и в город. Голова трещала весь день - обидно, ведь ничего не пил... 

Filed under: Linux, Microsoft, Music 6 Comments
15Mar/061

Microsoft Redesigns iPod package

Отличное видео от мелкомягких!!!

Я много смеялся.

Filed under: Assorted, Microsoft 1 Comment
15Mar/060

DMN + Intranet

На данный момент классовая библиотека для проекта DMN (мой с братом CMS), включающий в себя Intranet, составляет ~3600 строк кода. Это при том учитывая, что Intranet сделан ещё процентов на 10%.

Это самый большой проект, который я когда-либо писал.