Руководство по настройке ArchLinux - часть 2 — различия между версиями

Материал из LUWRAIN Wiki
Перейти к: навигация, поиск
м (Защитил страницу Руководство по настройке ArchLinux - часть 2 ([Редактирование=Разрешено только автоподтверждённым участникам] (бессрочно) […)
 
(нет различий)

Текущая версия на 08:29, 27 августа 2019

Вступление

В первой статье мы рассмотрели процесс установки ArchLinux на жёсткий диск, во второй статье мы рассмотрели процесс создания системных настроек для установленного дистрибутива. В настоящей статье мы рассмотрим установку и настройку GUI для ArchLinux. Таким образом,настоящая статья является продолжением второй статьи. Хочу напомнить о том,что все настройки и установки мы совершаем ещё до первой перезагрузки системы, в режиме chroot.

Графический сервер

Обзор

Xorg — это свободная реализация оконной системы X (называемой обычно X11 или X) с открытым исходным кодом. Она необходима для запуска приложений с графическим пользовательским интерфейсом (GUI), и большинство пользователей захочет ее установить. Wayland — новый, альтернативный протокол графического сервера, для которого доступна его эталонная реализация Weston.

Установка xorg.

Для установки xorg введём команду-

pacman -S xorg-server

Можно ещё в дополнении к xorg-server установить мета-пакет- xorg-apps, который включает в себя ряд утилит для расширенной настройки xorg-

pacman -S xorg-apps

Кроме того, имеется мета_пакет,содержащий в себе и xorg-server,и xorg-apps, а так же шрифты. Его можно установить командой-

pacman -S xorg

таким образом,xorg можно установить как по минимуму,так и по максимуму.

Установка видио-драйвера.

Ядро Linux включает в себя видеодрайверы с открытым исходным кодом и поддержку аппаратного ускорения буфера кадров. Однако, для работы OpenGL и двухмерного ускорения в X11 требуется поддержка пользовательского ПО. Для того,чтобы определить свою видиокарту, введём комманду-

lspci | grep -e VGA -e 3D

Далее, надо будет установить драйвер, соответствующий нашей видиокарте. Можно поискать наш драйвер в базе видиодрайверов с открытым исходным кодом, введя команду-

pacman -Ss xf86-video

Примечание: Для того,чтобы было легче изучать слишком длинный вывод терминала. его можно вывести в txt-файл, К примеру,если нашу команду для вывода списка драйверов изменить так-

pacman -Ss xf86-video > ~/txt

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

Итак,продолжаем:

Xorg автоматически ищет установленные драйверы: • Если он не может найти установленным необходимый драйвер для оборудования, тогда он сначала ищет драйвер fbdev (xf86-video-fbdev). • Если и он не найден, тогда Xorg ищет общий драйвер vesa (xf86-video-vesa), который поддерживает большое количество чипсетов, но не включает 2D или 3D ускорение. • А если и vesa не найден, тогда X обратится к режиму KMS, который включает ускорение GLAMOR. Для того, чтобы ускорение видео работало, и часто для того, чтобы разблокировать все режимы, в которых может работать GPU, требуется правильный видеодрайвер: Для обеспечения работы openGL необходимо установить пакет- mesa командой-

pacman -S mesa

Есть группа пакетов, которая называется- xorg-drivers, в эту группу входят свободные драйверы для источеников ввода и для видиокарт- интл,МВидио и для карты Radion. Во избежание проблем X следует запускать без драйверов с закрытым исходным кодом, которые обычно требуются только для расширенных возможностей, таких, как быстрый 3D рендеринг в играх. Исключением из этого правила являются недавние графические процессоры (особенно видеокарты NVIDIA), которые не поддерживаются драйверами с открытым исходным кодом. Итак, установку драйверов с открытым исходным кодом, в том числе и видио-драйвер, можно установить командой-

pacman -S mesa xorg-drivers

Запуск xorg.

Команду Xorg(1) обычно не используют для запуска. Вместо этого оконный сервер X запускают с помощью экранного менеджера или xinit. Рассмотрим оба способа поочерёдно.

Xinitrc.

Для того,чтобы можно было бы использовать запуск xorg через xinit и startx. необходимо установить пакет- xorg-xinit стандартной для установки пакетов командой.

pacman -S xorg-xinit

Настройка

Если .xinitrc присутствует в домашнем каталоге пользователя, startx и xinit выполнят его. Иначе startx выполнит по умолчанию /etc/X11/xinit/xinitrc. Примечание: Xinit имеет собственное поведение по умолчанию, вместо выполнения файла. Это значение по умолчанию xinitrc запустит базовую среду с Twm, xorg-xclock и Xterm (при условии, что необходимые пакеты установлены). Поэтому, чтобы запустить другой оконный менеджер или окружение рабочего стола, сначала создайте копию по умолчанию xinitrc в вашем домашнем каталоге:

$ cp /etc/X11/xinit/xinitrc ~/.xinitrc

Это делается так (вместо создания с нуля) чтобы сохранить некоторое желаемое поведение по умолчанию в исходном файле, например, поиске скриптов из /etc/X11/xinit/xinitrc.d. Сценарии в этом каталоге без .sh расширения не считаются исходным кодом. Добавьте нужные команды и удалите/закоментируйте противоречивые строки. Помните, строки, следующие после exec будут игнорироваться. Например, для запуска openbox:

~/.xinitrc

if [ -d /etc/X11/xinit/xinitrc.d ] ; then

   for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
       [ -x "$f" ] && . "$f"
   done
   unset f

fi

  1. twm &
  2. xclock -geometry 50x50-1+1 &
  3. xterm -geometry 80x50+494+51 &
  4. xterm -geometry 80x20+494-0 &
  5. exec xterm -geometry 80x66+0+0 -name login
    1. некоторые приложения, которые должны быть запущены в фоновом режиме

xscreensaver &

xsetroot -cursor_name left_ptr & exec openbox-session Примечание: По крайней мере, убедитесь, что блок if в примере выше, присутствует в вашем файле .xinitrc для того чтобы подать скрипт /etc/X11/xinit/xinitrc.d/30-dbus.sh. Иначе сессия D-Bus не будет запущена.

Запуск

Долговыполняемые программы стартуют перед оконным менеджером, такие как заставки и обои приложения. Они должны либо сами выполняться параллельно, либо работать в фоновом режиме (добавьте знак &). Иначе, сценарий остановится и будет ждать каждую программу, чтобы закончить перед запуском оконного менеджера. Обратите внимание, что некоторые программы не должны стартовать параллельно, во избежании потока ошибок, как в случае с xrdb. Подготовка exec заменит процесс скрипта с процессом оконного менеджера, так что Х не завершится, даже если этот процесс распараллелен в фоне. Для запуска Xorg от имени обычного пользователя, выполните:

$ startx

или

$ xinit -- :1 -nolisten tcp vt$XDG_VTNR

Выбранный вами оконный менеджер (или окружение рабочего стола) теперь запустится правильно. Для выхода из X, запустите функцию выхода вашего оконного менеджера (при условии, что он есть). Если нет такой возможности, запустите:

$ pkill -15 Xorg

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

WM_PID=$(xprop -id $(xprop -root _NET_SUPPORTING_WM_CHECK \

| awk -F'#' '{ print $2 }') _NET_WM_PID \

| awk -F' = ' '{ print $2 }')

kill -15 $WM_PID

Программа xprop доступна в пакете xorg-xprop из Официальных репозиториев.

Примечание: • Команды запускают Xorg на томже виртуальном терминале, в который вошёл пользователь. [1] Это поддерживает авторизованную сессию с logind, и предотвращает обход блокировщика экрана, при переключении терминалов. • Вы должны указать vt$XDG_VTNR в качестве опции командной строки для xinit чтобы сохранить права сессии (preserve session permissions). • xinit не обрабатывает несколько сеансов, когда вы уже вошли в другой виртуальный терминал. Для этого необходимо указать сессию добавления -- :session_no. Если X уже запущен, то вы должны начать с: 1 или больше. • По умолчанию, экран X должен быть на том же терминале, где и произошел вход. Это обрабатывается /etc/X11/xinit/xserverrc по умолчанию. Смотрите General troubleshooting#Session permissions для

Автозапуск X при входе в систему

Примечание: Это решение запускает X на том же терминале использующимся для входа, который нужен чтобы поддержать сеанс регистрации. Для Bash, добавьте следующее в нижнюю часть ~/.bash_profile. Если файл не существует, скопируйте шаблон-версию с /etc/skel/.bash_profile. Для Zsh, добавьте в ~/.zlogin (или в ~/.zprofile).

-z $DISPLAY && $XDG_VTNR -eq 1 && exec startx

Примечание: • Вы можете заменить -eq 1 на -le 3 (от vt1 до vt3) если вы хотите использовать графические логины на более чем одном VT. • Чтобы сохранить ссессию logind, Х должен всегда работать на томже терминале, где произошел Вход (логин). Это работает по умолчанию /etc/X11/xinit/xserverrc. • xinit может быть быстрее, чем startx, но нужны дополнительные параметры, например -nolisten tcp. • Если вы хотите оставаться в системе, когда заканчивается Х сессия, удалите exec.

Создание выбора DE/WM (Окружения рабочего стола/Оконного менеджера)

Если вы часто переключаетесь между различными DEs/WMs, рекомендуется использовать Display manager или добавить код в .xinitrc. Следующий код, описанный в нескольких строчках, будет принимать аргумент и загружать желаемое окружение рабочего стола или менеджера окон. В следующем примере ~/.xinitrc показано как запустить конкретную DE/WM с аргументом:

~/.xinitrc

  1. Xfce передаётся по умолчанию

session=${1:-xfce}

case $session in

   awesome           ) exec awesome;;
   bspwm             ) exec bspwm;;
   catwm             ) exec catwm;;
   cinnamon          ) exec cinnamon-session;;
   dwm               ) exec dwm;;
   enlightenment     ) exec enlightenment_start;;
   ede               ) exec startede;;
   fluxbox           ) exec startfluxbox;;
   gnome             ) exec gnome-session;;
   gnome-classic     ) exec gnome-session --session=gnome-classic;;
   i3|i3wm           ) exec i3;;
   icewm             ) exec icewm-session;;
   jwm               ) exec jwm;;
   kde               ) exec startkde;;
   mate              ) exec mate-session;;
   monster|monsterwm ) exec monsterwm;;
   notion            ) exec notion;;
   openbox           ) exec openbox-session;;
   unity             ) exec unity;;
   xfce|xfce4        ) exec startxfce4;;
   xmonad            ) exec xmonad;;
   # Не известная сессия, попробуйте запустить в качестве команды
   *) exec $1;;

