Arch: послеустановочные настройки

By | 05/24/2018
 

В продолжение поста об установке Arch Linux – заметка по начальной настройке системы после установки.

Updated on 03.10.2018

Пакеты

Устанавливаем необходимые для жизни пакеты.

Для AUR и yaourt редактируем /etc/pacman.conf, добавляем archlinuxfr:

[archlinuxfr]
SigLevel = Never
Server = http://repo.archlinux.fr/$arch

Синхронизируем базу пакетов:

[root@setevoy-arch-work setevoy]# pacman -Sy

Устанавливаем пакеты:

[root@setevoy-arch-work setevoy]# pacman -S vim openssh chromium konsole wget dmidecode unzip net-tools bc spectacle gmrun dolphin lxqt-notificationd virtualbox lxappearance keepassxc numix-gtk-theme gnome-themes-standard qt5ct qmmp thunderbird pulseaudio-alsa aws-cli whois telnet unrar dnsutils lsof ansible python-boto python-pip pidgin telegram-desktop libreoffice-fresh pwgen cronie linux-headers docker docker-compose mc gwenview
  • konsole: эмулятор терминала из KDE с поддержкой вкладок
  • net-tools: включает в себя старые утилиты hostname, ifconfig, arp etc
  • bc: консольный калькулятор
  • spectacle: скриншоты, из KDE
  • gmrun: запуск приложений
  • dolphin: файловый менеджер из KDE
  • lxqt-notificationd: вывод уведомлений
  • lxappearance: настройка внешнего вида GTK2 приложений
  • keepassxc: парольный менеджер
  • numix-gtk-theme: GTK тема Numix
  • gnome-themes-standard: для корректного отображения приложений из Gnome
  • qt5ct: поддержка и настройка внешнего вида QT приложений
  • qmmp: mp3 плеер в стиле Winamp
  • thunderbird: почтовый клиент
  • pulseaudio-alsa: настройка сервера звука PulseServer
  • dnsutils: утилиты dig, nslookup
  • pwgen: генератор паролей
  • cronie: аналог cron
  • gwenview: просмотр изображений

UPD Т.к. yaourt уже удалён из репозиториев – можно использовать yay (больше см. тут>>>):

git clone https://aur.archlinux.org/yay.git
cd yay/
makepkg -si

Под обычным пользователем устанавливаем пакеты из AUR:

[setevoy@setevoy-arch-work ~]$ yay -S pepper-flash dropbox skypeforlinux-stable-bin batterymon-clone xscreensaver-arch-logo slack-desktop pycharm-community-edition gxneur viber apache-tools
  • batterymon-clone: отображение статуса батареи ноутбука
  • xscreensaver-arch-logo: screensaver, блокировка экрана
  • slack-desktop: Slack чат
  • pycharm-community-edition: PyCharm
  • gxneur: менеджер раскладки клавиатуры

Если же yaourt привычнее – то устанавливаем из его AUR, используя yay:

yay -S yaourt

ccat – удобная утилита, заменяет cat но с подсветкой синтаксиса. Раньше была в AUR, сейчас нету, потому ставим вручную:

wget https://github.com/jingweno/ccat/releases/download/v1.1.0/linux-amd64-1.1.0.tar.gz
tar xfz linux-amd64-1.1.0.tar.gz
sudo cp linux-amd64-1.1.0/ccat /usr/local/bin/
sudo chmod +x /usr/local/bin/ccat

Для отображения раскладки клавиатуры в трее можно использовать gxneur – но он не всегда нормально собирается, как варианты замены – qxkb или fbxkb.

Системные настройки

Задаём пароль root:

[root@setevoy-arch-work setevoy]# passwd root

Запускаем и добавляем в автозапуск SSH:

[root@setevoy-arch-work setevoy]# systemctl start sshd.socket
[root@setevoy-arch-work setevoy]# systemctl enable sshd.socket

Задаём имя хоста:

[root@setevoy-arch-work setevoy]# hostnamectl set-hostname setevoy-arch-work

