Выглядит этот TV-тюнер следующим образом:
и с другой стороны:
Настраивается одной командой:
sudo echo "options bttv card=72 tuner=23 radio=1" > /etc/modprobe.d/bttv.conf
Не претендую. Не рекомендую. Набиваю руки.
Выглядит этот TV-тюнер следующим образом:
и с другой стороны:
Настраивается одной командой:
sudo echo "options bttv card=72 tuner=23 radio=1" > /etc/modprobe.d/bttv.conf
В Ubuntu Lucid загрузка Linux в режиме восстановления настроена по умолчанию так, что доступ к учетной записи root не требует авторизациии. Кроме того, разрешено свободное редактирование любого пункта меню загрузки. Исправить ситуацию можно настроив в GRUB 2 аутентификацию.
Назначим имя и пароль суперпользователя GRUB 2, добавив следующий текст в конец файла /etc/grub.d/00_header:
cat << EOF set superusers="user1" password user1 password1 EOF
Суперпользователь (в нашем случае — user1) имеет возможность загружать и редактировать любой пункт меню GRUB 2, а также работать с GRUB 2 в режиме командной строки. Без прохождения аутентификации эти действия становятся невозможны.
В файле /etc/grub.d/10_linux заменяем этот фрагмент:printf "menuentry '${title}' ${CLASS} {\n" "${os}" "${version}"
на следующий:
if ${recovery} ; then
printf "menuentry '${title}' --users user1 ${CLASS} {\n" "${os}" "${version}"
else
printf "menuentry '${title}' ${CLASS} {\n" "${os}" "${version}"
fi
Таким образом мы разрешаем загрузку режима восстановления (recovery) только пользователю user1.
GRUB 2 поддерживает хранение пароля в виде хэша (алгоритм PBKDF2). Сформировать такой хэш можно при помощи программы grub-mkpasswd_pbkdf2, которая запрашивает пароль и отдает его хэш в стандартный вывод (более двухсот символов заменено на многоточие для удобства отображения).
Enter password: Reenter password: Your PBKDF2 is grub.pbkdf2.sha512.10000.9290F727ED06C38BA4549EF7DE25CF5…
В случае использования PBKDF2-хэша пароля, запись для пользователя user2 в файле /etc/grub.d/00_header будет выглядеть так:
password_pbkdf2 user2 grub.pbkdf2.sha512.10000.9290F727ED06C38BA4549EF7DE25CF5…
Дважды в год мне приходится организовывать на компьютере двойную загрузку — очередной и предыдущей версий Ubuntu. Ситуацию осложняет то, что корневой раздел я традиционно размещаю в системе LVM, соответственно под /boot выделен отдельный раздел, а установщик Ubuntu при работе затирает его содержимое (с фатальными для загрузки предыдущей версии последствиями).
Наиболее удобным мне кажется следующее решение:
\version "2.12.1"
\pointAndClickOff
\book{
\paper {indent = 0}
\header {
dedication = "Посвящение"
title = "Название"
subtitle = "Подзаголовок"
subsubtitle = "Подподзаголовок"
poet = "Имя ПОЭТА"
instrument = "Название инструмента"
%Центрируется под подподзаголовком. Кроме того, центрируется вверху
%каждой последующей после первой страницы.
composer = "Имя КОМПОЗИТОРА"
meter = "Meter string"
%Выравнивается по левому краю под именем поэта.
arranger = "Имя АРАНЖИРОВЩИКА"
piece = "Название пьесы" %Эти два параметра отображаются для
opus = "Название сочинения" %каждого \score{}, если там не указаны
%собственные значения.
%breakbefore = This forces the title to start on a new page
%(set to ##t or ##f).
copyright = "© Уведомление об авторском праве"
%Центрируется внизу первой страницы.
tagline = "Подзаголовок"
%Центрируется внизу последней страницы.
}
\score {
\relative c'' {
\tempo "Slowly and tenderly" 4.=54
c4
}
\header {
%piece = "Название пьесы 1" %Эти два параметра подавляют аналоги из
opus = "Название сочинения 1" %главного блока \header{} если заданы здесь.
% Остальные параметры будут подавлены в любом случае.
}
}
\markup {
Необязательный текстовый блок
}
\score {
{\tempo "Allegro" 4=120
c'4
}
\header {
piece = "Название пьесы 2" %Эти два параметра подавляют аналоги из
%opus = "Название сочинения 2" %главного блока \header{} если заданы здесь.
% Остальные параметры будут подавлены в любом случае.
}
}
}
После компиляции этого кода получится следующий результат:\version "2.12.1"
\pointAndClickOff
\book{
\paper {indent = 0} % Убираем "красную строку" во всем документе.
\header {
dedication = \markup \fill-line {"Посвящение" "Еще одно посвящение"}
title = \markup \column \center-align {"Название произведения" "в несколько строк"}
subtitle = \markup \fill-line {" " "Подзаголовок"}
subsubtitle = \markup \fill-line {"Подподзаголовок" " "}
poet = \markup \left-align \center-column {"Город" "Имя ПОЭТА" "Год"}
instrument = "Название инструмента"
composer = \markup \right-align \center-column {"Город" "Имя КОМПОЗИТОРА" "Год"}
meter = \markup {Slowly and tenderly (\teeny \note #"4." #1 = 54) }
arranger = \markup \right-column {"Город" "Имя АРАНЖИРОВЩИКА" "Год"}
% tagline = ##f %Если не указать tagline выводится значение по умолчанию:
% "Music engraving by LilyPond 2.12.1—www.lilypond.org"
}
\score { \relative c'' { c4 } }
}
Мне не нравится то, как по умолчанию выглядят шрифты в Ubuntu. Напротив, мне нравится, как выглядят шрифты Monotype, используемые маленькой фирмой, производящей мягкие окна.
Команда
$ aptitude install ttf-mscorefonts-installer
с последующей доводкой напильником gnome-appearance-properties (Система → Параметры → Внешний вид → Шрифты), решает проблему лишь частично — в firefox, например, также необходимо указать три варианта шрифта, причем, желательно, для каждого языка.
Кроме того, шрифтовые предпочтения других пользователей обслуживаемых мною машин совпадают с моими. Соответственно, хочется назначить начертания шрифтов глобально.
Для исполнения этого желания достаточно использовать пару файлов:
Содержимое этих файлов прекрасно описано здесь, однако свою версию /etc/fonts/local.conf я приведу:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!-- Настройки отображения шрифтов по умолчанию -->
<match target="font">
<edit mode="assign" name="rgba"><const>none</const></edit>
<edit mode="assign" name="hinting"><bool>false</bool></edit>
<edit mode="assign" name="hintstyle"><const>hintfull</const></edit>
<edit mode="assign" name="antialias"><bool>true</bool></edit>
<edit mode="assign" name="autohint"><bool>false</bool></edit>
</match>
<!-- Включить hinting, выключить antialias для мелких шрифтов -->
<match target="font">
<test compare="less_eq" name="pixelsize" qual="any"><double>17</double></test>
<edit mode="assign" name="hinting"><bool>true</bool></edit>
<edit mode="assign" name="antialias"><bool>false</bool></edit>
</match>
<!-- Включить antialias для полужирных шрифтов среднего размера -->
<match target="font">
<test compare="more_eq" name="pixelsize" qual="any"><double>15</double></test>
<test name="weight" compare="more"><const>medium</const></test>
<edit name="antialias" mode="assign"><bool>true</bool></edit>
</match>
<!-- Назначить предпочтения в семействах шрифтов
(шрифты Monotype предпочтительнее всех) -->
<alias>
<family>serif</family>
<prefer>
<family>Times New Roman</family>
<family>Liberation Serif</family>
<family>DejaVu Serif</family>
<family>Thorndale AMT</family>
<family>Luxi Serif</family>
<family>Nimbus Roman No9 L</family>
<family>Times</family>
</prefer>
</alias>
<alias>
<family>sans-serif</family>
<prefer>
<family>Arial</family>
<family>Liberation Sans</family>
<family>DejaVu Sans</family>
<family>Verdana</family>
<family>Helvetica</family>
<family>Albany AMT</family>
<family>Luxi Sans</family>
<family>Nimbus Sans L</family>
</prefer>
</alias>
<alias>
<family>sans</family>
<prefer>
<family>Arial</family>
<family>Liberation Sans</family>
<family>DejaVu Sans</family>
<family>Verdana</family>
<family>Helvetica</family>
<family>Albany AMT</family>
<family>Luxi Sans</family>
<family>Nimbus Sans L</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>Courier New</family>
<family>Liberation Mono</family>
<family>DejaVu Sans Mono</family>
<family>Cumberland AMT</family>
<family>Luxi Mono</family>
<family>Nimbus Mono L</family>
<family>Courier</family>
</prefer>
</alias>
</fontconfig>
За способ включения сглаживания у полужирных шрифтов спасибо жижеюзеру sb0y.
UPD: Добавляю ссылки на отличное описание опций и виртуозный пример управления отображением шрифтов.
Продемонстрирую метод включения в текстовый документ нотных вставок на примере файла example.lytex следующего содержания:
\documentclass[a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[english,russian]{babel}
\begin{document}
\title{Короткий документ, демонстрирующий совместное использование
LilyPond и \LaTeX{}}
\date{}
\maketitle
При необходимости, можно иллюстрировать нотами тексты, подготовленые в \LaTeX{}:
\begin[fragment]{lilypond}
\relative c'' { \time 2/2 a2 g16 a g f d8 f a4 c a c}
\end{lilypond}
Существует более компактный, но менее наглядный и функциональный вариант
синтаксиса:
\lilypond[fragment]{\time 2/2 a'2 g'16 a' g' f' d'8 f' a'4 c'' a' c''}
Описываемый метод позволяет включать в текст большие блоки нотной записи,
причем разбивка на строки происходит автоматически:
\lilypondfile{example.ly}
У метода есть проблема, решения которой я пока не нашел "--- \LaTeX{}
подавляет русские буквы, используемые LilyPond (в частности, для отображения
текстов песен).
\end{document}Как видите, к этому файлу подключен файл example.ly для пакета LilyPond, содержимое которого я тоже приведу:
\version "2.10.33"
\score { \relative c'' {
\time 2/2 a2 g16 a g f d8 f a4 c a c
a2 g16 a g f d8 f a4 d a d
ais4 e16 g ais d e4 g,16 a cis e f4. d16 f d2
ais4 e16 g ais d e4 cis d2 \bar "|."
} }Одним из результатов запуска команды
$ lilypond-book --pdf example.lytex
будет файл example.tex, который можно обрабатывать обычным образом:
$ pdflatex example.tex
Результат (example.pdf) соответствует ожиданиям:

Существует документация (на английском) к LilyPond вообще и его интеграции с LaTeX в частности.
UPD: Похоже, $ aptitude install cm-super решает проблему подавления pdflatex-ом русских букв, используемых lilypond-ом.
Устанавливаем поддержку языка и шрифты:
$ aptitude install latex-sanskrit
Далее создаем файл sanskrit.skt примерно такого содержания:
\documentclass[12pt]{article}
\usepackage[larger]{skt}
\begin{document} {\skt ddhrya}
\end{document}
Пропускаем его через препроцессор skt (входит в комплект пакета):
$ skt sanskrit.skt
На выходе получаем sanskrit.tex, с которым поступаем обычным образом.
Результат:

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

Документация к пакету — /usr/share/doc/latex-sanskrit/sktdoc.pdf.gz
По желанию можно использовать пакет texlive-lang-indic, например, так.
Отличия — в препроцессоре, TeX-пакете и, естественно, в направленности на живые языки Индии.