Tuesday, March 26, 2013

Как настроить русскую раскладку клавиатуры в Lubuntu

Введение
Я очень долго сидел на оригинальной Ubuntu  и тот факт, что переключение раскладки с латиницы на русский в Lubuntu 12.10 не работает был для меня шоком. (До того, что были идеи завязать с opensource-ными осями). В итоге, когда гнев остыл, я провел целые выходные за настройкой Lubuntu. Мои изыскания легли в основу этого поста.

Описание проблемы
Как я понял, переключение раскладок клавиатур не работает не только для русского, для других языков тоже. И это не фича, а самый настоящий баг. Поставляемая с дистрибутивом Lubuntu утилита  Lxkeymap позволяет настроить раскладку, но она будет работать до первой перезагрузки.
Вариант запуск по шагового мастера настройки приведет к такому же варианту:
#: sudo dpkg-reconfigure console-data
Если выдаст что не может найти программу, то надо установить
#: sudo apt-get install console-data

Как можно настроить переключение клавиатуры на русскую раскладку
Имеются два одинаково работающих варианта с переключением раскладок с русского на английский при помощи сочетания [Ctrl]+[Schift]:
#: setxkbmap -option grp:switch,grp:ctrl_shift_toggle,grp_led:num us,ru
#: setxkbmap -layout "us,ru" -variant "," -option "grp:ctrl_shift_toggle"

Вы можете установить другие настройки

grp:toggleпереключение правым Alt
grp:shifts_toggleдвумя клавишами shift
grp:ctrl_shift_togglectrl+shift
grp:alt_shift_togglealt+shift
grp:ctrl_alt_togglectrl+alt
grp:caps_toggleпереключение по CapsLock
grp:lwin_toggleпереключение по левой "Win" клавише на Windows клавиатуре (для X Window старше 4.2);
grp:rwin_toggleпереключение по правой "Win" клавише на Windows клавиатуре (для X Window старше 4.2)
grp:menu_toggleпереключение по клавише "Контекстное меню" на Windows клавиатуре (для X Window старше 4.2)
grp:lctrl_toggleпереключение по левой клавише Control
grp:rctrl_toggleпереключение по правой клавише Control
grp:switchпереключение по правому Alt только на момент нажатия
grp:lwin_switchпереключение по левой клавише Windows только на момент нажатия
grp:rwin_switchпереключение по правой клавише Windows только на момент нажатия
grp:win_switchпереключение по любой клавише Windows только на момент нажатия

Теперь чтобы не выполнять эти команды в ручную каждый раз после загрузки необходимо их добавить в скрипт который будет автоматически выполняться при загрузки LXDE.
Для этого я создал файл /home/nick/.rukeyboard.sh
Скопировал в него одну из команд и сделал его исполняемым:
#: chmod +x /home/nick/.rukeyboard.sh

После этого в папке /home/nick/.config создал папку autostart и в ней создал файл auto.desktop со следующим содержанием:
[Desktop Entry]
Encoding=UTF-8
Name= CustomKBfix
Comment=Fix russion keyboard
Exec=lxterminal --command "/home/nick/.rukeyboard.sh"
Terminal=true
Теперь после перезагрузки переключение раскладок клавиатуры работает.
Файлы с расширением .desktop  в папке autostart можно использовать для любых других задач требующих выполнения после загрузки LXDE.

Ссылки:
http://ru.gentoo-wiki.com/wiki/XkbOptions
http://linux.koolsolutions.com/2009/09/01/howto-auto-launch-programsscripts-on-lxde-startup/

Update:
Опытным путем было установлено, что переключение кодировок можно задать через аплет Keyboard layout handler (который предварительно нужно добавить на панель рабочего стола).

Sunday, March 24, 2013

Готовим Lubuntu к работе

Lubuntu - вариант дистрибутива ubuntu с lxde по умолчанию, быстрый  и мало требовательный к ресурсам.

Ставим сторонний софт
Необходимо установить полезный, но в тоже время трудно доступный в ubuntu, софт из сторонних источников.
Установим flash, java, аудио- и видео-кодеки:
#: sudo apt-get install ubuntu-restricted-extras

Ставим софт который пригодится вебразработчику node.js + sublime text2:
#: sudo add-apt-repository ppa:chris-lea/node.js 
#: sudo add-apt-repository ppa:webupd8team/sublime-text-2

#: sudo apt-get update

#: sudo apt-get install nodejs
#: sudo apt-get install sublime-text

Теперь установим Skype
#: sudo add-apt-repository "deb http://archive.canonical.com/ $(lsb_release -sc) partner"
#: sudo apt-get update
#: sudo apt-get install skype

Установка Opera
#: wget -O - http://deb.opera.com/archive.key | sudo apt-key add -
Запустив эту команду необходимо вести пароль! (просьбы вы не увидите, надо жать)
Терминал выполнит скачивание archive.key (wget …) и передаст его программе apt-key, которая по требует root доступа (sudo). Значит нужно ввести ваш пароль. Несмотря на то, что вы нажимаете клавиши на клавиатуре, символы не появляются в терминале (даже звёздочки) — это нормально.  В конце должно появится сообщение содержащее "Ok".
#: sudo sh -c 'echo "deb http://deb.opera.com/opera/ stable non-free" >> /etc/apt/sources.list.d/opera.list'
#: sudo apt-get update
#: sudo apt-get install opera

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

Saturday, March 23, 2013

Откат ubuntu на предыдущую версию ядра

Краткое введение
Так получилось, что после более чем полутора лет благополучной эксплуатации ubuntu, система перестала функционировать в один момент. Я получил и установил новое обновление ядра. Система начала сыпать сообщения о системных ошибках, просто зависать на каждый чих, и т. п.
Проблема была 100% с обновленным ядром. Это я понял потому что, провел ряд экспериментов:

  • Установил Ubuntu 12.10 (До этого была 12.04). После установки пачки обновлений с ядром система снова продолжила падать; 
  • Установил Lubuntu 12.10 (Те же действия с моей стороны и тот же результат). 

Устав перебирать дистрибутивы, я полез в google искать как избавится от нового ядра. Так как с проблемой восстановления предыдущего ядра ubuntu я никогда не сталкивался, то решил оставить заметки на будущее.

Как узнать текущую версию ядра?
#: uname -a
(Окно терминала можно вызвать сочетанием клавиш [Ctrl]+[Alt]+[T])

Как при загрузке Ubuntu выбрать другое ядро для загрузки?
При загрузке системы зажать клавишу [Schift]. Откроется диалог выбора варианта загрузки в котором можно выбрать необходимое ядро.
Подробнее о настройке grub в ubuntu

Как удалить лишнее ядро в ubuntu?
Если удаляемое ядро дефолтное в системе, то предыдущее ядро linux занимает его место.
#: sudo apt-get purge purge linux-image-3.5.0-26-generic
Версию ядра надо поменять на то которое надо удалить

Какие версии ядер имеются?
Смотрите в папке /boot/