Емельянов Эдуард Владимирович (eddy_em) wrote,
Емельянов Эдуард Владимирович
eddy_em

Categories:

Руководство криворукого установщика linux, продолжение

Продолжение мытарств с установкой linux на ноутбук HP pavilion dv7-7003er

Итак, завел-таки я иксы. Для запуска nvidia-settings необходимо явно указать номер дисплея, на котором запущен bumblebee:
optirun nvidia-settings -c :8

mplayer

Далее я пытался запустить mplayer. Ничего не получилось. Поэтому для начала я забил на попытки аппаратного декодирования видео и установил mplayer-vaapi, чтобы хотя бы как-нибудь отображалось. В ~/.mplayer/config внес небольшие изменения:
vo=vaapi,vdpau,gl,
…
Все, после "жамкания" по видео в mc запускается mplayer. Вроде бы даже простенькие видео (пока тестировал только на скринкасте) работает.

Лирика

Кстати, насчет скринкастов. Запустил xrandr (чтобы настроить свой alias на ffmpeg для записи экранного видео) и обнаружил, что размер экрана у меня 1600x900. А я чего-то по дури сначала думал, что будет 1920х1080 (только сейчас обратил внимание, что и на большом рабочем мониторе у меня 1680x1050, а на малом вообще 1280x1024, т.е. 1920х1080 у меня только дома).
В общем, столько всего нового открываю...
Запустил firefox. Обнаружил странную штуку: несмотря на то, что я совершенно полностью (вроде бы) скопировал все настройки, цветовая схема у меня на ноутбуке какая-то голубоватая. А вроде бы не макбук купил…
Запустил хромого, зашел на тытрубу. Охренеть, даже всякая недоразвитая дрянь a la флешь работает! Заодно проверил звук (заорало неплохо).
Проверил xev'ом мультимедийные клавиши. Регулировка громкости чего-то не отражается на alsamixer'е. 720p в полноэкранном режиме с "вконтактика" отлично показывают. Я так понимаю, учитывая разрешение экрана бука и его размер, а также учитывая то, что нормальный фильм "весит" гигабайт 40, придется при желании смотреть bd-rip'ы на ноутбуке сначала потратить часов 5 на пережимание фильма с потерей качества.

Остается теперь выяснить, как без xorg.conf (т.к. с ним иксы не хотят работать) настроить нормальную работу ctrl+alt+backspace, выключение ноутбука по нажатию клавиши power, а также разобраться с wifi (на нетбуке я его настраивал, но уже забыл, как). Еще надо придумать, как отключать тачпад при печати (все-таки, в аэропорту доставать нормальную клавиатуру вариантов нет: ее ложить некуда).


Жалею, что к буку не заказал сразу же сумочку, клавиатуру и мышку. Придется самому покупать.


Иксы и acpi

Итак, проблема с ctrl+alt+backspace была решена по руководству, посредством добавления в /etc/X11/xorg.conf.d/10-evdev.conf строк
Section "InputClass"                                                            
        Identifier "Keyboard Defaults"                                          
        MatchIsKeyboard "yes"                                                   
        Option "XkbOptions" "terminate:ctrl_alt_bksp"                           
EndSection

Настройки IceWM позволили отображать статус батареи на (скрытой, правда) панели, еще я поставил пакет acpi.
Далее - установил и настроил по инструкции на вики laptop-mode-tools (с зависимостями).
Далее поставил wicd и wicd-gtk. И при попытке запустить wicd-gtk (естественно, с запущенным демоном wicd) получил ошибки:

wicd-gtk
/usr/lib/python2.7/site-packages/gtk-2.0/gtk/__init__.py:57: GtkWarning: could not open display
  warnings.warn(str(e), _gtk.Warning)
