пятница, 21 мая 2010 г.

Создание собственной раскладки клавиатуры

Как и многие наверное в Украине, я использую три клавиатурные раскладки: Английскую, Русскую и Украинскую. Украинскую я использую реже всего, но иногда надо. Каждый раз ее устанавливать, когда она нужна, немного напрягает, так же, как напрягает необходимость скакать пальцами по клавиатуре как конь при частом переключении раскладок. Среди украинских раскладок есть одна очень интересная, которая в прошлом дистрибутиве называлась Ukrainian unicode (сейчас просто "Украинская"). Ее особенность в том, что в ней зашиты как русские буква типа "Ы", так и украинские типа "І", но проблема в том, что по умолчанию используются украинские буквы и нужно нажимать клавишу-модификатор, чтобы ввести русскую, а для таких русскоязычных украинцев как я нужно как раз наоборот.

Итак, ближе к делу.

Все раскладки в Ubuntu хранятся в директории /usr/share/X11/xkb/symbols/, в частности все украинские раскладки хранятся в файле /usr/share/X11/xkb/symbols/ua.

Сначала создаем резервную копию этого файла:

cd /usr/share/X11/xkb/symbols/ && sudo cp ua ua.bak



Затем открываем этот файл для редактирования:

sudo gedit ua

При просмотре файла ua можно достаточно быстро разобраться что именно нужно менять.

Берем ту раскладку, которая ближе всего к тому, что нам надо, например Ukraine - Winkeys

Вот часть кода, отвечающая за нее:

partial alphanumeric_keys
xkb_symbols "winkeys" {
include "ua(basic)"

name[Group1]= "Ukraine - Winkeys";

key <ae03> { [ 3, numerosign ] };
key <ae04> { [ 4, semicolon ] };
key <ae05> { [ 5, percent ] };
key <ae06> { [ 6, colon ] };
key <ae07> { [ 7, question ] };
key <ae08> { [ 8, asterisk ] };
key <ab10> { [ period, comma ] };
};


Копируем эту часть в конец файла и редактируем:

Вместо include "ua(basic) вставляем include "ua(winkeys)", чтобы в качестве основы использовалась именно раскладка winkeys.

name[Group1]= "Ukraine - Winkeys"; заменяем на name[Group1]= "Ukraine - My key list";, то есть пишем имя раскладки, под которым она будет видна в меню выбора раскладок в Gnome.

И дальше редактируем по собственному усмотрению непосредственно строчки key меняя назначение клавиш.

Кроме добавления русских и украинских букв в одну раскладку можно сделать так, чтобы такие символы как # и , не прыгали при переключении с кириллической раскладки на английскую, что очень удобно при наборе программного кода (для этого конечно придется изменить и английскую раскладку тоже).

Вот например как выглядит моя русско-украинская раскладка:


// my layout
partial alphanumeric_keys
xkb_symbols "ua_my" {
include "ua(winkeys)"
include "level3(ralt_switch)"

name[Group1]= "Ukraine - Моя раскладка";

key <tlde> { [ apostrophe, U2019, U0301, asciitilde ] }; // Apostrophe and Stress symbol
key <ae01> { [ 1, exclam, ampersand ] };
key <ae02> { [ 2, quotedbl, twosuperior, at ] };
key <ae03> { [ 3, numbersign, percent, numerosign ] }; // Paragraph and Hryvnia sign
key <ae04> { [ 4, semicolon, EuroSign ] };
key <ae05> { [ 5, colon, degree ] };
key <ae06> { [ 6, asciicircum, less ] };
key <ae07> { [ 7, question, greater ] };
key <ae08> { [ 8, asterisk, dollar ] };
key <ae09> { [ 9, parenleft, bracketleft, braceleft ] };
key <ae10> { [ 0, parenright, bracketright, braceright] };
key <ae11> { [ minus, underscore, emdash, endash ] };
key <ae12> { [ equal, plus, U2248, plusminus ] };

key <ad03> { [ Cyrillic_u, Cyrillic_U, Byelorussian_shortu, Byelorussian_SHORTU ]};
key <ad04> { [ Cyrillic_ka, Cyrillic_KA, registered ] }; // Registered tm
key <ad05> { [ Cyrillic_ie, Cyrillic_IE, Cyrillic_io, Cyrillic_IO ] };
key <ad12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, Ukrainian_yi,Ukrainian_YI ] };
key <ac02> { [ Cyrillic_yeru, Cyrillic_YERU, Ukrainian_i, Ukrainian_I ] };
key <ac11> { [ Cyrillic_e, Cyrillic_E, Ukrainian_ie,Ukrainian_IE ] };

