31 декабря 2010 г.

Matthew Ryan & Hammock - Like New Year's Day

Сказ о потерянных раскладках

Хочу рассказать я вам о некоторых проблемах, возникших при очередном обновлении ОС Gentoo Linux. Только две упомяну, остальные не столь интересны были - да и не упомнишь всего. Итак, начну с главного, а именно - с ядра операционной системы.


Далее в тексте упоминается одно из самых сильных и, вместе с тем, опасных заклинаний - команда su. Даёт эта команда нам власть над миром нашим, пусть и виртуальным. А большая власть - большой осторожности и ответственности требует.


1. Давно я собирался обновить систему на ноуте и на ПК. На дворе уж год две тысячи десятый заканчивается, а я всё со старым ядром 2.6.32 работаю... Не дело это. А тут ещё обновлений немеряно нашлось после очередного выполнения



> emerge --sync && eix-update && eix -uc


Посмотрел я на списки обновлений, посмотрел на версии новые, и решил - время пришло. Благо ноут есть, для опытов. Начал с него. Потом взялся за ПК. Настроил ядро новое, версии 2.6.36.


А на ПК у меня жёсткие диски именовались так:



hda1, hda2 .... hdaN


И не грузилась система с новым ядром. Видел я лишь сообщения об ошибках. Тогда стал искать причину, и нашлась она рядом - в файле /etc/fstab. В новом-то ядре жёсткие диски именуются, как


sda1, sda2 .... sdaN

Отсюда и ошибки при монтировании - нет устройств таких, что перечислены в fstab! Исправил я ошибку эту - заменил hda на sda. Загрузилась система, да не может всё равно примонтировать разделы c файловой системой ext4! А проблема известная, и решается она следующим образом:


http://www.nkuttler.de/post/filesystem-with-huge-files-cannot-be-mounted-read-write-without-config_lbdaf/

После этого система загрузилась благополучно.


Кстати, считаю нужным упомянуть здесь о интересном нововведении, а именно об опциональной возможности использования в ядре драйвера ФС ext4 для работы и со старыми версиями данной ФС - ext2 и ext3. Так как других ФС, кроме перечисленных, на ПК и на ноуте я не имею, решил испробовать данную возможность. Пока проблем не замечено.


2. Система загрузилась, только вот раскладку переключить не мог я. Сочетание клавиш Alt+CapsLock, мной для переключения раскладки назначенное, не работало. Что ни делал, ничего не помогало. И опции в /etc/X11/xorg.conf менял, и Иксы пересобирал... Долго ли, коротко ли - нашлось решение этой проблемы: с помощью сети Интернета выловил я информацию по проблеме моей. Сказано было: в новом xorg'e способ настройки изменился, теперь настройки клавиатуры, мыши, тачпада и прочих устройств внешних - всё должно храниться в файлах отдельных, в каталоге /etc/X11/xorg.conf.d/. А там - пусто, да и каталога этого и в помине нет... Как нет? Примеры настройки должны быть. Поищем, команда для этого есть специальная:



> su
> updatedb 
> locate xorg.conf.d


Что же это за строки таинственные? В первую очередь, права необходимые получаем. А во второй строке у нас обновление базы данных mlocate, индекса системы нашей. Тут все пути и все имена хранятся. А в третьей команде мы запрос к базе данных делаем, словно к зеркалу волшебному - и ответ получаем:



/usr/share/X11/xorg.conf.d
/usr/share/X11/xorg.conf.d/10-evdev.conf
/usr/share/X11/xorg.conf.d/50-wacom.conf


Знаем мы теперь, где примеры хранятся, и недалече это - всего на расстоянии одной команды консольной. Ну, теперь можно просто скопировать найденный каталог с файлами в /etc/X11/. Одна команда для этого нужна, и вот она:



> cp -r /usr/share/X11/xorg.conf.d /etc/X11/


Просто, да не всё это. Теперь пришло время перенести настройки клавиатуры нашей в новое место, в каталог /usr/share/X11/xorg.conf.d


Убираем лишние строки из /etc/X11/xorg.conf путём их комментирования с помощью "#" (в принципе, эти строки можно вообще удалить):



