OpenQuality.ru

Качество программного обеспечения

Качество программного обеспечения: в главных ролях

Лента  Радар  Блог  Опыт  
Разум  Видео  Заметки  Эпизоды


Linux Mint: шаг навстречу светлому будущему

Добрый день.

The dogs bark, but the caravan goes on. Такими словами можно охарактеризовать жизненный цикл любого программного продукта. У каждого из них есть лояльные пользователи и бескомпромиссные критики. Благодарные отзывы первых придают сил, а нападки вторых указывают направление пути. Сегодня речь пойдет о Linux Mint 12, операционной системе из клана Debian/Ubuntu, которой прочат светлое будущее на рынке настольных систем.

Интерес к Linux Mint возник из-за необходимости соскочить с Ubuntu 8.10. После допиливания система прослужила верой и правдой три года, ни разу не заставив пожалеть о ее выборе. К переходу побудили два обстоятельства:

1) Никакими усилиями не удавалось подключить web-камеру Logitech С270. В сети не нашлось ни одного удачного опыта подключения этой камеры к Ubuntu 8.10, кроме туманных слов о том, что с ядром 2.6.* и плясками с драйверами такую поддержку можно сотворить;
2) Для Ubuntu 8.10 нет LTS, что вылилось в отсутствие нужных пакетов в репозиториях и проблемы с апгрейдом даже таких популярных приложений как Firefox и Chrome.

Первоначально планировалось перейти на Ubuntu 11.10, но вселенские стоны об ужасах Unity заставили отказаться от этой идеи. В качестве альтернативного решения предлагалась Linux Mint. Ubuntu без Unity и с человеческим лицом? Почему бы и нет, надо брать.

Общие впечатления от Linux Mint 12: система хороша. Первоначально интерфейс GNOME3 кажется непривычным и лихорадочно ищешь атрибуты GNOME2. Но после точечной настройки получаешь удобный и приятный интерфейс. Web-камера Logithech C270 нашлась “на ура”, не потребовалось никаких усилий для того, чтобы она заработала в Skype. И даже не пришлось отключать парковку дисковых головок, чтобы избавиться от назойливого “клацания”. Ну просто big relief! И все же без напильника не обошлось. Ниже представлено несколько задач, с которыми пришлось повозиться. Список неполный, но, на мой взгляд, отражает путь, предстоящий неискушенному пользователю или увлеченному гику, которому подобные приключения нравятся больше чем самые захватывающие компьютерные игрушки.

 

1. Настройка звука

Звуковая система PulseAudio над AlSA и теперь живее всех живых несмотря на то что радикальные пользователи советуют сносить ее напрочь. И, безусловно, есть за что. После установки системы звук одновременно идет из наушников и встроенных колонок без возможности отключить колонки. Сносить PulseAudio не хотелось и потому на помощь пришел способ, уже выручавший в Ubuntu 8.10:

a) выяснить версию кодека:

cat /proc/asound/card0/codec#0 | grep Codec
Codec: Realtek ALC861-VD

б) найти “модели”, соответствующие кодеку:

ALC861VD/660VD
==============
3stack 3-jack
3stack-dig 3-jack with SPDIF OUT
6stack-dig 6-jack with SPDIF OUT
3stack-660 3-jack (for ALC660VD)
3stack-660-digout 3-jack with SPDIF OUT (for ALC660VD)
lenovo Lenovo 3000 C200
dallas Dallas laptops
hp HP TX1000
asus-v1s ASUS V1Sn
auto auto-config reading BIOS (default)

в) в файл /etc/modprobe.d/alsa-base.conf добавить строчку:

options snd-hda-intel model=”название модели”

г) факультативно: создать файл /etc/modutils/alsa, куда прописать настройки, приведенные в вышеуказанном треде

Ну, дело нехитрое. Из моделей напрашивается “lenovo“, благо речь идет о ноутбуке Lenovo, и именно эта модель работала в Ubuntu 8.10. Но не тут-то было: звук не шел из наушников при любом раскладе. При отключении Front в настройках Alsa Mixer звук пропадал даже в колонках (а в Ubuntu 8.10 звук в этом случае шел из наушников). Демократию спасла модель “auto“. При этом в настройках Alsa Mixer таинственным образом исчез переключатель Front, но зато при подключении наушников звук шел из наушников, а при отключении - из колонок.

Все хорошо, но приходится физически подключать/отключать наушники всякий раз когда нужно перенаправлять звук из наушников в колонки и обратно. Хочется это делать программно, но в связи с исчезновением Front такого способа на первый взгляд нет. Попробуем копнуть чуть глубже. К свойствам PulseAudio можно обращаться из командной строки. В PulseAudio есть понятие Sink – «сток», принимающий звуковой поток. Другими словами, выход звуковой карты на наушники, колонки и т.п. С помощью команды pactl list можно узнать все имеющиеся в системе синки, а также их порты. Ожидалось, что в системе будет один синк и два порта (один на колонки ноутбука, другой наружу). Но вышло так:

Sink #0
State: RUNNING
Name: alsa_output.pci-0000_00_1b.0.analog-stereo
Description: Internal Audio Analog Stereo

Ports:
analog-output-speaker: Analog Speakers (priority. 10000)
Active Port: analog-output-speaker

В синке alsa_output.pci-0000_00_1b.0.analog-stereo оказался только один порт analog-output-speaker, а значит возможности переключения с помощью pactl set-sink-port ‘alsa_output.pci-0000_00_1b.0.analog-stereo’ ‘analog-output’ нет. Забавно, что при выборе модели lenovo в alsa-base.conf порт будет тоже один, но уже analog-output. В сухом остатке – не получилось. Видимо, сказывается недостаточно глубокое понимание работы PulseAudio, поэтому если у кого-нибудь есть практический совет по настройке переключения звука, буду рад его услышать.

В конечном итоге было найдено компромиссное решение: если в alsa-base.conf указано “auto“, то в AlSA Mixer (команда alsamixer) появляется опция Auto-Mute Mode с параметрами Enabled/Disabled. Если выбрать Enabled, то звук идет в наушники, а если Disabled, то в наушники и колонки. Неидеально, но по крайней мере между колонками и наушниками уже можно переключаться программным путем. Например, значение этой опции можно менять в GNOME с помощью мыши в Menu->Sound&Video->Volume Control. Или можно вызвать утилиту alsamixer и изменить это значение с помощью клавиатуры. И, наконец, переключение можно выполнять из командной строки:

$ amixer sset ‘Auto-Mute Mode’ Disabled
Simple mixer control ‘Auto-Mute Mode’,0
Capabilities: enum
Items: ‘Disabled’ ‘Enabled’
Item0: ‘Disabled’
$ amixer sset ‘Auto-Mute Mode’ Enabled
Simple mixer control ‘Auto-Mute Mode’,0
Capabilities: enum
Items: ‘Disabled’ ‘Enabled’
Item0: ‘Enabled’

По моим наблюдениям, проблемы со звуком и видео – основные причины отказа от Linux и возврата к Windows. Ежики кололись и продолжали есть кактус. В Windows львиная доля звуковых карт/видеокамер поддерживается без плясок с бубном. Конечно, это заслуга не столько Microsoft, сколько самих производителей железа, поставляющих драйверы для Windows. Но как бы то ни было, будет работать звук/видео – будут новые пользователи. Определить кодек инсталлятор может сам. Прописать строчку в alsa-base.conf тоже может. Это же типичный сценарий: у пользователя колонки и наушники, он хочет работать и с тем, и с другим без углубления в настройки звуковой системы. Надеюсь, когда-нибудь так будет.

 

2. GNOME3 Shell Extensions

На сайте https://extensions.gnome.org/ (сайт в состоянии Alpha) можно выбрать расширения, делающие интерфейс более удобным. Например, в верхней панели можно вывести запуск приложений-фаворитов, корзину и сворачивание всех окон. Активацию/деактивацию можно проводить прямо в браузере, либо в Advanced Settings -> Shell Extensions. Забавно, что выбор расширений не работает в Chrome: “You do not appear to have an up to date version of GNOME3. You won’t be able to install extensions from here.”, но прекрасно работает в Firefox.

 

3. Создание ярлыков на рабочем столе

По умолчанию, в GNOME3 нет возможности создавать ярлыки к папкам и программам кликом правой кнопкой мыши. Для этого нужно создать файл “Create New Launcher” и положить его в папку ~/.gnome2/nautilus-scripts/:

cat .gnome2/nautilus-scripts/Create\ New\ Launcher
gnome-desktop-item-edit ~/Desktop/ –create-new

После этого в контекстном меню по клику правой кнопки мыши появляется пункт Scripts -> Create New Launcher с возможностью создать ярлык.

 

4. Индикатор клавиатуры

В верхней панели свежеустановленной Mint 12 оказалось два индикатора клавиатуры: один от GNOME2, другой от GNOME3 (пруф: 1, 2). Для избавления от одного из них нужно в Hex-редакторе (например, Bless) открыть /usr/lib/gnome-settings-daemon-2.0/libkeyboard.so, найти последовательность FF 83 F8 01 0F и заменить 01 на 02.

Кстати, для того чтобы вместо EN/RU отображать флажки, нужно включить соответствующую опцию в gconf-editor (/desktop/gnome/peripherals/keyboard/indicator/showFlags) и dconf-editor (org/gnome/libgnomekbd/indicator/show-flags). И конечно же в ~/.icons/flags нужно положить ru-symbolic.png и us-symbolic.png с размером, соответствующим верхней панели GNOME3 (флажки можно найти на просторах Интернета). Подчеркну, что файлы должны называться ru-symbolic.png и us-symbolic.png, а не ru.png и us.png, как в предыдущей версии GNOME.

 

