Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Не печатает клавиатура при загрузке. Неуловимый баг. [БАГ ПОЙМАН]  (Прочитано 5601 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн XeHK

  • Автор темы
  • Новичок
  • *
  • Сообщений: 37
    • Просмотр профиля
Странный глюк, который меня преследовал на 7.10 и остался при апгрейде на 8.04, недавно вернулся снова на уже начисто установленной 8.04 с диска. Ни с того ни с сего, при очередной загрузке системы я не могу напечатать с клавиатуры ни один символ, однако целиком клава не отключается, например можно перезапустить иксы через ctrl+alt+backspace и при логине глюк исчезает. Также параллельно с клавиатурой, мышка перестает вызывать контекстное меню с правой кнопки. Методом тыка удалось найти быстрое "отключение" глюка, нажатием alt+F2 запустив Run application и закрыв его. Вот после такой незамысловатой махинации можно работать. Но как совсем избавиться от этой проблемы, не пойму. Помогите, скажите куда копать.

Xorg правил и так и эдак, удалил нвидийные драйвера через энви, остался на проприетарных из дистриба, думал в них проблема, тк, пока на них сидел, глюка не было, но нет. Да и похоже не в нем проблема, тк до появления глюка ксорг не трогал уже достаточно давно.
« Последнее редактирование: 04 Июля 2008, 17:35:24 от XeHK »

Оффлайн gantellus

  • Старожил
  • *
  • Сообщений: 1276
    • Просмотр профиля
а из консоли (recovery mode) работает клава? если да, тогда попробуй написать там dpkg-reconfigure xserver-xorg и заново настрой клавиатуру
Придумайте ещё более дружественный интерфейс, и мир породит ещё более тупого юзера (с)
С2Duo 2.4 Ghz, Geforce 8800, Maya 44 PCI

Оффлайн ABEgorov

  • Участник
  • *
  • Сообщений: 130
    • Просмотр профиля
Было что-то похожее, когда console-cyrillic запускался после старта Xов. Решил соответственно запуском до Xов, но после завершения usplash.
« Последнее редактирование: 30 Июня 2008, 18:34:47 от ABEgorov »

Оффлайн XeHK

  • Автор темы
  • Новичок
  • *
  • Сообщений: 37
    • Просмотр профиля
gantellus, из консоли работает, реконфигить пробовал, ксорг весь новый был - не помогает.
ABEgorov, похоже что что-то запускается поверх и мешает работать, не пойму только что. Console-cyrillic вроде нет никакого у меня.

Баг стал чаще появляться, чуть ли не каждую загрузку. Интересна его природа.

Оффлайн ABEgorov

  • Участник
  • *
  • Сообщений: 130
    • Просмотр профиля
В /etc/rc.local нет ничего, что может мешать?
/etc/rc2.d/
kdm/gdm -- запускает Xы.  Sxx порядок запуска. Всё, что S99 запускается последним.

Оффлайн XeHK

  • Автор темы
  • Новичок
  • *
  • Сообщений: 37
    • Просмотр профиля
rc.local насколько я понял, пуст.
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

exit 0

В /etc/rc2.d/ есть следующие скрипты:
K08vmware
S01policykit
S05vbesave
S10acpid
S10powernowd.early
S10sysklogd
S10xserver-xorg-input-wacom
S11klogd
S12dbus
S18avahi-daemon
S20apmd
S20apport
S20cupsys
S20dkms_autoinstaller
S20gdomap
S20hotkey-setup
S20nvidia-kernel
S20powernowd
S20privoxy
S20rsync
S20samba
S20sensord
S20tor
S23ntp
S24dhcdbd
S24hal
S25bluetooth
S25pulseaudio
S30gdm
S89anacron
S89atd
S89cron
S90binfmt-support
S90vmware
S98usplash
S99acpi-support
S99laptop-mode
S99rc.local
S99rmnologin
S99stop-readahead

Оффлайн ABEgorov

  • Участник
  • *
  • Сообщений: 130
    • Просмотр профиля
Вроде всё нормально.

А если нажать Ctrl+Alt+F1 тебя выкинет в консоль, там клавиатура работает? (Обратно Ctrl+Alt+F7)

1) Можно попробовать запускать gdm последним, после запуска всех сервисов:
mv /etc/rc2.d/S30gdm /etc/rc2.d/S99gdm
Потом назад можно будет вернуть командой: mv /etc/rc2.d/S99gdm /etc/rc2.d/S30gdm

2) S30gdm это символическая ссылка на /etc/init.d/gdm -- создаётся командой ln -s ../init.d/gdm /etc/rc2.d/S30gdm так, что её можно просто удалить (конечно, если в консоли работает клавиатура), тогда при загрузке не запустятся Xы, а запустится консоль. Если в пароле нет русских символов!, то ты сможешь войти в систему и выполнить команду sudo /etc/init.d/gdm start, которая запустит Xы. Если всё нормально заработает, то дело явно в том, что какая то программа мешает. Если не заработает, то дело в чём то другом.
« Последнее редактирование: 30 Июня 2008, 22:33:36 от ABEgorov »

Оффлайн XeHK

  • Автор темы
  • Новичок
  • *
  • Сообщений: 37
    • Просмотр профиля
:-) ja nemnogo uvleksja i ne zametil netochnost' v nazvanii direktorii:
"rc.2d" vmesto "rc2.d".