esac Затем скопируйте файл /etc/X11/xinit/xserverrc в ваш домашний каталог:

$ cp /etc/X11/xinit/xserverrc ~/.xserverrc

После этого, вы можете легко запустить конкретный DE/WM передавая аргумент, например:

$ xinit

$ xinit gnome

$ xinit kde

$ xinit wmaker

или

$ startx

$ startx ~/.xinitrc gnome

$ startx ~/.xinitrc kde

$ startx ~/.xinitrc wmaker

Запуск приложений без оконного менеджера

Можно запустить только определенные приложения без оконного менеджера. Хотя, это будет полезно только для одного приложения, запущенного в полноэкранном режиме. Напирмер:

~/.xinitrc

exec chromium

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

Дисплей-менеджер.

Список экранных менеджеров

Консольные • CDM — ультра-минималистичный, но полностью функциональный менеджер входа, написанный на Bash.

• Console TDM — расширение для xinit, также написанное на Bash.

• Nodm — минималистичный экранный менеджер для автоматического входа.

• Ly — экспериментальный менеджер входа.

Графические • GDM — экранный менеджер GNOME.

• LightDM — независимый от среды рабочего стола экранный менеджер, основанный на WebKit.

• LXDM — экранный менеджер LXDE. Может быть использован отдельно от среды рабочего стола LXDE.