key <bksl> { [ backslash, bar, Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] };

key <ab03> { [ Cyrillic_es, Cyrillic_ES, copyright ] };
key <ab06> { [ Cyrillic_te, Cyrillic_TE, trademark ] };
key <ab08> { [ Cyrillic_be, Cyrillic_BE, guillemotleft, doublelowquotemark ] };
key <ab09> { [ Cyrillic_yu, Cyrillic_YU, guillemotright, leftdoublequotemark ] };
key <ab10> { [ period, comma, slash, ellipsis ] };
};



Вы конечно можете придумать что-то еще интереснее.

Далее нужно указать системе, что появилась еще одна раскладка, а именно прописать ее в файле

/usr/share/X11/xkb/rules/evdev.xml

Снова создаем резервную копию файла:

cd /usr/share/X11/xkb/rules/
sudo cp evdev.xml evdev.bak


Открываем его для редактирования:

sudo gedit evdev.xml

и вставляем в разделе после


<layout>
<configitem>
<name>ua</name>
<shortdescription>Ukr</shortdescription>
<description>Ukraine</description>
<languagelist><iso639id>ukr</iso639id></languagelist>
</configitem>


вот такой текст:

<variant>
<configitem>
<name>ua_my</name>
<description>Ukraine - My key list</description>
</configitem>
</variant>


Сохраняем файл.

После этого заходим в меню Система-Параметры-Клавиатура и добавляем новую раскладку к активным.

Теперь можно пользоваться двумя раскладкам вместо трех.

P.S. Внимательно следите за пунктуацией в файле раскладок, одна лишняя запятая без параметра не даст вам использовать раскладку!

UPDATE После очередного обновления опять слетела раскладка. Попытался восстановить ее по собственной инструкции и что-то не заладилось - раскладку упорно отказывалась отображаться в списке доступных. Тогда я не мудрствуя лукаво просто изменил непосредственно украинскую раскладку используемую по-умолчанию: все сразу заработало как надо!

пятница, 14 мая 2010 г.

Репозитории Ubuntu 10.04 Lucid Lynx 2

Дописываю про обещанные дополнительные репозитории для Ubuntu 10.04 Lucid Lynx.

Начну с самых больших:

7. GetDeb/PlayDeb

Использование пакетов с GetDeb может быть полезно, если понадобятся самые последние версии приложений. Некоторые пакеты программного обеспечения еще не успели попасть в основные репозитории главным образом из-за проблем со стабильностью. Использование последних версий приложений конечно сопряжено с некоторыми трудностями. Как правило, лучше попытаться загрузить приложения Ubuntu из основных репозиториев, так как хранящиеся там версии были протестированы на стабильность системы. Новые же версии приложений, которые не были испытаны на большое количестве систем могут иметь серьезные ошибки. Некоторые из этих приложений следует рассматривать как "бета" или даже "альфа" программного обеспечения.

#GetDeb
deb http://archive.getdeb.net/ubuntu lucid-getdeb apps

#PlayDeb
deb http://archive.getdeb.net/ubuntu lucid-getdeb games

8. Альтернативой установке новых версий пакетов из GetDeb может быть использование приложений разрабатывемых для нового релиза Ubuntu и портированные на предыдущую, но стабильность системы также никто не гарантирует.

deb http://mirror.yandex.ru/ubuntu/ lucid-backports main restricted universe multiverse
deb http://archive.canonical.com/ubuntu/ lucid-backports partner


9. Miserware - специальный репозиторий программного обеспечения для уменьшения энергопотребления вашего компьютера без снижения производительности

#Miserware
deb https://download.miserware.com/linux/deb lucid main


10. Ubuntu Tweak - приложение для облегчения настройки Ubuntu

#Ubuntu Tweak
deb http://ppa.launchpad.net/tualatrix/ppa/ubuntu lucid main


11. Специальный репозиторий для математиков

#Maths
deb http://ppa.launchpad.net/lopeztobal/maths/ubuntu lucid main


как и ранее добавляем новые репозитории в sources.list, сохраняем,

и добавляем ключи для новых репозиториев:

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 69755F70D8D6D0C4 36FCD7AE11A8389C A8A515F046D7E7CF

после чего обновляем систему:

sudo aptitude update && sudo aptitude full-upgrade


Если у вас возникнут ошибки вроде

Следующие подписи не могут быть проверены, так как недоступен открытый ключ: NO_PUBKEY ХХХХХХХХХХХХХ

то нужно выполнить команду

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com ХХХХХХХХХХХХХ

подставив вместо ХХХХХХХХХХХХХ нужный номер.

Литература для дополнительного чтения