5. Оптимизация загрузки системы

Можно побороться за уменьшение времени запуска системы и избавление от ненужных сервисов (источники: 1, 2). И действительно, время загрузки удалось уменьшить на 20%.

 

6. Словарь Stardict

Словарь устанавливается одной командой sudo apt-get install stardict. Некоторые сложности возникают с добавлением словарей. Каждый словарь представляет собой папку с несколькими файлами. Если раньше Stardict понимал такую структуру, то в версии 3.0.1 все файлы нужно перетаскивать из папок в одноуровневую структуру: find . -type f -exec cp {} /usr/share/stardict/dic/ \;

 

7. Гипервизор

Очень хотелось поднять VMware Server, потому что на предыдущей системе было две виртуальных машины, созданные в этой среде. Но не удалось скомпилировать модуль vmmon, потому что The path “/usr/src/linux/include” is a kernel header file directory, but it does not contain the file “linux/version.h” as expected. Не помогла ни установка linux-headers и build-essensial, ни пляски с симлинками на каталоги. Конфигуратор vmware-config.pl отказался найти заголовки. Не помог ни один патч, найденный в Интернете. Такое ощущение, что удачных попыток установки VMware Server на систему с ядром 3.0 еще не было. Как сказал один из экспертов, Even though VMware Server was working fine with Ubuntu 10.04 (apart from random lockups without a backtrace in sight to debug with), I was kinda unhappy with all the hoops one has to go through just to get a virtual machine going. The kernel modules might break on the next upgrade and are tainting the kernel unnecessarily. Fortunately today we have a few virtualization options to pick from and I chose VirtualBox for this particular setup, as it seemed to be the easiest migration path.

Ну что ж, надо менять гипервизор. VirtualBox ставится на ура (sudo apt-get install virtualbox), но нужно сконвертировать машины из формата VMware в формат VirtualBox. Наиболее часто встречаются советы воспользоваться qemu-img и VBoxManage, но на мой взгляд гораздо проще перевести машины в формат ovf, который понятен большинству современных гипервизоров. Для этого с сайта VMware скачиваем утилиту ovftool. Устанавливается она просто (sudo sh VMware-ovftool-2.1.0-467744-lin.i386.bundle). Далее выполняем конвертацию: ovftool Red\ Hat\ Enterprise\ Linux\ 4.vmx Red\ Hat\ Enterprise\ Linux\ 4.ovf И наконец, в консоли VirtualBox выполняем File->Import Virtual Appliance.

Замечание: перед конвертацией Windows-машины (например, Windows XP) нужно предварительно деинсталлировать VMware Tools, иначе импорт завершится с ошибкой. Деинсталлировать VMware Tools можно лишь в запущенной виртуальной машине, поэтому про это нужно не забыть перед сносом VMware Server.

 

8. “Тот самый” верхний левый угол

“Активность” верхнего левого угла рабочего стола (наведение мышки приводит к переключению на список окон и приложений) можно отключить.

 
Прогресс в развитии настольных Linux-системы налицо, и это радует. Есть много энтузиастов, чьими усилиями Linux продвигается вперед. И есть понимание того, как эти усилия сделать более эффективными (1, 2, 3). Ubuntu или Mint? Время покажет.

Отправить в Twitter, Facebook, FriendFeed, ВКонтакте | Опубликовано 26.03.2012 в рубрике "Приложения"

Комментарии (4)

  1. Pingback : OpenQuality.ru | Качество программного обеспечения | March 26, 2012

    […] работы с Sikuli. В качестве примера выбрано приложение mate-volume-control для настройки звука в Alsa. Нижеприведенный скрипт […]


  2. Автор комментария : CK | March 26, 2012

    Hehe, nice to receive a trackback from .ru! :-) I don’t speak Russian and could not parse your article - Google Translate to the rescue! :-)

    [Ответить]


  3. Автор комментария : Капитан | March 26, 2012

    Christian,

    Well, I believe, Google Translate gives you some clue :) Thanks for your hard work on Linux tuning :)

    [Ответить]


  4. Pingback : OpenQuality.ru | Качество программного обеспечения | January 21, 2015

    […] чтобы обогнуть подводные камни. Вторая заметка, Linux Mint: шаг навстречу светлому будущему, вышла в начале 2012 года и повествовала о Linux Mint 12. С этой […]



Добавить комментарий

Пожалуйста, исправьте результат: дважды два равно



КРАТКОЕ СОДЕРЖАНИЕ

Что такое качество программного обеспечения и как его улучшить: теория и практика, задачи и решения, подводные камни и обходные пути.


ПУТЕВОДИТЕЛЬ

Список всех статей с краткой аннотацией и разбивкой по рубрикам. Открыть карту.

ПОДПИСКА

Доступ к самым интересным материалам по электропочте и RSS. Подробности.

ИЩЕЙКА