воскресенье, 20 мая 2012 г.

Mandriva, Macbook Air, Продолжение истории.


Итак, в прошлый раз, мы остановились на том, что Macbook Air, с многострадальной Mandriva на борту, таки загружается, с нормальным разрешением, с вроде как работающим WiFi’ем и вообще подает все признаки жизни.

Что можно добавить про общую работоспособность? При закрытии крышки засыпает, при открытии крышки просыпается, причем действительно быстро, совсем как OS X. При этом не отваливается WiFi, да и вообще, на первый взгляд, ничего не отваливается. Все это без каких-либо дополнительных настроек и прочих приседаний, просто работает из коробки. Это несомненный плюс. Даже не знаю Suspend to WTF он делает, хотя, поскольку swap’а я Мандриве не давал, в меру моих недалеких представлений о сновидениях в Linux, выбор не такой уж и большой :)


Вроде бы работает камера: приятно, хотя и бесполезно. Работает Bluetooth, если не забыть включить btusb в ядре. Можно даже подключить Apple Magic Mouse(там pin “0000”), которая, как на мой вкус, ведет себя гораздо адекватней чем в OS X. Это ничуть не странно: это известная багофича самой OS X – у Apple круто получается с тачпадами, но мышь, без third-party приблуд ведет себя весьма странно. Впрочем, в моем случае, это из серии “не очень то и хотелось”, особого смысла подключать мышь к MacBook’у с OS X на борту нет. Другое дело, если на борту Mandriva.

Итак, первая значительная остановка на пути “Linux на Macbook’е”:

Touchpad.

Я закончил прошлый пост тем, что написан он был в Mandriva, а вот финальные приготовления для публикации, таки пришлось делать в OS X, потому что нервов уже не хватало. Основная проблема здесь вполне известная: ноутбук, причем достаточно тонкий, руки просто “лежат” на клавиатуре, вяло нажимая какие-то клавиши, при этом, иногда ладонью слегка касаешься тачпада, и вот, ты уже продолжаешь набирать текст, в каком-то другом, рэндомном месте экрана. Я охотно поверю, что есть люди, которые принципиально так не делают, и вообще набирают текст как будто играют на фортепиано: помню в музыкальной школе нас учили, что правильное положение рук на “клавиатуре” пианины, это, естественно, навесу, причем как будто у тебя в каждой руке зажато по яблоку. Вполне возможно что так оно действительно правильно, но не всегда удобно, легко и приятно, тем более, что в нашем случае речь идет о гораздо меньшей по размерам клавиатуре.

Это я все к чему: вполне возможно, что опция “Disable touchpad when typing” для кого-то действительно не актуальна. Потому что руки никогда не попадают на тачпад, во время печатания. Но, большая часть человечества стремится вырубить тачпад нафиг, навсегда, как раз потому что очень мешает случайное позиционирование курсора :)


В Mandriva/KDE включить опцию “Disable touchpad when typing” можно в “System settings” → “Input Devices” → “Touchpad”. Там же можно задать время, через которое можно тачпад врубать назад, в пределах от 100 до 3000 ms. Как по мне, оптимальное значение где-то в пределах 1500-1700 ms, хотя это дело вкуса.

Рядом с настройками выключения тачпада во время печати можно найти и другой, на мой взгляд полезный регулятор: чувствительность(Touch Sensitivity). Небольшая чувствительность, заданная по-умолчанию – очень даже правильный выбор, можно даже еще уменьшить. Известное “лучше меньше, да лучше” здесь как раз работает, и вполне себя оправдывает.

Теперь, выбравшись из зоны неприятностей, можно переместится поближе к “приятностям”. Вкладка “Scrolling” предоставляет нам уникальную возможность выбрать между “скролом” по бокам тачпада, и привычным, уже многие годы, для пользователей OS X, двухпальцевым скролингом. И, как это ни удивительно, но если выбрать двухпальцевый скролинг, он таки работает. Причем работает вполне ожидаемо, без никаких сюрпризов, и прочих подводных течений. Прям удивительно как-то. Не ожидал.



Ходят слухи, что можно еще и мультитач поиметь, но как-то не особо и надо: кажется мне что если таки заставить работать мультитач жесты, будет это косо, криво, не везде, и только по четным дням, каждое третье воскресенье, в каком-нить не особо нужном приложении :)



Вкладка “Tapping” страшная и непонятная, но особо там и настраивать нечего. По поводу тачпада осталось два замечания. 

Во-первых, если вы пользовались ранее Lion, и привыкли к “обратному” скролу. Его можно включить в настройках мыши :) Там же в “Input Devices”, “Mouse” → “Reverse scroll direction”. Неприятная новость, как вы уже скорее всего догадались, “обратный скрол” будет и для мыши и для тачпада. То что это два разных устройства, и настройки у них не должны быть особо связаны, и могут быть эти настройки абсолютно противоположными, конечно, без Apple никто бы не догадался. Ничего, думаю когда-нить поправят, если бардак абстракций позволит.

