Тег «Linux»

День рождения Linux

Версия 0.01 вышла 17 сентября 1991 года. Сегодня совершеннолетие!

Всем срочно sudo drink !

Четкие шрифты в Linux

Не знаю, как всех, но лично меня страшно раздражают сглаженные шрифты. Ну поаккуратнее они, ну покрасивее. Ну и что? Читаются же ужасно! К тому же, поверьте очкарику со стажем, нечеткие буквы — прямой путь к перенапряжению глаз. Мозг считает, что плохо сфокусировал глаза, и поэтому весь день только и занимается тем, что пытается их перефокусировать. Да что там, для меня даже несглаженный шрифт на подключенном через аналоговый выход мониторе чересчур нечеткий.

В Windows шрифтовым стандаSharp Fontsртом де-факто является True Type. В Linux за отображение шрифтов отвечает пакет freetype, который поддерживает кучу стандартов шрифтов, но вот нормальное отображение True Type в нем обычно отключено по юридическим соображениям. Поэтому, если просто отключить антиалиасинг, то шрифты будут четкими, но фантастически уродливыми (даже если взять виндовые).

Чтобы таки получить шрифты «как в Windows», мне достаточно было выполнить нехитрые действия:

  1. Отключить штатное сглаживание и поставить экранное разрешение 96 dpi.
  2. Перекомпилировать freetype, взяв его с http://www.freetype.org/ (желательно версию, которая сейчас установлена). При этом прочитать docs/TRUETYPE, в котором описаны необходимые действия, которые нужны для корректной обработки True Type (нужно раскомментировать одну строку в одном заголовочнике). Не забыть указать префикс (у меня /usr) при вызове ./configure.
  3. Перезагрузить иксы.
  4. Enjoy!

Минус только один: при обновлении freetype придется проделать действия заново.

Подробнее об этом процессе можно почитать здесь. Шрифты True Type можно взять тут.

УжасноПлохоНормальноХорошоОтлично (Еще не оценили)
Loading ... Loading ...

Проблемы с microtype и шрифтами

Я уже писал про одну из возможностей пакета microtypeвисячую пунктуацию (кстати, это частный случай margin kerning — кернинга крайних символов в строке для визуального выравнивания границ текста). Так вот, этот пакет позволяет делать еще множество всяких микротипографских трюков (см. инструкцию). Один из основных — автоматическое растягивание шрифта (font expansion) для выравнивания пробелов между словами.

Не сказать чтобы мне это самое растягивание позарез как нужно, но после очередного обновления (у меня Fedora 11) моя статья перестала собираться, мотивируя это примерно так:

ERROR: pdfTeX error (font expansion): auto expansion is only possible with scalable fonts

Это загнало меня в тупик на несколько часов. Конечно, Гугль знает о такой проблеме. И в инструкции к microtype все подробно написано. Ответ очевиден: использовать масштабируемый шрифт. Проблема только в том, что используемый по умолчанию шрифт cmr из пакета cm-super очень даже масштабируемый. Лог сборки по этому поводу тоже не особенно внятен.

Решение нашлось практически случайно. Некая загадочная редиска закомментировала в файле updmap.cfg строки, содержащие «cm-super». Мне достаточно было раскомментировать строку (я использую кодировку T2A):

MixedMap cm-super-t2a.map

и выполнить

sudo updmap

Все заработало. За помощь в поимке редиски объявлено вознаграждение.

УжасноПлохоНормальноХорошоОтлично (2 голосов, средний: 5,00 из 5)
Loading ... Loading ...

Logitech MX Revolution и Linux: как достичь счастья

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

Тогда основной моей осью была Windows 2003 Server. Удобная и надежная система, под которую драйверы и серьезные программы отказывались ставиться буквально через одного. Мол, у вас серверная ОС, мы вас боимся. Вдруг к нам придет ваш бородатый админ и будет ругаться? И вообще, купите лучше серверную версию нашего продукта втрое дороже. Или поставьте XP. Или пойдите еще куда-нибудь. Запуск установщика в режиме эмуляции XP иногда помогал, но чаще — нет. Это несколько напрягало, но обычно нужным программам находились альтернативы. С драйверами сложнее.

Вот и когда я распаковал шедевр коробочного искусства и извлек оттуда пресловутый космический девайс, со всей остротой встал вопрос — как заставить работать все эти 11 кнопок и 1 колесико? Фирменный SetPoint, увидев серверную винду, прикинулся шлангом, и припарки не помогли. Альтернатив этому поделию не предусмотрено. Впрочем, со временем я эту проблему решил (если кому будет интересно, расскажу как).

Затем я перешел на Linux. Собственно, я и не ожидал, что моя MX Revo будет нормально там работать. Две кнопки и колесико — что еще нужно настоящему программисту? Но Fedora 10 далеко превзошла мои ожидания, автоматически и правильно опознав 8 кнопок из 11. Единственное, что меня расстраивало — невозможность использовать вместо нажатия на центральное колесико нажатие на боковое псевдо-колесико (нажатие на центральное колесико у меня меняет режим вращения). Удобно, знаете ли, ссылки в Firefox открывать и вкладки закрывать.

