Поиск по блогу :

    4 мая 2008 г.

    Проблема с переключением раскладки клавиатуры в Ubuntu 8.04

    С переходом на версию Ubuntu 8.04 я первым делом столкнулся с весьма досадным багом, который заключался в следующем. Например я, люблю в убунте переключаться между языками с помощью клавиши CapsLock, кто-то любит сочетание Ctrl+Shift, в отличии от стандартного сочетания клавиш Alt+Shift, поэтому первым делом я зашел в 'Система'->'Параметры'->'Клавиатура'->'Раскладки' и выставил себе свое любимое сочетание. Все применилось, я нормально продолжал работать, пока не перезагрузил компьютер. После перезагрузки мое сочетание не работало и так происходило каждый раз, сколько бы я не менял раскладку в настройках.

    Посмотрев файл xorg.conf, я с досадой обнаружил, что настройки клавиатуры, после изменения, не сохраняются в этом файле. Я попробовал прописать их сюда вручную, но сочетание начинало работать только в том случае, если в настройках клавиатуры была убрана галочка с пункта 'Отдельная раскладка для каждого окна'. Ясно дело, этот способ меня не у строил, поэтому пришлось поискать более приемлимый вариант.
    Ниже приведенный способ, сложно назвать решением проблемы, скорее всего это смахивает на костыль, но что поделать, придется пока довольствоваться им, пока не выпустят исправление к столь досадному багу.
    В статье описывается комбинация клавиш Ctrl+Shift, ваша задача подставлять свои данные.

    Исправление бага

    1. Первым делом идем и выставляем в настройках 'Раскладки' нужную нам комбинацию клавиш, ну и попутно все остальное.
    2. Теперь в терминале пишем:
    $
    xprop -root | grep XKB

    На выводе мы видим примерно следующее:
    _XKB_RULES_NAMES_BACKUP(STRING) = "xorg", "pc105", "us", "grp:alt_shift_toggle"
    _XKB_RULES_NAMES(STRING) = "xorg", "pc105", "us,ru", ",winkeys", "grp:ctrl_shift_toggle,grp_led:scroll"

    _XKB_RULES_NAMES_BACKUP - это данные из файла /etc/X11/xorg.conf;
    _XKB_RULES_NAMES - это данные из текущей сессии, в которой вы работаете. Нам потребуется именно эта строка.
    3. Открываем для редактирования файл /etc/X11/xorg.conf
    $
    sudo nano /etc/X11/xorg.conf

    4. Ищем секцию Section "InputDevice" где описывается клавиатура.
    И меняем ее в соответствии с данными полученными из строки _XKB_RULES_NAMES. В итоге должно получиться что-то вроде этого:
    Section "InputDevice"
    Identifier "Generic Keyboard"
    Driver "Keyboard"
    Option "CoreKeyboard"
    Option "XkbRules" "xorg"
    Option "XkbModel" "pc105"
    Option "XkbVariant" ",winkeys"
    Option "XkbLayout" "us,ru"
    Option "XkbOptions" "grp:ctrl_shift_toggle,grp_led:scroll"
    EndSection
    Не забудьте поменять значение параметра 'Driver' с kbd на Keyboard - иначе ничего не выйдет.
    5. Перезагружаемся.
    Если все правильно сделано, то переключение раскладки будет работать так, как вам нужно :)

    3 мая 2008 г.

    Настройка VPN в Ubuntu

    Не думал писать эту статью, но так как в Ubuntu 8.04, так нормально и не сделали Network Manager при работе в сети со статическими IP адресами, то все таки опишу, как я вручную настраиваю у себя подключение к VPN.



    Настройка с помощью Network Manager'а

    Как бы там ни было, но все таки опиши настройку впн с помощью network-manager'а. Эта настройка вполне подойдет тем, у кого в подключении к сети используется автоматическое получение IP адреса с помощью DHCP.
    1. Устанавливаем два необходимых нам пакета:
    #

    Так как этих пакетов по умолчанию нет на диске с убунтой, а впн часто приходится настраивать на машине, у которой больше нет другого выхода в интернет, то советую заранее припастись этими пакетами с официального репозитория. Для этого заходим на сайт http://packages.ubuntu.com/, там ищем два эти пакета, закачиваем их и в дальнейшем устанавливаем на нужной нам машине.
    2. Если в аплете Network Manager не появился пункт "VPN соединения"(VPN Connections) или он не будет открываться, то надо перелогиниться или даже лучше - перезагрузиться.
    3. Нажимаем левой клавишей мыши (по правой кнопке вызывается другое меню) по значку Network Manager'а и в выпавшем меню выбираем "VPN соединения" - "Настройка VPN"(Configure VPN). Добавляем новое соединение и выставляем все нужные опции для этого соединения.
    4. После этого, ваше соединение должно появиться в меню "VPN соединения", если оно вдруг не появилось - перелогиньтесь или перезагрузитесь (ну что я могу поделать, на столько, все еще, сырой этот network-manager :( ).
    5. Все теперь можете подключаться к созданному вами впн соединению (а также и отключаться, выбрав пункт меню в Network Manager'е).

    Ручная настройка

    Дальше я описываю настройку для своего соединения, ваша настройка должна отличаться вводимыми данными, а также может отличаться вводимыми параметрами.
    1. Устанавливаем пакет pptp-linux:
    #
    apt-get install pptp-linux

    Как я уже описывал выше в разделе установки с помощью network-manager'а, впн часто приходится настраивать на машине, у которой больше нет другого выхода в интернет, поэтому советую заранее припастись этим пакетом с официального репозитория http://packages.ubuntu.com/.
    2. Редактируем файл options.pptp:
    #
    nano /etc/ppp/options.pptp

    Вставляем туда следующие строки:
    lock
    noauth
    nobsdcomp
    nodeflate
    persist
    Не буду описывать каждый из параметров, опишу лишь некоторые:
    persist - этот парметр пытается по новой открыть соединение, когда оно закрывается;
    nodeflate - не использовать deflate сжатие (хотя говорят с ним работает быстрее, не знаю - не проверял).
    Также, если у вас в соединении используется шифрование, то добавляем одну из строк, в зависимости от типа шифрования - require-mschap-v2, require-mppe-40, require-mppe-128, require-mppe.
    3. Создаем файл подключения /etc/ppp/peers/vpn (название vpn можете заменить на любое другое, но если замените, не забывайте менять его дальше в этой статье)
    #
    nano /etc/ppp/peers/vpn

    Вставляем туда следующие строки:
    maxfail 0
    lcp-echo-interval 60
    lcp-echo-failure 4
    defaultroute
    pty "pptp vpn.ava.net.ua --nolaunchpppd"
    name sukochev
    remotename PPTP
    +chap
    file /etc/ppp/options.pptp
    ipparam vpn
    Внимание!!! Обязательно замените следующие опции на ваши:
    Вместо vpn.ava.net.ua впишите адрес вашего впн сервера (можно использовать IP сервера). Вместо sukochev вставляете ваш логин подключения.
    Опишу некоторые параметры:
    maxfail 0 - всегда пытаться подключиться при отсутствии связи;
    lcp-echo-interval - интервал времени, по прошествии которого, происходит опрос удаленной стороны;
    lcp-echo-failure - количество не отвеченных запросов удаленной стороны, после чего система считает, что нас отключили;
    defaultroute - устанавливаем маршрут по умолчанию;
    +chap - тип аутентификации. Помимо +chap может использоваться тип +pap.
    file - читать дополнительные настройки из заданного файла.
    Также можно добавить, если нужно, следующие параметры:
    deflate 15,15 - использовать deflate сжатие (в файле options.pptp не должно быть параметра nodeflate);
    mtu - максимальный размер передаваемого пакета (изменяют этот параметр обычно тогда, когда часто отключается соединение или не открываются некоторые сайты);
    mru - максимальный размер получаемого пакета.
    4. Редактируем файл /etc/ppp/chap-secrets (если используется тип аутентификации PAP, то /etc/ppp/pap-secrets соответственно)
    #
    nano /etc/ppp/chap-secrets

    Вставляем туда строку, типа:
    sukochev PPTP password *
    Внимание!!! Замените sukochev на свой логин, а password на ваш пароль для подключения.
    5. Если это необходимо, то прописываем в файл /etc/network/interfaces нужные роуты. Например у меня роуты прописаны для того, чтобы при включенном впн-подключении я мог пользоваться местной локальной сетью. Вот пример моих роутов (те что начинаются на up route), у вас они естественно будут отличаться:
    auto eth1
    iface eth1 inet dhcp
    up route add -net 10.1.0.0 netmask 255.255.0.0 gw 10.1.45.1 dev eth1
    up route add -net 10.3.0.0 netmask 255.255.0.0 gw 10.1.45.1 dev eth1
    Не забываем после изменения файла /etc/network/interfaces перезапустить сетевые подключения:
    #
    /etc/init.d/networking restart

    6. Теперь можете включать и выключать впн подключение с помощью следующих команд:
    Включение
    #
    pon vpn

    Выключение
    #
    poff vpn



    Автоматическое подключение VPN при загрузке системы

    Для этого редактируем файл /etc/network/interfaces
    #
    nano /etc/network/interfaces

    И вставляем в конец фйла следующие строки:
    auto ppp0
    iface ppp0 inet ppp
    provider vpn
    pre-up ip link set eth1 up
    up route del default
    up route add default dev ppp0
    где eth1 - это интерфейс сетевого устройства, через которое подключается впн-соединение, а vpn - название впн-соединения, которое вы создали в папке /etc/ppp/peers/ .

    2 мая 2008 г.

    Проблема c установкой Ubuntu 8.04 на винт Seagate (Barracuda ST 340016A)

    Решил установить Ubuntu 8.04 на свой комп, но неожиданно столкнулся с нестандартной проблемой - убунта не захотела ставиться на мой винт Seagate (Barracuda ST 340016A, 40Gb, ide) ((. Пробовал грузиться с LiveCD и просто устанавливать - убунта пыталась загрузиться, но безуспешно выкидывала меня в командную строку, при этом загрузка прекращалась.



    Ну что ж, приступим к разбору полетов.

    Для начала посмотрел в чем причина, для этого в меню загрузки Убунты, нажал F6 и в конце строки редактирования параметров загрузки - убрал splash, и запустил установку. В итоге я увидел следующие ошибки:
    [10278.952000] Buffer I/O error on device sr0, logical block 32
    [10278.952000] Buffer I/O error on device sr0, logical block 32
    [10305.952000] Buffer I/O error on device sr0, logical block 32
    Чуть не забыл, опишу как у меня разбит винт:
    20Gb - NTFS Windows XP
    500Mb - ext3 (Boot)
    1Gb - Swap
    6Gb - /
    Остальное место - ext3 (Home)
    Итак продолжим.
    Мне посоветовали удалить разделы с помощью Acronis Disk Director Suite v10.0.2077 Russian - после этого перестала загружаться Windows, т.к. стала недоступна загрузочная запись (было не очень обидно, т.к. успела обрасти мусором и глюками).
    Решил полностью отформатировать винт, при этом опять на 20Gb установил винду, а остальное место выделил под винду. В этот раз ошибка немного изменилась:
    [10278.952000] Buffer I/O error on device sr0, logical block 8
    [10278.952000] Buffer I/O error on device sr0, logical block 8
    [10305.952000] Buffer I/O error on device sr0, logical block 8
    В общем легче мне не стало.
    Продолжил гуглить и после многих не нужных советов наткнулся на решение проблемы!
    Грузимся с диска убунты, снова нажимаем F6 и в строку редактирования параметров загрузки дописываем параметр all_generic_ide и загружаемся.
    Ура! Ubuntu загрузилась, и нормально установилась!