Во-вторых, есть очень специфическая операция на тачпаде в OS X, которая кажется невозможной в Linux. Как многие наверное помнят, в новых MacBook’ах весь тачпад является одной большой кнопкой. Допустим у нас есть окно на десктопе, мы хотим его перетащить куда-нибудь. Есть два варианта: “tap” по заголовку окна, потом “полутап” - то есть опустили палец воторой раз, но не подняли, и... типа тащим окно. Другой вариант: кликаем той самой кнопкой тачпадом, и другим пальцем, находящимся на тачпаде тащим окно, ну или не окно, а что там хотим перетащить. Второй вариант возможен в OS X, в Linux’е же получается банальный “двойной клик”, поскольку вроде как два пальца на тачпаде, и что-то кликается. Достаточно неприятно, рецепта как исправить у меня в загашнике нет, не уверен что вообще исправить можно: врядли кого-то подобный “юзер експиренс” парит: ежели по тачпаду проводишь пальцем и курсор двигается, значить тачпад считаем работающим.

По ощущениям, если сравнивать с прошлой попыткой установки Ubuntu на Macbook пару лет назад, тачпад стал работать гораздо более вменяемо. Хотя, по прежнему, далеко от идеала. Основная проблема, я бы сказал, лежит не в плоскости работоспособности как таковой: тачпад работает, курсор двигает, кнопки эмулирует, и так далее и тому подобное. Проблема в количестве ошибок: не сильно широко расставил пальцы – получил клик левой клавишей, вместо правой, хотя при такой же “распальцовке” при прокрутке, все более-менее нормально. Или та же последняя история с нажатием кнопки. Или например изменение размеров окна: “тянуть” за нижний левый угол, или низ, или правую сторону окна – это требует хорошей тренировки, так как “попасть”, “зафиксировать” курсор в нужном положении, - достаточно сложная задача, а вот сверху – все хорошо. Видимо границы окон где-то в настройках выставлены по-разному, видимо это можно поправить, можно попробовать 100500 раз и таки после нескольких месяцев найти золотую середину, или же привыкнуть к тому что есть.


Клавиатура

С клавиатурой дело обстоит намного более проще, чем с настройкой тыкательного интерфейса. Оно-то в принципе и понятно: мышь, а тем более тачпад, как устройства ввода, предполагают некоторую “работу мысли” при трансляции движений пользователя, в то, что реально происходит на экране компьютера. Тут и скорости, и ускорения, и странные “кривые”. В случае с клавиатурой – все гораздо проще: нажал кнопку – соответствующий символ вылез на экране. Конечно, там где-то внутри происходит много-много чего, прежде чем символ на экран вылезет, но все же процесс гораздо более прозрачен с точки зрения простого смертного. Поэтому в настройке клавиатуры на маке, никакого особо странного вуду нет, и вообще это скорее “подстройка”, чем настройка. Здесь можно обратить внимание на три вещи:

1. MacBook Air(как и MacBook Pro), поддерживают “подсветку” клавиатуры. Кто не видел: это когда под кнопками загораются, видимо светодиодики, и немного можно крутить яркость всего этого дела. Штука, по-сути своей бесполезная, хотя, с подсветкой как-то веселее и красивее. От лишней красоты особого смысла отказываться нет, можно ее устроить и в Linux. 

Для этого:

echo 255 > /sys/class/leds/smc::kbd_backlight/brightness

0 – выключить нафиг, 255 – максимум подсветки, в этих пределах можно регулировать яркость.

На просторах интернета можно найти скриптик, который, видимо, можно привязать к соответствующим хоткеям. Не игрался. Скриптик вот тут.

Возможно, так же, кому-то будет интересен вот этот демон.

2. По-умолчанию, на макбуках, и в родной OS X и в Linux, клавиши F1-F12 отвечают за то что на них нарисовано :) То есть: яркость экрана, громкость звука и так далее. Регулировка яркостью и звуком, работает в Mandriva из коробки. Но все же, может быть не очень принципиально, но как-то привычней, когда яркость экрана: это не F1/F2, а Fn+F1/F2. Инвертировать функциональные клавиши не составляет труда:

echo 2 > /sys/module/hid_apple/parameters/fnmode

Чисто теоретически, для этих двух пунктов может работать демон под названием pommed. В Mandriva он есть в репозитории, но, видимо, MacBook Air прошлого года для него слишком новый:

May 20 16:28:43 localhost pommed[6530]: pommed v1.39 Apple laptops hotkeys handler
May 20 16:28:43 localhost pommed[6530]: Copyright (C) 2006-2011 Julien BLACHE
May 20 16:28:43 localhost pommed[6530]: Unknown Apple machine: MacBookAir4,2
May 20 16:28:43 localhost pommed[6530]: Unknown Apple machine

Если вы пытаетесь заставить работать Mandriva, или другой дистрибутив на более старом маке, или если у вас более новая версия этого демона, имеет смысл заглянуть в /etc/pommed.conf.

Опять же, хочу обратить внимание читателей на то, что достаточно информативным может быть help убунты, в котором маковской клавиатуре посвящена отдельная страница.