В одном из следующих сообщений я напишу как добавить Amarok 1.4 в Ubuntu 10.04 Lucid Lynx

четверг, 13 мая 2010 г.

Репозитории Ubuntu 10.04 Lucid Lynx

ubuntu logo
Несколько месяцев назад я рассказывал про то, как добавить дополнительные репозитории для Ubuntu 9.10 Karmic Koala, теперь настал черед Lucid Lynx.

Много изменилось за эти несколько месяцев: появились возможности подключения новых репозиториев, в свою очередь, необходимость в некоторых других отпала.

Итак, как обычно, редактируем файл sources.list

Сначала лучше создать резервную копию этого файла:

sudo cp /etc/apt/sources.list /etc/apt/sources.bak

Теперь радактируем сам файл:

sudo gedit /etc/apt/sources.list

Его проще записать заново. Удаляем содержимое файла и добавляем новые строки:

1. Добавляем обычный набор репозиториев Ubuntu

deb http://archive.ubuntu.com/ubuntu/ lucid main restricted multiverse universe
deb http://archive.ubuntu.com/ubuntu/ lucid-updates main restricted multiverse universe
deb http://security.ubuntu.com/ubuntu lucid-security main restricted universe multiverse


2. Далее добавляем репозитории коммерческих приложений, поддерживаемый Canonical:

deb http://archive.canonical.com/ubuntu lucid partner
deb http://archive.canonical.com/ubuntu lucid-updates partner
deb http://archive.canonical.com/ubuntu lucid-security partner


3. Репозиторий Medibuntu (мультимедиа, развлечения в Ubuntu) - хранилище пакетов, которые не могут быть включены в состав дистрибутива Ubuntu по юридическим причинам (авторские права, лицензии, патенты и т.д.).

deb http://packages.medibuntu.org/ lucid free non-free


4. Репозиторий Google (содержит Picasa 3, Google-Desktop, Google Chrome и Google Earth)

deb http://dl.google.com/linux/deb/ stable non-free main

Этот набор репозиториев условно можно назвать абсолютно необходимым. Теперь по желанию можно добавить и другие, содержащие также часто необходимые приложения.


5. Репозиторий браузера Opera

deb http://deb.opera.com/opera/ lenny non-free


6. Skype (с недавних пор Skype исключили из репозитория Medibuntu).

deb http://download.skype.com/linux/repos/debian/ stable non-free


Репозиторий для Chromium подключать не обязательно, поскольку вышел Google Chrome для Linux.
Network-manager уже вполне успешно справляется со своими обязанностями и его уже не обязательно заменять на wicd, как это было для Karmic Koala.

Теперь сохраняем полученный файл. 

Добавляем ключи для новых репозиториев:

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com F9A2F76A9D1A0061 A040830F7FAC5991 2EBC26B60C5A2783

И обновляем систему:

sudo aptitude update && sudo aptitude full-upgrade


О других очень полезных репозиториях Ubuntu  обязательно расскажу в следующий раз.

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

Установка Ubuntu 10.04 Lucid Lynx




Ubuntu 10.04 Lucid Lynx
Ubuntu 10.04 Lucid Lynx

Вышел долгожданный релиз Ubuntu 10.04 Lucid Lynx - решил обновится. Тут на меня и напали эти самые "неприятности". Обновляться напрямую через интернет мне не хотелось, так как собирался обновить операционную систему на двух компьютерах, поэтому просто скачал iso образ свежего релиза. Далее попробовал обновиться так, как сам когда-то описывал через монтирование iso в качестве виртуального CD. Но не тут-то было. Система упорно отказывалась обновляться из скачанного образа. Не захотела обновляться и с установочного диска alternate. Обновление удалось запустить лишь по команде gksu "sh /cdrom/cdromupgrade", программа обновления спросила хочу ли я скачать сразу свежие обновления из интернета и я честно ответил, что не хочу, но... Программа обновления очень долго (час или два) тужилась пока наконец не выдала, что не может скачать что-то из интернета (!) и закрылась. Я был в шоке. Плюнул, закатал iso-образ на пылившуюся где-то болванку CD-RW и запустил уже не обновление, а установку с диска. Далее самым "сложным" было просто еще раз указать, что я хочу задать разметку жесткого диска вручную, а именно оставить текущую разметку. Если вы также как и я разметили жесткий диск так, что домашняя директория /home находится на отдельном разделе, то можно лишь отформатировать раздел куда монтируется "корень" и обязательно проследить, чтобы не был отформатирован раздел с домашней директорией, после этого очень быстро и без лишних вопросов проходит установка и "вуаля": у нас обновленная операционная система с сохраненными данными и параметрами программ, которые хранятся в домашней директории.

Популярные сообщения