Итак, я хотел, чтобы нажатие на боковое колесико имело тот же эффект, что и нажатие на вторую кнопку мыши (основное колесико у большинства смертных). После вознесения правильной молитвы Гуглу, нашлось решение. Подробно описывать не буду — там и так все понятно. Решение прекрасное, но у него есть один недостаток — оно не работает. Точнее, в моем случае не работает.

С помощью xbindkeys, действительно, можно сопоставить команде оболочки некоторые нажатия мышиных и клавиатурных кнопок. Осталась самая малость — соответствующей командой оболочки сэмулировать нажатие второй кнопки мыши. Если верить документации на xvkbd, то это можно сделать так:

#~/.xbindkeysrc
"/usr/bin/xvkbd -xsendevent -text "\m2""
b:17

Проблема в том, что xvkbd не желает эмулировать мышиные клики. Что ж, незаменимых у нас нет. После непродолжительных поисков нахожу xdotool. Проверяю вручную, набрав в консоли:

xdotool click 2

Действительно, нажатие второй кнопки происходит. Теперь меняем ~/.xbindkeysrc:

#~/.xbindkeysrc
"~/bin/xdotool click 2"
b:17

Запустив xbindkeys в режиме отладки (ключ -v), вижу, что при нажатии на 17-ю кнопку (то самое псевдоколесико) действительно происходит эмуляция нажатия на 2-ю. Но видимого эффекта почему-то нет. Мистика. Подумав немного, решаю, что xdotool конфликтует c xbindkeys. Решение очевидно: разнести их по времени.

#~/.xbindkeysrc
"sleep 0.15; ~/bin/xdotool click 2"
b:17

Работает! Величина задержки подбирается экспериментально. У меня при 0.1 все еще есть конфликт, а при 0.15 — работает. Такая маленькая задержка практически не заметна, и неудобств не доставляет.

Ну, а как сменить кнопку, по которой переключается режим работы колесика, давно уже написали на Хабре.

УжасноПлохоНормальноХорошоОтлично (1 голосов, средний: 5,00 из 5)
Loading ... Loading ...

Как не надо ремонтировать жесткий диск

История со мной произошла пренеприятнейшая, но со счастливым концом и мощным назидательным содержанием.

Есть такие люди, которые идут-идут своей тропинкой, посматривают по сторонам, и вдруг — бац! Наступают на грабли. Другие заранее замечают разложенный на дороге коварный садовый инвентарь, и обходят опасное место кустиками. Мой случай более интересен — я наступил в метафорическую кучу дерьма. И вместо того, чтобы обтереть ботинок листиком, я поперся в бурелом на поиски крана с водой, и уже там наступил на свои грабли. Причем несколько раз.

Кого интересовала философская сторона вопроса, могут дальше не читать. А я все же приведу немного подробностей.

Компьютер внезапно перестал грузиться. Проходит POST, появляется надпись о попытке загрузить с CD — и тишина. Ни сообщений, ни воплей спикера — ничего. Ну, думаю, первичный загрузчик накрылся. Мелькнула у меня мысль вроде «А с чего бы он вдруг вот так взял и накрылся?», но симптомы были слишком очевидны. Достал с дальней полки установочный диск древней Slackware, загрузился. Смотрю — диск целый, таблица разделов в сохранности, сами разделы монтируются, fsck не ругается. Мистика просто: кто-то взял, и аккуратно так испортил начало MBR.

Ладно, зря что ли я писал свой загрузчик? Нахожу GRUB, командую ему «фас», он послушно пишет первую ступень в MBR. Перезагрузка. Тишина. Повторяем с другими настройками. То же самое. Через 20 минут я начинаю тихо закипать. Скачал Live CD Fedora 10 с ноутбука, может дело в версии GRUB?.. То же самое.

Тут вспоминаю, что вроде бы я делал бэкап первого сектора. Лезу в недра домашнего каталога — вот он, голубчик! Вооружившись dd, лихим кавалерийским наскоком переписываю резервную копию на диск. И когда уже палец опускался на Enter, я вспоминаю, что бэкап-то был от другого диска… Но поздно. Таблица разделов безвозвратно утеряна. Диск превратился в груду бессмысленных секторов.

Но не все потеряно! Есть же gpart — моя последняя надежда! Запускаю его на полное сканирование, вижу как он успешно находит раздел NTFS и со спокойной душой иду спать — работать он будет (по опыту) долго. Утром gpart показывает кашу из незнакомых мне разделов. «Не шмогла». Иду гуглить. Оказывается, есть еще одна подобная утилита — testdisk. Ставлю ее, запускаю сканирование. От силы через две секунды (!) она мне выдает правильный список разделов. Фууф, гора с плеч. Save. GRUB. Перезагрузка. Опять тишина…

Вдумчивый читатель, наверное, уже догадался, чем окончилась моя история. Я наконец-то зашел в настройки BIOS и увидел, что сбился порядок загрузки с носителей. Компьютер все время пытался грузиться с диска, на котором загрузчика просто не было. А от моих манипуляций с другим диском, разумеется, ничего не менялось.

Вот такая история. А мораль простая — надо чаще думать головой.

УжасноПлохоНормальноХорошоОтлично (3 голосов, средний: 5,00 из 5)
Loading ... Loading ...