arch-wiki-md-repo
Version:
All arch-wiki articles in markdown format, updated every two days.
198 lines (123 loc) • 13.6 kB
Markdown
[Plymouth](http://fedoraproject.org/wiki/Releases/FeatureBetterStartup) — это проект из Fedora, обеспечивающий загрузку системы без бегущих надписей (логов) на экране. Он базируется на [kernel mode setting](/index.php/Kernel_mode_setting "Kernel mode setting") (KMS, установка разрешения и глубины цвета на уровне ядра) для обеспечения родного разрешения экрана на раннем этапе загрузки, после чего отображает привлекательный загрузочный экран вплоть до этапа выбора пользователя.
## Contents
* [1 Подготовка](#.D0.9F.D0.BE.D0.B4.D0.B3.D0.BE.D1.82.D0.BE.D0.B2.D0.BA.D0.B0)
* [2 Установка](#.D0.A3.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B0)
* [3 Конфигурация](#.D0.9A.D0.BE.D0.BD.D1.84.D0.B8.D0.B3.D1.83.D1.80.D0.B0.D1.86.D0.B8.D1.8F)
* [3.1 Включение Plymouth в Initcpio](#.D0.92.D0.BA.D0.BB.D1.8E.D1.87.D0.B5.D0.BD.D0.B8.D0.B5_Plymouth_.D0.B2_Initcpio)
* [3.2 Командная строка ядра и настройка загрузчика](#.D0.9A.D0.BE.D0.BC.D0.B0.D0.BD.D0.B4.D0.BD.D0.B0.D1.8F_.D1.81.D1.82.D1.80.D0.BE.D0.BA.D0.B0_.D1.8F.D0.B4.D1.80.D0.B0_.D0.B8_.D0.BD.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B0_.D0.B7.D0.B0.D0.B3.D1.80.D1.83.D0.B7.D1.87.D0.B8.D0.BA.D0.B0)
* [3.3 Настройка дисплейного менеджера](#.D0.9D.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B0_.D0.B4.D0.B8.D1.81.D0.BF.D0.BB.D0.B5.D0.B9.D0.BD.D0.BE.D0.B3.D0.BE_.D0.BC.D0.B5.D0.BD.D0.B5.D0.B4.D0.B6.D0.B5.D1.80.D0.B0)
* [3.4 Изменение темы](#.D0.98.D0.B7.D0.BC.D0.B5.D0.BD.D0.B5.D0.BD.D0.B8.D0.B5_.D1.82.D0.B5.D0.BC.D1.8B)
* [4 Устранение неполадок](#.D0.A3.D1.81.D1.82.D1.80.D0.B0.D0.BD.D0.B5.D0.BD.D0.B8.D0.B5_.D0.BD.D0.B5.D0.BF.D0.BE.D0.BB.D0.B0.D0.B4.D0.BE.D0.BA)
* [4.1 Маленькие черные квадраты](#.D0.9C.D0.B0.D0.BB.D0.B5.D0.BD.D1.8C.D0.BA.D0.B8.D0.B5_.D1.87.D0.B5.D1.80.D0.BD.D1.8B.D0.B5_.D0.BA.D0.B2.D0.B0.D0.B4.D1.80.D0.B0.D1.82.D1.8B)
* [4.2 Выключение <-- Все еще проблема?](#.D0.92.D1.8B.D0.BA.D0.BB.D1.8E.D1.87.D0.B5.D0.BD.D0.B8.D0.B5_.3C--_.D0.92.D1.81.D0.B5_.D0.B5.D1.89.D0.B5_.D0.BF.D1.80.D0.BE.D0.B1.D0.BB.D0.B5.D0.BC.D0.B0.3F)
* [5 Также смотри](#.D0.A2.D0.B0.D0.BA.D0.B6.D0.B5_.D1.81.D0.BC.D0.BE.D1.82.D1.80.D0.B8)
## Подготовка
**Важно:** Plymouth в настоящее время находится в активной разработке и может содержать ошибки.
Plymouth главным образом использует KMS для обработки графики. Если вы знаете что это такое и уже настроили, смело переходите к [Установка](#.D0.A3.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B0).
В противном случае у вас есть два варианта:
1. Установить и настроить KMS: пожалуйста, обратитесь к инструкциям для видеокарт [ATI](/index.php/ATI#AMD.2FAti_cards_and_KernelModeSetting_.28KMS.29 "ATI"), [Intel](/index.php/Intel#KMS_.28Kernel_Mode_Setting.29 "Intel") или [Nvidia](/index.php/Nouveau#KMS "Nouveau"). Все они требуют редактирования/пересборки ядра. Это будет описано позже в этой статье, поэтому редактирование образа ядра пока может быть пропущено.
2. Несмотря на то, что использование KMS предпочтительно, Plymouth может работать без них. Если у вас нет возможности использовать KMS, то вам понадобится [framebuffer](/index.php/Framebuffer#Framebuffer_Resolution "Framebuffer"). Рекомендуется использовать драйвер Uvesafb, так как он поддерживает разрешения широкоформатных дисплеев.
Если у вас не настроены ни KMS ни framebuffer, то Plymouth вернется в текстовый режим.
## Установка
Plymouth пока недоступен в [официальных репозиториях](/index.php/Official_repositories_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "Official repositories (Русский)") и должен быть установлен из [AUR](/index.php/Arch_User_Repository_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "Arch User Repository (Русский)").
Стабильная версия называется [plymouth](https://aur.archlinux.org/packages/plymouth/), но можно использовать версию [plymouth-git](https://aur.archlinux.org/packages/plymouth-git/).
## Конфигурация
### Включение Plymouth в Initcpio
Добавьте Plymouth в HOOKS в [mkinitcpio.conf](/index.php/Mkinitcpio.conf "Mkinitcpio.conf"). Он обязательно **должен** быть добавлен *после* **base**, **udev** и **autodetect**:
`/etc/mkinitcpio.conf` `HOOKS="base udev autodetect [...] plymouth"`
**Важно:** Если используется [шифрование жестких дисков](/index.php/System_Encryption_with_LUKS_for_dm-crypt "System Encryption with LUKS for dm-crypt") с **encrypt** hook, *необходимо* заменить его на **plymouth-encrypt** чтобы получить доступ к запросу пароля TTY.
Для более раннего запуска KMS надо добавить модуль [radeon](/index.php/Radeon "Radeon") (для видеокарт radeon), [i915](/index.php/Intel "Intel") (для видеокарт Intel) или [nouveau](/index.php/Nouveau "Nouveau") (для видеокарт nvidia) в строку MODULES в `/etc/mkinitcpio.conf`:
`/etc/mkinitcpio.conf`
```
MODULES="i915"
**или**
MODULES="radeon"
**или**
MODULES="nouveau"
```
Переконфигурация образа ядра (см. статью [mkinitcpio](/index.php/Mkinitcpio "Mkinitcpio") для более детальной информации):
`# mkinitcpio -p [имя вашего ядра]`
### Командная строка ядра и настройка загрузчика
Необходимо установить **quiet** и **splash**-режимы ядра в параметрах командной линии загрузчика. Для [Grub2](/index.php/Grub2 "Grub2") наиболее простым и безопасным способом сделать это является редактирование файла `/etc/default/grub`. Приведите указанные переменные к следующему виду:
`/etc/default/grub`
```
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_GFXMODE=1366x768x24
GRUB_GFXPAYLOAD_LINUX=keep
```
Можно заставить KMS принудительно запускаться раньше добавив "*radeon.modeset=1*" (для видеокарт radeon) or "*i915.modeset=1*" (для видеокарт Intel) в опции ядра:
```
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash radeon.modeset=1"
```
```
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i915.modeset=1"
```
Чтобы сгенерировать `grub.cfg`, выполните:
```
# grub-mkconfig -o /boot/grub/grub.cfg
```
Для [GRUB](/index.php/GRUB "GRUB") и [LILO](/index.php/LILO "LILO") шаблон аналогичен.
### Настройка дисплейного менеджера
Следует заменить существующий сервис дисплейного менеджера на поставлющийся вместе с Plymouth (на примерe [LightDM](/index.php/LightDM "LightDM")):
1. Отключите существующий сервис: `systemctl disable lightdm.service`
2. Включите аналогичный сервис, совместимый с Plymouth: `systemctl enable lightdm-plymouth.service`
Если вы предпочитаете [GDM](/index.php/GDM "GDM"), установите пакет [gdm-plymouth](https://aur.archlinux.org/packages/gdm-plymouth/), содержащий патчи для "бесшовного" перехода от анимации Plymouth к дисплейному менеджеру.
### Изменение темы
Plymouth имеет на выбор темы:
1. Fade-in: "Простая тема с затухающими и разгорающимися мерцающими звездами"
2. Glow: "Производственная тема, показывающая процесс загрузки в виде круговой диаграммы"
3. Script: "Пример скрипта" (Несмотря на описание выглядит очень симпатичной темой Arch)
4. Solar: "Космическая тема, голубая звезда с протуберанцами" and
5. Spinfinity: "Простая тема показывающая вращающийся знак бесконечности в центре экрана"
6. *(Text: "Текстовый режим с трехцветной полосой прогресса")*
7. *(Details: "Резервная тема с подробностями загрузки")*
Список установленных тем можно вызвать командой:
```
plymouth-set-default-theme -l
```
Для просмотра тем без перезагрузки. Нажать Ctrl+Alt+F2 для переключения консоли, войти как root и набрать:
```
plymouthd
plymouth --show-splash
```
Для выхода из просмотра нажать Ctrl+Alt+F2 снова и набрать:
```
plymouth --quit
```
Установить желаемую тему можно утилитой **plymouth-set-default-theme**, например:
```
# plymouth-set-default-theme spinfinity
```
Соберите образ ядра:
```
# mkinitcpio -p [name of your kernel preset]
```
Перезагрузитесь.
## Устранение неполадок
### Маленькие черные квадраты
По каким-то причинам после выполнения команды выйти, Plymouth может оставить черные квадраты вверху экрана видимые поверх всех окон. Два подтвержденных случая, это ноутбук с видеокартой ATI при использовании KMS, и десктоп с видеокартой nVidia использующий framebuffer. Источником проблемы является опция `--retain-splash` , которая требуется для максимально плавного отображения в процессе загрузки. Обходным путем является принудительное закрытие Plymouth *после* логина, когда опция `--retain-splash`более не требуется.
Нужно отредактировать `~/.xinitrc` и добавить следующую линию **перед** линией запускающей менеджер окружения рабочего стола (подобной "exec openbox-session") чтобы выключить Plymouth:
```
sudo /bin/plymouth quit &
```
**Примечание:** Отсутствие `--retain-splash` и дополнительный знак `&` требуются чтобы xinitrc мог продолжать запуск графического окружения и оставить Plymouth выключаться в фоновом режиме.
**Важно:** Если не вставить это **перед** строкой запуска сессии рабочего стола (к примеру "exec startxfce4") **приведет** в результате к **незапускаемой** сессии.
Чтобы получить разрешение на принудительное отключение Plymouth без пароля, нужно отредактировать `/etc/sudoers`:
```
$ su
# EDITOR=nano visudo
```
и добавить:
```
*Ваш_Логин* ALL=(ALL) NOPASSWD: /bin/plymouth
```
После этого необходимо перезагрузиться.
### Выключение `<-- Все еще проблема?`
Если имеется проблема с выключением Power Off, к примеру компьютер перезагружается вместо выключения, причиной может быть или KMS или Plymouth. Если причина в Plymouth, то необходимо или запустить "plymouth --mode ..." в случае перезагрузки или halt или отредактировать `/etc/rc.d/functions.d/plymouth.functions` и закомментировать следующий блок:
```
if [ "$0" == "/etc/rc.shutdown" ]; then
...
fi
```
## Также смотри
[Обсуждение на форуме](https://bbs.archlinux.org/viewtopic.php?id=81406)