Настраиваем locale, редактируем /etc/locale.conf, добавляем:

LANG=en_US.UTF-8

Генерируем локализацию:

[root@setevoy-arch-work setevoy]# locale-gen

Задаём часовой пояс:

[root@setevoy-arch-work setevoy]# tzselect
[root@setevoy-arch-work setevoy]# ln -s /usr/share/zoneinfo/Europe/Kiev /etc/localtime

Включаем синхронизацию времени:

[root@setevoy-arch-work setevoy]# timedatectl set-ntp true

Задаём сервера синхронизации, редактируем /etc/systemd/timesyncd.conf:

...
[Time]
NTP=0.arch.pool.ntp.org 1.arch.pool.ntp.org 2.arch.pool.ntp.org 3.arch.pool.ntp.org
FallbackNTP=0.pool.ntp.org 1.pool.ntp.org 0.fr.pool.ntp.org

Пользователь

Добавляем пользователя, задаём пароль:

[root@setevoy-arch-work setevoy]# useradd setevoy
[root@setevoy-arch-work setevoy]# passwd setevoy

Добавляем в группу wheel:

[root@setevoy-arch-work setevoy]# usermod -a -G wheel setevoy

Создаём домашнюю директорию:

[root@setevoy-arch-work setevoy]# mkdir /home/setevoy
[root@setevoy-arch-work setevoy]# chown setevoy:setevoy /home/setevoy

Добавляем группе wheel выполнение команд от рута:

[root@setevoy-arch-work setevoy]# visudo

Раскомментируем (тут без пароля):

...
## Same thing without a password
%wheel ALL=(ALL) NOPASSWD: ALL
...

Настраиваем .bashrc:

### MyFuncs
parse_git_dirty () {
  [[ $(git status 2> /dev/null | tail -n1) != "nothing to commit (working directory clean)" ]] && echo "*"
}

parse_git_branch () {
  git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e "s/* \(.*\)/[\1$(parse_git_dirty)]/"
}

### MyEnvs
PS1='\t \[[\e[0;32m\]\u\[\e[m\]@\e[0;37m\]\h\[\e[m\] \[\e[1;34m\]\w\[\e[m\]]\[\e[0;31m\] \[\e[32;44m\]$(parse_git_branch)\[\e[0;31m\] \$\[\e[m\]\[\e[0;37m\] '
export EDITOR="/usr/bin/vim"

### MyOsAliases
alias setlayout="setxkbmap -layout us,ru -option grp:lctrl_lshift_toggle,grp_led:scroll -variant winkeys &"
alias osupgrade="yaourt -Syua --noconfirm"
alias cat="ccat"

# start ssh
{ eval $(ssh-agent -s) && ssh-add ~/.ssh/setevoy_main_priv_openssh; } &> /dev/null

.vimrc:

set tabstop=4
set shiftwidth=4
set softtabstop=4
set expandtab
set paste
set smartindent
syntax on

Openbox, X.Org

Устанавливаем X.Org и Openbox:

[root@setevoy-arch-work setevoy]# pacman -S xorg-server xorg-xinit xorg-apps xterm openbox obconf obmenu openbox-themes volumeicon tint2 feh

Создаём каталог для файлов настроек Openbox:

[setevoy@setevoy-arch-work ~] $ mkdir -p ~/.config/openbox
[setevoy@setevoy-arch-work ~] $ cp /etc/xdg/openbox/{rc.xml,menu.xml,autostart,environment} ~/.config/openbox

Создаём файл для запуска openbox, добавляем файл ~/.xinitrc:

exec openbox-session

Редактируем ~/.config/openbox/ rc.conf, добавляем комбинации клавиш для запуска приложений.

gmrun:

...
    <keybind key="A-F2">
      <action name="Execute">
        <command>gmrun</command>
      </action>
    </keybind>
...

spectacle:

...
    <!-- Launch spectacle when Print is pressed -->
    <keybind key="Print">
      <action name="Execute">
        <command>spectacle</command>
      </action>
    </keybind>