Section "ServerLayout"
...
#  InputDevice "Keyboard0" "CoreKeyboard"
  ...
EndSection
...
#Section "InputDevice"
#  Identifier "Keyboard0"
#  Driver "kbd"
#  Option "XkbLayout" "us,ru"
#  Option "XkbVariant" ",winkeys"
#  Option "XkbOptions" "grp:alt_caps_toggle"
#EndSection
...


А вот, что получилось в /etc/X11/xorg.conf.d/10-evdev.conf. Здесь со строки, знаком "#" начинающейся, иначе комметарием называемой, номер строчки добавленной указан - чтобы понятнее было:



...
Section "InputClass"
  Identifier "evdev keyboard catchall"
  MatchIsKeyboard "on"
  MatchDevicePath "/dev/input/event*"
  Driver "evdev" # 1
  Option "XkbLayout" "us,ru(winkeys)" # 2
  Option "XkbOptions" "grp:alt_caps_toggle" # 3
EndSection
...


Теперь бы и перезагрузиться нам, чтобы изменения в настройках эффект возымели - но зачем время тратить, рестарт системы производить? Лучше Иксы перезапустить, это проще и быстрее будет.


Иксы перезапускать - наука не сложная. Переключаемся на консоль - произносим заклинание и нажимаем на Ctrl+Alt+F1. Так попадаем мы на первую консоль. Снова получаем права суперпользователя, в простонаречии - root'a:



> su


И осталось лишь X-сервер перезапустить, чтобы увидеть результат действий наших - правильно ли мы настройки Иксов прописали?



> /etc/init.d/xdm restart

30 декабря 2010 г.

Транспортный коллапс в городе N^2

В городе N^2, в результате внезапной зимы, наступил транспортный коллапс (traffic jam), который продолжается до сих пор.

Как известно вблизи массивных объектов время идёт медленнее. Таким образом, на орбите планеты время идёт немного быстрее, нежели на поверхности Земли. Теперь я знаю ещё одно место, где время идёт иначе - это город N^2.  Здесь зимой на дорогах время идёт медленнее, особенно возле массивных сугробов, и поездка в один час легко может превратиться в поездку длиной в 2 часа.

Снежные харвестеры (harvester), курсируют по городу, сгребая снег в большие кучи, собирая его в одном месте и вываливая в другом. По стечению обстоятельств, больше всего снежных завалов наблюдается возле остановок общественного транспорта. Что касается общественного транспорта, то он перемещается по занесённым снегом дорогам вслед за  снегоуборочной техникой, попутно собирая замёрзших пешеходов из одних сугробов и высаживая их в другие сугробы.

Похоже, что к празднованию Нового Года природа подготовилась основательно, чего сложно сказать о городе N^2.

В общем, поздравляю всех с наступающим Новым Годом.

8 декабря 2010 г.

Записался на курсы в НИИТ

Записался на курсы в Нижегородский институт информационных технологий (НИИТ). 

http://nniit.ru/education_and_working_in_mera

Изучаю программирование на C и английский язык... много английского, даже больше, чем программирования. Сейчас на уровне Elementary нам преподают, как выразилась преподаватель, Mickey Mouse stuff. То есть, достаточно простой материал. Как оказалось, это как раз то, с чего мне и надо начинать. Да, я уже говорил, что там преподают много английского? Курсы состоят из двух этапов. В конце второго этапа предстоит подготовить проект, и защитить по нему презентацию на английском языке.

В субботу было первое занятие по английскому языку. Преподаватель много общается с нами по-английски. Быстро отвечать (да и вообще отвечать) на том же языке не так-то просто. Но изучать английский язык в группе, когда преподаёт действительно опытный человек - здорово.

В воскресенье, 5 декабря, ездил на курсы по программированию. Несмотря на 6 часов лекций, прерываемых лишь короткими перерывами, почти не устал. Преподаватель оказался отличным лектором, и похоже, что все последующие лекции обещают быть столь же интересными. Стоит заметить, что я чувствовал себя на первой лекции достаточно уверенно, т.к. уже знал кое-что из того, о чём шла речь (я изучал C++ самостоятельно, по книге Герберта Шильдта, "C++ для начинающих"). Готовлюсь к следующему занятию.