• SDDM — экранный менеджер, основанный на QML. Продолжение KDE4 kdm, рекомендуется для Plasma 5 и LXQt.

• XDM — экранный менеджер с поддержкой XDMCP.

Замечу,что любой экранный менеджер необходимо установить стандартной командой установки.

Запуск экранного менеджера.

Для запуска экранного менеджера надо включить соответствующую службу. Например,включим gdm с помощью команды-

systemctl enable gdm.service

Systemctl- это утилита,позволяющая управлять службами в юникс-подобных системах.

Настройка сеанса

Большинство экранных менеджеров получают список доступных сеансов из каталога /usr/share/xsessions/. Он содержит стандартные файлы .desktop для каждого экранного/оконного менеджера. Чтобы добавить/удалить записи в список сеансов вашего экранного менеджера, создайте/удалите соответствующий файл .desktop в /usr/share/xsessions/. Типичный файл .desktop выглядит примерно так:

[Desktop Entry] Name=Openbox Comment=Log in using the Openbox window manager (without a session manager) Exec=/usr/bin/openbox-session TryExec=/usr/bin/openbox-session Icon=openbox.png Type=Application

Итак,мы установили и настроили xorg,xorg-drivers и менеджер для входа в графическую среду, далее займёмся рабочими средами.

Рабочие среды