3. Ну и последняя в списке, но, видимо, главная по значимости вещь – это горячие клавиши. О самой главной проблеме я уже писал ранee, здесь все как было так и осталось. Так уж сложилось что на Apple-клавиатурах, нет клавиши Windows, зато есть клавиша Cmd, которая активно используется для всего на свете. В итоге, нижний ряд клавиш начинается с сочетания:

“Fn” - “Ctrl” - “Alt” - “Cmd” - “Space”.

Если по-простому, то практически все что в Windows, и частично в Linux отдано под Ctrl-хоткеи, в OS X отдано под Cmd-хоткеи. Копирование Cmd+C, Вставка – Cmd+V, отмена Cmd+Z, и так далее и тому подобное, даже переключение языка – это Cmd + Space. За исключением переключения языка, которое я бы предпочел видеть на Caps/Caps+Shift(что в OS X возможно, но через откровенно задний проход), остальное вполне удобно. Возможно, наиболее яркий пример этого удобства – это работа с терминалом, а в работе с терминалом, наиболее яркий пример - это Ctrl + C. Если вы пользуетесь Konsole, Gnome Terminal, или чем-то подобным, вам нужно выбирать: или жертвуем “общесистемной” функцией копирования, и Ctrl+C/Ctrl+V заменяем на причудливые Ctrl-Shift+C/Ctrl-Shift+V, или что-то типа, ну или нужно забыть про Ctrl+C для остановки программ. Если хоткеи “GUI-части” начинаются с Cmd, а не Ctrl, то естественно этого перекрытия не происходит в принципе. Редкая консольная утилита(даже в голову ни одной такой не приходит) по-умолчанию рассчитывает на наличие Cmd(ну или Win key).

В случае с Mandriva, из коробки, то есть с KDE, у меня, как это обычно и бывает, две новости: одна хорошая, другая плохая. Хорошая новость состоит в том что KDE через свой Control Center, позволяет переназначить все что угодно, соответственно Cmd+C/Cmd+V вместо Ctrl+C/Ctrl+V делается в два клика. Плохая новость состоит в том, что эти настройки распространяются только на KDE-приложения, и даже во всех приложениях, которые входят в состав Mandriva по-умолчанию, работать не будут. Забудьте про Cmd+C/Cmd+V в Firefox, Open Office и Thunderbird. Зато в Konsole, да, будет работать, впрочем, в Konsole есть и свой конфигуратор хоткеев, где все тоже можно переназначить.

Для Firefox есть расширение “Customizable-shortcuts”, к сожалению, сейчас, для смены маппинга Cmd->Ctrl оно бесполезно. Для Google Chrome тоже есть расширение “Shortcut Manager”, но оно тоже скорее не работает, чем работает. Open/Libre Office я особо не пользуюсь(хотя этот текст пишу именно в нем), да и не разбираюсь, поэтому ничего толкового сказать не могу: есть какой-то диалог настройки хоткеев, но его кажется не для нормальных человеков делали.

В общем, как ни печально об этом говорить, но в этом плане самая конфигурируемая система, продолжает поворачиваться к пользователю не самым приятным для созерцания местом. На форумах, и прочих местах публичного извержения мыслей, очень часто продукция Apple и словосочетание “анальное рабство” стоит в одном предложении, мол в нашей свободной ото всех, в том числе и от обязательств перед пользователем, системе, можно все, а в той же OS X, в большей части можно только то что Apple разрешит. И это правда. Но есть и другая сторона медали, в случае системы от Apple, за первоначальной конфигурацией системы стоит представление о том, как, тот самый конечный пользователь, будет этим пользоваться. Получается цельно, хоть, местами, и слабо настраиваемо. То есть итоговый продукт может нравится, и тогда вы им будете пользоваться, может не нравится, и тогда вы им пользоваться не будете. В случае со свободным и открытым миром, никакой цельности в GUI не получается. Но это уже, как и всегда, другая история.

Возвращаясь к теме работоспособности железа, вернее даже работоспособности системы на этом железе: впечатления все же скорее позитивные. То есть вроде как все работает, а то что сразу не работает, кое-как можно заставить работать, причем сделать это не есть задача сложная. Как для Mandriva в частности, так и для Linux-дистрибутивов вообще, все выглядит вполне пристойно. Если просто поменять старый лэптоп с “каким-нибудь Linux’ом” на макбук, и сразу поставить туда “какой-нибудь Linux”, особой разницы в плане поддержки или качества работы железа, наверное даже не почувствуется. Если менять OS X, которой вы долго и продуктивно пользовались, на этот самый “какой-нибудь Linux”, тот тут, конечно, будет сложнее.

2 комментария:

Unknown комментирует...

Почитал с интересом. Не знал про synclient, запустил - узнал, что на моём hp probook 4320s таки распознаются тапы по углам как кнопки мыши, а я целый год думал что без проприетарного драйвера это работать не будет :)

Анонимный комментирует...

Не, серьезно, восхищаюсь упорством с которым аффтар возвращается снова и снова с экспериментам с Мандр(ейком|ивой). Я ужо подумал $N лет тому что Вася его проклял и забыл думать. Решпект.