6 июня 2010 г.

Настройки ArchLinux

После установки ArchLinux мы получаем рабочую систему, но без графического интерфейса.

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

ping -c 3 www.google.com
Соединение есть, можно обновиться (если соединения нет, нужно обратиться к руководству и постараться его настроить):
pacman -Syu
Для меня пока что это аналог команды убунту aptitude update && aptitude upgrade, но вообще pacman вполне самостоятельный пакетный менеджер, в чём-то возможно и превосходящий другие. Было предложено скачать 4,41 Мб (ну то есть обновления, появившиеся после того, как был создан образ).
Надо отметить, что этот номер не пройдёт, если на этапе установки не был отредактирован файл /etc/pacman.d/mirrorlist - там нужно раскомментировать хотя бы одну строчку (для россии актуальны зеркала яндекса, например).

Для дальнейших действий соблюдение очерёдности не столь уж важно. Просто всё равно всё это придётся делать рано или поздно. Я просто напишу и опишу самое необходимое.

Добавление простого пользователя

Нужно добавить обычного пользователя командой adduser. Сначала будет запрошено самое главное - имя нового пользователя, а затем по-порядку будут задаваться различные вопросы, на которые (кроме создания пароля) можно не отвечать (просто нажимать Enter и всё что нужно будет сделано по-умолчанию.
Но желательно в четвёртом запросе (Additional groups) указать группы, куда должен входить пользователь - например, audio,wheel,storage,video,optical,floppy,lp. Но если этого не сделать, в любое время можно добавить юзера в группу такой командой (выполнять с правами пользователя):
gpasswd -a username audio
А если что-то не заладилось с паролем с первого раза, можно его поменять после командой:
gpasswd username
Тоже, конечно, только суперпользователем.

Установка sudo

Ну и раз уж речь о суперпользователе, можно вообще сразу установить и настроить в системе sudo. По мне так гораздо удобнее писать сразу команду, требующую прав администратора, добавляя в начале sudo, и набирая пароль после всей команды, чем выполнять su, потом набирать пароль, а потом только выполнять требуемую команду, а потом ещё и выходить из режима su.
Пользователи, всегда работавшие на системах, где sudo нет, почему-то его очень не любят, даже никогда с ним не работав. И ни один из них не смог мне внятно объяснить, чем же оно так плохо. И ни один из пользователей, работавших с sudo, тоже не может понять, чем она так не угодила первым.
Для установки выполняем пару команд:
pacman -S sudo
EDITOR=nano visudo
и добавить в открывшийся файл строчку:
username ALL=(ALL) ALL
Сохраниться надо внимательно, так как по дефолту будет предложен файл с расширением *.tmp, а нужно именно в /etc/sudoers.
После данной операции любую команду, требующую права суперпользователя, можно выполнять добавив к ней в начале sudo. Однако, будьте внимательны - sudo требует пароль не root'а, а текущего пользователя.

Звук

Для настройки звука:
pacman -S alsa-utils
alsamixer

Тут следует включить каналы Master и PCM (клавишей M) и подкрутить громкость (клавишей вверх).
Вторую команду, кстати, следует выполнить обычным пользователем, и он должен быть добавлен в группу audio (об этом есть выше). И из-под него же:
aplay /usr/share/sounds/alsa/Front_Center.wav
Если всё нормально, то должен появиться звук (женский голос, произносящий "front, center"). В файл /etc/rc.conf теперь следует вписать демон alsa в секцию DAEMONS - примерный вид строки:
DAEMONS=(syslog-ng network crond alsa)

X

Ну и теперь, пожалуй самое время для установки "иксов", а то так и придётся сидеть в командной строке. Последовательно устанавилваем необходимое:
pacman -S xorg
pacman -S mesa
pacman -S hal dbus
Запускаем демон hal:
/etc/rc.d/hal start
И добавляем его в секцию демонов в файле /etc/rc.conf, например:
DAEMONS=(syslog-ng hal network netfs crond alsa)
В руководстве есть раздел по созданию файла /etc/X11/xorg.conf, но скорее всего "искы" заработают и без этого (сейчас данный файл не является необходимым, если автоопределение работает нормально). Проверить это просто, собственно, запустив "иксы":
startx

Это twm - простой оконный менеджер, но раз уж запустился он, то запустится и любой другой оконный менеджер или рабочая среда, только их надо ещё установить.

Установка графической среды

Установка рабочей среды или самостоятельного оконного менеджера не отличается от установки любого приложения:
Например, чтобы установить рабочую среду KDE, нужно выполнить команду:
pacman -S kde
Или для урезанной версии с меньшим количеством приложений:
pacman -S kdebase
Или совсем только самый минимум:
pacman -S kdebase-workspace kdebase-konsole
Соответственно вместо kde в данной команде будет gnome или xfce4 для соответствующих рабочих сред или любой оконный менеджер по желанию (openbox, fluxbox, fvwm и так далее).
Соответствующие дополнения, желательные для работы с той или иной средой, можно посмотреть в соответствующих документациях.

Настройка запуска графической среды

Остаётся поменять настройки для того, чтобы запускалась установленная графическая среда, а не twm. Вообще это задаётся в файле ~/.xinitrc, но если команды startx такого не находит, то использует файл /etc/X11/xinit/xinitrc где и прописан twm. Поэтому нужно создать пользовательский xinitrc, а точнее сначала скопировать его из набора стандартных настроек (директория /etc/skel/):
cp /etc/skel/.xinitrc ~/
А затем подредактировать его:
nano ~/.xinitrc
Обычно там есть несколько подходящих строчек, нужно просто раскомментировать нужную или впискать свою, если ничего не подходит. Например, если был установлен оконный менеджер fluxbox, следует вписать строку:
exec startfluxbox
И fluxbox будет запускаться при выполнении команды startx. Можно вписать и exec fluxbox, но тогда не будут запущены файлы автозагрузки из ~/.fluxbox/startup.
Для gnome строка будет:
exec gnome-session
А вообще, лучше обратиться к документации соответствующего графического окружения. Главное, чтоб строчка, начинающаяся с exec была в файле ~/.xinitrc единственная (остальные можно не удалять, но они тогда должны быть закомментированы).

Ещё можно использовать какой-нибудь экранный менеджер (kdm, gdm, xdm). Для этого прежде всего он должен быть установлен. Обычно они входят в соответствующие рабочие среды (kde, gnome, xfce4) и не требуют специально установки.
Затем нужно добавить его в файл /etc/rc.conf в секцию DAEMONS в самый конец списка, например:

DAEMONS=(syslogd klogd network netfs crond gdm
Есть и другой способ - отредактировать файл /etc/inittab. В нём нужно закомментировать строку id:3:initdefault: и раскомментировать id:5:initdefault: (ну или заменить одно на другое). А далее если используется экранный менеджер xdm просто проверить наличие строки
x:5:respawn:/usr/bin/xdm
А если kdm или gdm, то заменить её на одну из двух этих:
x:5:respawn:/opt/kde/bin/kdm
x:5:respawn:/opt/gnome/sbin/gdm
Либо что-то похожее уже может содержаться в данном файле в закомментированном виде: мне, например, достаточно было раскомментировать строку x:5:respawn:/usr/bin/kdm (ну и закомментировать, конечно, ту, что запускала xdm).

Установка дополнений гостевой ОС

Теперь несколько неуниверсальный этап настройки, так как нужен только тем, кто всё это хозяйство поставил, как я, в VirtualBox. Гораздо удобнее будет, если установить теперь дополнения гостевой ОС:
pacman -S virtualbox-ose-additions
Пожалуй, это самый простой способ и даёт свежие дополнения. После установки выдало следующую фразу: "you may want to load vboxguest, vboxsf and vboxvideo. To load them automatically, add them to the MODULES array in /etc/rc.conf", то есть предложение добавить демоны vboxguest, vboxsf и vboxvideo в соответствующий раздел файла /etc/rc.conf. Не могу точно сказать, что это даёт, но я сделала.

Шрифты

Желательно установить шрифты:
pacman -S ttf-ms-fonts ttf-dejavu ttf-bitstream-vera
Минимальная KDE без установленных шрифтов:

ШГ, как говорится.

Переключение раскладок клавиатуры

Теперь переключение раскладок клавиатуры. Особенно актуально для различных *box'ов, у которых нет встроенных средств для подобных настроек.
Нужно создать или отредактировать файл /usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi:
<?xml version="1.0" encoding="utf-8"?> <deviceinfo version="0.2">
 <device>
  <match key="info.capabilities" contains="input.keymap">
   <append key="info.callouts.add" type="strlist">hal-setup-keymap</append>
  </match>
  <match key="info.capabilities" contains="input.keys">
   <merge key="input.xkb.rules" type="string">base</merge>
    <merge key="input.xkb.model" type="string">keyboard</merge>
     <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="Linux">
      <merge key="input.xkb.model" type="string">evdev</merge>
     </match>
    <merge key="input.xkb.layout" type="string">us,ru</merge>
    <merge key="input.xkb.variant" type="string">,winkeys</merge>
    <merge key="input.xkb.options" type="string">grp:alt_shift_toggle,grp_led:scroll</merge>
  </match>
 </device>
</deviceinfo>
В данном примере переключение раскладок производится по Alt+Shift с индикацией Scroll Lock. У меня осталась проблема: при замене соответствующей настройки на grp:caps_toggle происходят разные странности, так что переключением по CapsLock пользоваться невозможно (кое-как разобралась, что переключение идёт по Shift+CapsLock и при этом смена регистра производится по Shift+CapsLock+Ctrl и только в таком порядке, при этом не отпуская клавиши ещё надо зажать букву, как это исправить, не знаю).
Ещё, правда, есть информация, что прописано это должно быть в файле /etc/hal/fdi/policy/10-keymap.fdi Работает и так, и так. Пример для второго файла есть в статье вики по русификации. Ещё то же самое может быть прописано в файле /etc/X11/xorg.conf если он есть, но этот метод является устаревшим.

Кириллица в консоли

Кириллица в консоли в принципе может понадобиться. Эту настройку можно выполнить ещё на стадии установки системы при редактировании файла /etc/rc.conf. Всё, что нужно сделать - исправить несколько строк в секции LOCALIZATION:
KEYMAP="ru"
CONSOLEFONT="cyr-sun16"
Но можно всё это сделать и после установки системы. Тогда можно так:
KEYMAP="ru"
CONSOLEFONT=ter-v16f
Надо ещё установить соответствующий шрифт (гораздо приятнее предыдущего):
pacman -S terminus-font
Тут тоже проблема. Файлы раскладок хранятся в /usr/share/kdb/keymaps/ и из всех вариантов у меня заработал только ru - это будет переключать раскладки по Сtrl+Shift.

Локализация

Локализация тоже может быть произведена ещё на стадии установки (а может быть не произведена вообще - кому-то нравится английский интерфейс). В файле /etc/locale.gen следует раскомментировать соответствующую строчку, для русского это будет:
ru_RU.UTF-8 UTF-8
Если раскомментирование происходило уже после установки операционной системы, то после сохранения файла нужно ещё создать выбранную локаль командой locale-gen, а проверить, что все локали были созданы можно командой locale -a.
Для того, чтобы русифицировать консоль, нужно поменять первую строку в файле /etc/rc.conf в секции LOCALIZATION на такую:
LOCALE="ru_RU.UTF-8

Что дальше

Ну и в конце концов придётся установить необходимые программы. Это уже на усмотрения каждого. Вот KDE (минимальная) с установленным уже браузером firefox:

Интерфейс программы ужасен, что нормально для gtk-приложения в KDE. Всё можно исправить, но это уже вопросы настройки и использования конкретной рабочей среды.

7 комментариев:

  1. Доброго времени суток подскажите пожалуйста в чем может быть причина .после перезагрузки linux не видит сети спасибо

    ОтветитьУдалить
  2. аааа единственная статья которая помогла в виртуалбоксе гном поднять!! пол инета перерыл

    ОтветитьУдалить
  3. Ухты как оно)) ну пожалуйста. Вообще вроде в вики арча многое неплохо так изложено. Я ей и руководствовалась

    ОтветитьУдалить
  4. В вики арча, английском варианте, кстати, в этой строчке:

    pacman -S virtualbox-ose-additions

    Нет: additions.
    Т. е. там предлагается поставить OSE.) Тоже долго мучался, пока не набрел на какой-то пиндостанский форум.)

    ОтветитьУдалить
  5. hal вроде уже не рекомендуется использовать. Во всяком случае он у меня на запущен

    ОтветитьУдалить
  6. Так и посту уже больше года))

    ОтветитьУдалить
  7. Мисс, у вас тут нюанс: когда вы правите sudoers, сохранение происходит в tmp-файл, так как тулза потом проверяет то, что вы накалякали, на синтаксическую грамотность. Если что-то не так, будет брыкаться, аки ослик, если всё верно -- затрёт оригинал, подставит ваш вариант sudoers.

    ОтветитьУдалить