Обзор

Среда рабочего стола объединяет различные компоненты для предоставления единых элементов графического интерфейса, например, значков, панелей, обоев и виджетов рабочего стола. Также большинство сред включают в себя интегрированный набор программ и утилит. Что самое важное, среды рабочего стола предоставляют свой собственный оконный менеджер, который обычно можно заменить совместимым вариантом. Пользователю даётся возможность настраивать графический интерфейс разными путями. Как правило, среды рабочего стола предоставляют для этого готовые и удобные средства. Следует отметить, что пользователи могут комбинировать и одновременно запускать приложения, написанные для разных сред. Так, пользователь KDE Plasma может устанавливать и запускать приложения GNOME, например, веб-браузер Epiphany, если он нравится больше, чем Konqueror от KDE. Однако, такой подход имеет и недостаток: многие графические приложения тесно связаны с тем или иным набором библиотек, которые входят в состав "родной" среды. В результате установка множества "неродных" приложений потребует установки большего количества зависимостей. Пользователям, которые экономят место на диске, следует избегать подобных смешанных окружений или выбирать альтернативные программы, которые зависят всего от нескольких внешних библиотек. Кроме того, приложения в родной среде выглядят более единообразно и лучше в неё интегрируются. Приложения, написанные с использованием разных библиотек компонентов интерфейса, могут по-разному выглядеть (использовать разные наборы иконок и стили оформления компонентов) и вести себя (например, использовать одиночный щелчок по значку вместо двойного или иметь другое поведение drag-and-drop), создавая путаницу или непредсказуемое поведение. Для наших нужд лучше всего подойдут две рабочих среды- gnome и mate. эти среды наиболее доступны для слепых пользователей, а мэйт, кроме того, ещё и довольно лёгкая, нетребующая больших ресурсов среда.

Gnome.

Установка

Доступны две группы: • gnome содержит основное рабочее окружение и набор хорошо интегрированных приложений; • gnome-extra включает в себя дополнительные приложения GNOME, такие как архиватор, диспетчер дисков, текстовый редактор и набор игр. Обратите внимание, что эта группа опирается на gnome. Базовый рабочий стол состоит из GNOME Shell, плагина для оконного менеджера Mutter. Он может быть установлен отдельным пакетом - gnome-shell Примечание: mutter выступает в роли композитного менеджера, который использует аппаратное ускорение для предоставления эффектов. Менеджер сеансов GNOME автоматически определяет, может ли ваша система работать с GNOME Shell, и, если нет, возвращается к использованию рендеринга с использованием llvmpipe. Итак,для установки рабочей среды gnome, введём команду-