...

блокировка экрана:

...
    <keybind key="W-l">
      <action name="Execute">
        <startupnotify>
          <enabled>false</enabled>
          <name>Lock Screen</name>
        </startupnotify>
        <command>xscreensaver-command -lock</command>
      </action>
    </keybind>
...

Перечитываем конфиги Openbox:

[setevoy@setevoy-arch-work setevoy]$ openbox --reconfigure

Autostart

Добавляем запуск приложений при старте сессии openbox:

  • lxqt-notificationd: уведомления
  • volumeicon: иконка звука
  • feh: фон рабочего стола
  • gxneur : отображение раскладки клавиатуры
  • setxkbmap -layout us,ru -option grp:lctrl_lshift_toggle,grp_led:scroll -variant winkeys &: раскладка и переключение раскладки
lxqt-notificationd &
volumeicon &
xscreensaver &
feh --bg-scale /home/setevoy/Pictures/Wallpaper/seryy-kapli-strela-ten-arch.jpg 
gxneur &> /dev/null & 
setxkbmap -layout us,ru -option grp:lctrl_lshift_toggle,grp_led:scroll -variant winkeys &

Внешний вид приложений

Загружаем иконки Numix со страницы https://www.opendesktop.org/c/1482245757.

Распаковываем, копируем:

[setevoy@setevoy-arch-work Downloads]$ tar xfp Nummy.tar.gz
[setevoy@setevoy-arch-work Downloads]$ mv Nummy ~/.local/share/icons

В файле .config/openbox/environment и в текущей консоли задаём переменную для корректного отображения QT-приложений:

[setevoy@setevoy-arch-work openbox]$ export QT_QPA_PLATFORMTHEME=”qt5ct”

Запускаем qt5ct, настраиваем иконки:

[setevoy@setevoy-arch-work openbox]$ qt5ct

Аналогично настраиваем иконки в lxappearance:

Запускаем obconf, задаём тему:

[setevoy@setevoy-arch-work openbox]$ obconf

Шрифты

Коллекций шрифтов много, можно установить ttf-google-fonts-git:

[root@setevoy-arch-work setevoy]# pacman -S ttf-google-fonts-git

Но в google-fonts их слишком много, и нет шрифтов DeJavu.

Для них ставим пакет ttf-dejavu.

Шрифты настраиваем для QT в qt5ct, для GTK – в obconf > Appearance.

Tint2

У меня есть мои конфиги, которыми с небольшими изменения пользуюсь на всех машинах:

[setevoy@setevoy-arch-work setevoy]$ git clone git@github.com:setevoy2/rtfm.git

Создаём каталог для файлов настроек tint2:

[setevoy@setevoy-arch-work setevoy]$ mkdir ~/.config/tint2
[setevoy@setevoy-arch-work setevoy]$ cp configs/tint2/* ~/.config/tint2/

Запускаем панельки:

[setevoy@setevoy-arch-work setevoy]$ tint2 -c /home/setevoy/.config/tint2/MY-horizontal-dark-transparent.tint2rc &
[setevoy@setevoy-arch-work setevoy]$ tint2 -c /home/setevoy/.config/tint2/MY-top-2.0.tint2rc &

Добавляем обе команды в .config/openbox/autostart.

Мониторы

Вывести список подключенных мониторов:

xrandr --listmonitors
Monitors: 3
0: +*HDMI-1 1920/527x1080/296+1920+0  HDMI-1
1: +eDP-1 1920/344x1080/193+0+0  eDP-1
2: +DP-1 1920/531x1080/299+3840+0  DP-1

Или xrandr -q.

При необходимости – в .config/openbox/autostart добавляем мониторы и их расположение:

...
xrandr --output HDMI-1 --primary
xrandr --output HDMI-1 --left-of eDP-1
...

В целом это всё, что необходимо для начала работы на Arch Linux:

По теме

Arch: установка GTK тем и иконок

Arch: GTK-темы в Qt-приложениях

Arch: установка с LVM + Openbox + Tint2