Vobschem pishu iz consoli v w3m, sploshnaja romantika, no delo ne v
etom. Ne mogu zapustit X, ssylku vernul, no "sudo
/etc/init.d/gdm start" ne srabatyvaet,
pishet: "command not found". Faily S30gdm i S99gdm v rc2.d
est', no otkryt' ih nelzja, v midnight commandere oni otobrazheny
krasnum, kak !S30gdm i !S99gdm. To zhe samoe i s "/etc/init.d/gdm".

Kak mne ih sdelat' chitabel'nymi/zapuskaemymi?

Sorry for translit.

Оффлайн ABEgorov

  • Участник
  • *
  • Сообщений: 130
    • Просмотр профиля
Надо было удалять ссылку (которая в /etc/rc2.d/), а не сам скрипт, который в /etc/init.d/!!! В /etc/init.d/ ничего трогать вообще никогда не нужно.
Теперь: sudo aptitude reinstall gdm
Далее: sudo /etc/init.d/gdm start

Чтобы из консоли не писать, Xы можно запустить командой startx.

Вместо команды  ln -s ../init.d/gdm /etc/rc2.d/S30gdm можно использовать пункт меню Файл\Символическая ссылка в mc.
Имя существующего файла: /etc/init.d/gdm
Имя  символической ссылки: /etc/rc2.d/S30gdm

/etc/init.d/gdm это именно скрипт, он не может отображаться красным в mc! Если он отображается красным, значит это символическая ссылка (ярлык) на то, что указано ниже в поле под листом файлов.
« Последнее редактирование: 01 Июля 2008, 00:20:28 от ABEgorov »

Оффлайн XeHK

  • Автор темы
  • Новичок
  • *
  • Сообщений: 37
    • Просмотр профиля
ABEgorov, огромное тебе спасибо за помощь. GDM переустановил, с ним порядок, проблема естественно пока осталась. Сейчас попробую удалить линк перезагрузиться и запустить gdm вручную, как я понял, создав линк заново.

Оффлайн XeHK

  • Автор темы
  • Новичок
  • *
  • Сообщений: 37
    • Просмотр профиля
Вобщем похоже, что какая-то прога мешает, тк запускается gdm вручную из консоли нормально. Может фигня в том, что у меня включен автологин?

Оффлайн ABEgorov

  • Участник
  • *
  • Сообщений: 130
    • Просмотр профиля
А переименовать S30gdm в S99gdm пробовал? Sxx в названии символической ссылки это порядок запуска сервиса. Если S30 в имени ссылки изменить на S99 (S30gdm переименовать в S99gdm), то gdm будет запускаться одним из последних.

Можно также попробовать удалить ссылку S30gdm и поправить файл /etc/rc.local, добавив перед exit строчки (sleep 10 -- ждать 10 секунд):
sleep 10
/etc/init.d/gdm start

Ещё при входе в систему (уже после входа) выполняются скрипты:
/etc/profile
/etc/profile.d/*
~/.profile
« Последнее редактирование: 01 Июля 2008, 07:56:07 от ABEgorov »

Оффлайн XeHK

  • Автор темы
  • Новичок
  • *
  • Сообщений: 37
    • Просмотр профиля
Переименование ссылки в S99gdm пробовал - не помогло, глюк остался.
Удалил ссылку и прописал запуск gdm в rc.local - не помогло, глюк остался.
Баг сейчас каждую загрузку стабильно вылезает, сочетания клавиш типа alt+F2, ctrl+alt+backspace (с последующим логином), ctrl+alt+F1 ctrl+alt+F7 его "лечат". Заметил также, что после того, как gnome загрузился, если пошевелить мышкой - появляется индикатор громкости один раз.
А то, что в System-Preferences-Sessions находится может мешаться?

/etc/profile.d/* - директория пуста.

/etc/profile содержит:
# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).

if [ -d /etc/profile.d ]; then
  for i in /etc/profile.d/*.sh; do
    if [ -r $i ]; then
      . $i
    fi
  done
  unset i
fi

if [ "$PS1" ]; then
  if [ "$BASH" ]; then
    PS1='\u@\h:\w\$ '
    if [ -f /etc/bash.bashrc ]; then
. /etc/bash.bashrc
    fi
  else
    if [ "`id -u`" -eq 0 ]; then
      PS1='# '
    else
      PS1='$ '
    fi
  fi
fi

umask 022

~/.profile содержит:
# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.

# the default umask is set in /etc/profile
#umask 022

# if running bash
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
    fi
fi

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

Оффлайн ABEgorov

  • Участник
  • *
  • Сообщений: 130
    • Просмотр профиля
Всё нормально.
А если выключить автологин, то на экране gdm клавиатура работает нормально?
sudo /etc/init.d/gdm start нормально запускает gdm в первый раз? Т.е после перезагрузки/включение компьютера это первый запуск X сервера?
« Последнее редактирование: 01 Июля 2008, 12:38:18 от ABEgorov »

Оффлайн XeHK

  • Автор темы
  • Новичок
  • *
  • Сообщений: 37
    • Просмотр профиля
При выключенном автологине пока все нормально, логин / пароль вводятся без запинки, и далее все работает как надо. Ручной старт gdm в консоли при очередной проверке таки дал сбой - глюк при загрузке гнома снова был обнаружен и это первый запуск gdm, да.

 

Страница сгенерирована за 0.045 секунд. Запросов: 23.