pacman -S gnome gnome-extra

Сессии GNOME

Доступно три сессии. • GNOME - сеанс по умолчанию; запускает GNOME Shell, используя протокол Wayland, а также привычные приложения X посредством Xwayland • GNOME Classic - традиционный рабочий стол, похожий на пользовательский интерфейс GNOME 2, но использующий технологии GNOME 3. Это достигается за счет использования предустановленных расширений и настроек. • GNOME on Xorg - запускает GNOME Shell, используя Xorg

Настройка.

Для настройки среды используется приложение параметры, но чтобы расширить возможности по настройке gnome, можно установить такие утилиты, как- gnome-tweak и dconf-editor. Эти утилиты откроют доступ к скрытым настройкам среды. Для настроек ввода можно установить утилиту ibus, затем в настройках раскладки в параметрах языка и регионов можно добавить ibus, в качестве переключателя раскладок, у ibus тоже имеются свои настройки.

Mate.

Установка

MATE доступен в официальных репозиториях и может быть установлен одним из следующих способов: • Пакет mate-panel предоставляет минимальное окружение рабочего стола. • Группа пакетов mate содержит основное рабочее окружение и приложения, необходимые для стандартной работы MATE • Группа пакетов mate-extra содержит различные необязательные инструменты, которые хорошо работают в MATE. Заметьте, что установка только группы пакетов mate-extra не вытянет всю группу mate зависимостями: если вы действительно хотите всё, вы должны установить обе группы. Таким образом, чтобы нам установить полноценный мэйт, выполним команду-

pacman -S mate mate-extra

Вход

Для входа в mate можно использовать как gdm, так и lightdm. Lightdm рекомендуют использовать разработчики мэйт, но мне думается, что gdm для нас более предпочтителен. Чтобы установить lightdm, выполним-

pacman -S lightdm-gtk-greeter

Специальные возможности в mate

Для работы скринридера необходимо установить пакеты- orca, espeak-ng, speech-dispatcher.

pacman -S orca espeak-ng speech-dispatcher

чтобы вызвать скринридер после входа в мэйт, надо нажать клавиши- alt + f2, затем в появившимся мини-терминале написать- orca. затем надо войти в параметры, вспомогательные технологии, и там надо установить флажок на включение спец-возможностей. Далее, надо зайти в параметры, предпочтительные приложения, и там на вкладке спец-возможности надо установить флажок на пункте-

запуск спец-возможностей на экране входа.

После этих манипуляций орка будет озвучивать вход в среду.

Заключение

Итак,мы рассмотрели основные необходимые установки и настройки системы. После всего сделанного, можно выйти из chroot, введя- exit. затем можно перезагрузить систему, введя команду- reboot. Примечание: всё, что описано в настоящей статье, можно выполнить и после перезагрузки. В таком случае необходимо установить пакеты- speakup и alsa-utils, потому что система загрузится в консольном режиме, и эти пакеты нужны для озвучивания консоли. После всех действий, перед перезагрузкой пакет- espeak надо удалить, чтобы не возникло конфликтов с пакетом- espeak-ng.

Эпилог

в трёх статьях я поместил всё, на мой взгляд, необходимое, для того, чтобы без лишней суеты и лишних телодвижений установить и настроить ArchLinux. поэтому материал получился, возможно, несколько ёмким. Для эффективного использования материала, я рекомендую сначала всё внимательно изучить, затем составить приемлемый алгоритм действий для наиболее эффективной работы. ArchLinux- очень хороший дистрибутив, с хорошей философией, но для его использования надо внимательно изучать документацию. Замечу, что документация для ArchLinux настолько хорошо создана, настолько разностороння и многоохватна, что эту документацию используют все линуксоиды мира, независимо от того, какой дистрибутив они используют. На том, желаю всем удачи и успешного изучения линукса.