Has notifications support True
Loading...
Connecting to daemon...
Connected.
/usr/share/wicd/gtk/wicd-client.py:510: Warning: invalid (NULL) pointer instance
  self.menu = (self.manager.get_widget('/Menubar/Menu/Quit').
/usr/share/wicd/gtk/wicd-client.py:510: Warning: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed
  self.menu = (self.manager.get_widget('/Menubar/Menu/Quit').
/usr/share/wicd/gtk/wicd-client.py:510: GtkWarning: IA__gtk_settings_get_for_screen: assertion `GDK_IS_SCREEN (screen)' failed
  self.menu = (self.manager.get_widget('/Menubar/Menu/Quit').
/usr/share/wicd/gtk/wicd-client.py:510: Warning: g_object_get: assertion `G_IS_OBJECT (object)' failed
  self.menu = (self.manager.get_widget('/Menubar/Menu/Quit').
/usr/share/wicd/gtk/wicd-client.py:510: Warning: value "TRUE" of type `gboolean' is invalid or out of range for property `visible' of type `gboolean'
  self.menu = (self.manager.get_widget('/Menubar/Menu/Quit').
/usr/share/wicd/gtk/wicd-client.py:900: Warning: invalid (NULL) pointer instance
  gtk.StatusIcon.__init__(self)
/usr/share/wicd/gtk/wicd-client.py:900: Warning: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed
  gtk.StatusIcon.__init__(self)
/usr/share/wicd/gtk/wicd-client.py:900: GtkWarning: IA__gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed
  gtk.StatusIcon.__init__(self)
/usr/share/wicd/gtk/wicd-client.py:900: GtkWarning: IA__gdk_screen_get_display: assertion `GDK_IS_SCREEN (screen)' failed
  gtk.StatusIcon.__init__(self)
/usr/share/wicd/gtk/wicd-client.py:900: GtkWarning: IA__gdk_x11_display_get_xdisplay: assertion `GDK_IS_DISPLAY (display)' failed
  gtk.StatusIcon.__init__(self)
/usr/share/wicd/gtk/wicd-client.py:900: GtkWarning: IA__gdk_screen_get_number: assertion `GDK_IS_SCREEN (screen)' failed
  gtk.StatusIcon.__init__(self)
Ошибка сегментирования
Попытался поставитьwicd-bzr. wicd-gtk запустился, при этом отвалилась обычная сеть. Беспроводных сетей обнаружено не было, надо будет попробовать где-нибудь недалеко от точно действующей точки доступа wifi.
Запустил демон acpid, теперь ноут обращает внимание на клавишу power. Здесь почитал, как настроить события acpi. Сделал так:

cat /etc/acpi/handler.sh 
#!/bin/bash
# Default acpi script that takes an entry for all actions

case "$1" in
    button/power)
        case "$2" in
            PBTN|PWRF)
                logger 'PowerButton pressed'
                /usr/sbin/pm-suspend-hybrid &
                ;;
            *)
                logger "ACPI action undefined: $2"
                ;;
        esac
        ;;
    button/sleep)
        case "$2" in
            SLPB|SBTN)
                logger 'SleepButton pressed'
                ;;
            *)
                logger "ACPI action undefined: $2"
                ;;
        esac
        ;;
    ac_adapter)
        case "$2" in
            AC|ACAD|ADP0)
                case "$4" in
                    00000000)
                        logger 'AC unpluged'
                        echo -n 5 > /sys/class/backlight/acpi_video0/brightness
                        ;;
                    00000001)
                        logger 'AC pluged'
                        echo -n 10 > /sys/class/backlight/acpi_video0/brightness
                        ;;
                esac
                ;;
            *)
                logger "ACPI action undefined: $2"
                ;;
        esac
        ;;
    battery)
        case "$2" in
            BAT0)
                case "$4" in
                    00000000)
                        logger 'Battery online'
                        ;;
                    00000001)
                        logger 'Battery offline'
                        ;;
                esac
                ;;
            CPU0)
                ;;
            *)  logger "ACPI action undefined: $2" ;;
        esac
        ;;
    button/lid)
        case "$3" in
            close)
                logger 'LID closed'
                xs=$(ps -C xscreensaver -o user=)
                if test $xs; then su $xs -c "xscreensaver-command -lock"; fi
                ;;
            open)
                logger 'LID opened'
                ;;
            *)
                logger "ACPI action undefined: $3"
                ;;
    esac
    ;;
    *)
        logger "ACPI group/action undefined: $1 / $2"
        case "$2" in
            VOLDN)
                /usr/bin/amixer set Master 5%-
                ;;
            VOLUP)
                /usr/bin/amixer set Master 5%+
                ;;
            MUTE)
               /usr/bin/amixer set Master toggle
               ;;
        esac
        ;;
esac
Все, при закрытии крышки блокируется скринсейвер, при нажатии кнопки питания бук засыпает, при подключении/отключении шнурка питания изменяется яркость экрана, работает управление громкостью. При просыпании с первого взгляда ничего не отваливалось. А вот со шнурком питания вышли проблемы: при его отключении вырубается сеть, несмотря на то, что в настройках laptop-mode ничего такого нет. И при подключении шнурка обратно не восстанавливается яркость экрана.
Заодно заметил, что иксовые приложения под рутом не работают. Установил xorg-xhost и добавил xhost + в автозапуск icewm'а.

Тачпад

Далее по арчевики настроил тачпад. Во-первых, добавляем udev-правило, чтобы тачпад отрубался при подключении мыши:

cat > /etc/udev/rules.d/01-touchpad.rules
ACTION=="add", SUBSYSTEM=="input", ENV{INPUT_MOUSE}="1", ENV{DISPLAY}=":0.0", ENV{XAUTHORITY}="/home/eddy/.Xauthority", RUN+="/usr/bin/synclient TouchpadOff=1"
ACTION=="remove", SUBSYSTEM=="input", ENV{ID_INPUT_MOUSE}="1", ENV{DISPLAY}=":0.0", ENV{XAUTHORITY}="/home/eddy/.Xauthority", RUN+="/usr/bin/synclient TouchpadOff=0"
Потом я добавил в файл ~/.xinitrc строчку
syndaemon -i 2 -d
перед запуском IceWM. Теперь при печати случайное задевание тачпада не мешает. Правда, есть, конечно, небольшое неудобство: тачпад активируется лишь через 2 секунды после освобождения клавиатуры, но лучше так, нежели никак.

Сканер отпечатков

Читаем арчевики и устанавливаем:
alias Y='yaourt -S --noconfirm'
Y fprint
Y libfakekey fingerprint-gui
Далее - добавляю по мануалу группу plugdev, включаю себя в нее, изменяю доступ к usb, модифицирую /etc/pam.d/login. Кстати, вспоминаю, что нелишним было бы глянуть, видит ли арч мой сканер. Запустил lsusb - ОК, сканер есть.
Но, рано радовался: после проделанных манипуляций запуск fprintd-list eddy сказал, что устройств нет. Это же сказал и fingerprint-gui.
Похоже, пока что сканер не заработает.
Продолжение, возможно, еще следует.
Tags: негодую, рукожопие, юмор
Subscribe

  • Хеши строковых команд для МК

    Долго я к этому шел, но, похоже, пора уже: однобуквенные команды сложно запоминать (особенно если команд толпа, и большая часть с этими буквами…

  • Задачка для студентов

    Я тут интересную (и, главное, актуальную: судя по скудной информации в интернете, если этим кто-то и занимался, то результаты закопаны под NDA)…

  • Контроллер управления новой железякой

    Я до конца этой недели еще в отпуске. Погода мерзкая, поэтому хожу на работу. Вчера начал паять пару комплектов плат для управления новой железякой.…

promo eddy_em september 3, 12:13 8
Buy for 10 tokens
Уже больше полугода занимаюсь разработкой, вот, наконец-то в мастерских взялись за меня и начали выдавать первые детали. Сегодня сделал тестовую сборку (как обычно, местами пришлось "доработать напильником"): Пока прибор без названия (да и как-то не лезет в голову ничего, у меня нет…
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic
  • 3 comments