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

Автор: | 20/12/2016
 

Задача: установить Arch Linux на:

$ sudo dmidecode | grep -A 8  "System Information"
System Information
        Manufacturer: Hewlett-Packard
        Product Name: HP ProBook 450 G0
        Version: A2018CD200
        Serial Number: 2CE3450FGG
        UUID: 9000EA6A-45FA-11E3-9673-CE39E71C9906
        Wake-up Type: Power Switch
        SKU Number: H0W25EA#ACB
        Family: 103C_5336AN G=N L=BUS B=HP S=PRO

Window manager – Openbox, панель задач – Tint2.

Подготовка

При необходимости получаем IP:

# dhcpd enp5s0

Задаём пароль root для логина:

# passwd root

Устанавливаем sshd:

# pacman -Sy
# pacman -S openssh
# systemctl start sshd.socket

Подключаемся:

$ ssh [email protected]

Установка Arch

Разбивка диска

Схема будет следующая:

  • dev/sda1: /boot
  • /dev/sda2: swap
  • /dev/sda3: LVM:
    • /: корневая система
    • /home: раздел под /home

Текущая разметка:

# fdisk -l /dev/sda
Disk /dev/sda: 698.7 GiB, 750156374016 bytes, 1465149168 sectors
...
Device     Boot     Start        End    Sectors   Size Id Type
/dev/sda1  *         2048    1023999    1021952   499M  7 HPFS/NTFS/exFAT
/dev/sda2         1024000  410623999  409600000 195.3G  7 HPFS/NTFS/exFAT
/dev/sda3       410624000 1465143295 1054519296 502.9G  7 HPFS/NTFS/exFAT

Стоит Windows 8 или 10.

Создаем три раздела:

  • sda1 – 2G под /boot
  • sda2 – 16G под swap
  • sda3 – остаток, под тома LVM

Удаляем имеющиеся разделы:

...
Command (m for help): d
Partition number (1-3, default 3): 

Partition 3 has been deleted.

Command (m for help): d
Partition number (1,2, default 2): 

Partition 2 has been deleted.

Command (m for help): d
Selected partition 1
Partition 1 has been deleted.
...

Создаём три новых.

boot:

...Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): 

Using default response p.
Partition number (1-4, default 1): 
First sector (2048-1465149167, default 2048): 
Last sector, +sectors or +size{K,M,G,T,P} (2048-1465149167, default 1465149167): +2G
...

swap:

...
Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p): 
Partition number (2-4, default 2): 
First sector (4196352-1465149167, default 4196352): 
Last sector, +sectors or +size{K,M,G,T,P} (4196352-1465149167, default 1465149167): +16G
...

И раздел под root и home:

...
Command (m for help): n
Partition type
   p   primary (2 primary, 0 extended, 2 free)
   e   extended (container for logical partitions)
Select (default p): 

Using default response p.
Partition number (3,4, default 3): 
First sector (37750784-1465149167, default 37750784): 
Last sector, +sectors or +size{K,M,G,T,P} (37750784-1465149167, default 1465149167): 

Created a new partition 3 of type 'Linux' and of size 680.7 GiB.
...

Проверяем и записываем изменения:

...
Command (m for help): p
...
Device     Boot    Start        End    Sectors   Size Id Type
/dev/sda1           2048    4196351    4194304     2G 83 Linux
/dev/sda2        4196352   37750783   33554432    16G 83 Linux
/dev/sda3       37750784 1465149167 1427398384 680.7G 83 Linux

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
# lsblk /dev/sda
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 698.7G  0 disk 
├─sda1   8:1    0     2G  0 part 
├─sda2   8:2    0    16G  0 part 
└─sda3   8:3    0 680.7G  0 part 

Устанавливаем boot-флаг на раздел /boot (sda1):

# fdisk /dev/sda
...
Command (m for help): a
Partition number (1-3, default 3): 1

The bootable flag on partition 1 is enabled now.

Устанавливаем sda2 как swap-раздел:

...
Command (m for help): t
Partition number (1-3, default 3): 2
Partition type (type L to list all types): 82

Changed type of partition 'Linux' to 'Linux swap / Solaris'.
...

Проверяем:

...
Command (m for help): p
...
Device     Boot    Start        End    Sectors   Size Id Type
/dev/sda1  *        2048    4196351    4194304     2G 83 Linux
/dev/sda2        4196352   37750783   33554432    16G 82 Linux swap / Solaris
/dev/sda3       37750784 1465149167 1427398384 680.7G 83 Linux
...

Не забываем записать изменения:

...
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

Подробнее про разбивку диска – тут>>>.

Подготовка LVM

Создаём Phisical Volume на /dev/sda3:

# pvcreate /dev/sda3
  Physical volume "/dev/sda3" successfully created.

Проверяем:

# pvdisplay -C
  PV         VG Fmt  Attr PSize   PFree  
  /dev/sda3     lvm2 ---  680.64g 680.64g

Создаём Volume Group на /dev/sda3:

# vgcreate vg_arch /dev/sda3
  Volume group "vg_arch" successfully created
# vgdisplay -C
  VG      #PV #LV #SN Attr   VSize   VFree  
  vg_arch   1   0   0 wz--n- 680.63g 680.63g

Создаём два Logical Volume в группе томов vg_archroot и home:

# lvcreate -L 10G -n root vg_arch
  Logical volume "root" created.
# lvcreate -l 100%FREE -n home vg_arch
  Logical volume "home" created.

Создаём файловые системы:

# mkfs.ext2 /dev/sda1
# mkfs.ext4 /dev/vg_arch/root
# mkfs.ext4 /dev/vg_arch/home

Подключаем swap:

# mkswap /dev/sda2
Setting up swapspace version 1, size = 16 GiB (17179865088 bytes)
no label, UUID=063484e6-9389-4849-af24-17b622e84161
# swapon /dev/sda2

Монтируем разделы в каталог /mnt запущенной системы:

# mount /dev/vg_arch/root /mnt/
# mkdir /mnt/home
# mount /dev/vg_arch/home /mnt/home/
# mkdir /mnt/boot
# mount /dev/sda1 /mnt/boot/
# ls -l /mnt/
total 24
drwxr-xr-x 3 root root 4096 Dec 19 12:21 boot
drwxr-xr-x 3 root root 4096 Dec 19 12:24 home
drwx------ 2 root root 16384 Dec 19 12:21 lost+found

Установка системы

Установка базовой системы выполняется с помощью скрипта pacstrap, который устанавливает пакеты в новый корень системы.

Если pacstrap не переданы аргументы – будет установлен только пакет base.

Установку Xorg для Openbox выполним позднее:

# pacstrap /mnt base base-devel
==> Creating install root at /mnt
==> Installing packages to /mnt
:: Synchronizing package databases...
...

Создаём файл fstab:

# genfstab -U -p /mnt >> /mnt/etc/fstab

Проверяем его:

# cat /mnt/etc/fstab 
# 
# /etc/fstab: static file system information
#
# <file system> <dir>   <type>  <options>       <dump>  <pass>
# /dev/mapper/vg_arch-root
UUID=1bfef8dc-8457-4513-983e-7d0052c7fee2       /               ext4            rw,relatime,data=ordered        0 1

# /dev/mapper/vg_arch-home
UUID=2e1efd7a-9181-4b6d-ba41-c0f3eb81eae8       /home           ext4            rw,relatime,data=ordered        0 2

# /dev/sda1
UUID=f5e35fc4-2986-432a-8456-71ca0967969d       /boot           ext2            rw,relatime,block_validity,barrier,user_xattr,acl       0 2

# /dev/sda2
UUID=063484e6-9389-4849-af24-17b622e84161       none            swap            defaults        0 0

Меняем окружение на новую систему:

# arch-chroot /mnt /bin/bash

Настраиваем mkinitcpio – добавляем lvm2, что бы ядро смогло определить LVM разделы во время загрузки.

Редактируем /etc/mkinitcpio.conf, и в HOOKS добавляем lvm2 – перед filesystem.

Без этих изменений – вероятна ошибка вида:

ERROR: device 'UUID=<snip>' not found. Skipping fsck.
ERROR: Unable to find root device 'UUID=<snip>'.
You are being dropped to a recovery shell
    Type 'exit' to try and continue booting
sh: can't access tty: job control turned off

Меняем строку:

...
HOOKS="base udev autodetect modconf block filesystems keyboard fsck"
...

Приводим к виду:

...
HOOKS="base udev autodetect modconf block lvm2 filesystems keyboard fsck"
...

Готово. Создаём загрузочный образ:

# cd /boot/ && mkinitcpio -p linux
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'default'
  -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img
==> Starting build: 4.8.13-1-ARCH
  -> Running build hook: [base]
...
  -> Running build hook: [lvm2]
...
==> WARNING: Possibly missing firmware for module: wd719x
==> WARNING: Possibly missing firmware for module: aic94xx
  -> Running build hook: [lvm2]
  -> Running build hook: [filesystems]
  -> Running build hook: [keyboard]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-linux-fallback.img
==> Image generation successful
==> WARNING: Possibly missing firmware for module: wd719x
==> WARNING: Possibly missing firmware for module: aic94xx
...
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-linux-fallback.img
==> Image generation successful

aic94xx и wd719x – SATA драйвера, можно не обращать внимания.

Загрузчик GRUB2

Устанавливаем загрузчик:

# pacman -S grub-bios

Устанавливаем GRUB2 на /dev/sda:

# grub-install /dev/sda

Не помню для чего именно – но во избежание проблем при запуске GRUB:

# cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo

Создаём файл настроек GRUB:

# grub-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-linux
Found initrd image(s) in /boot: initramfs-linux.img
Found fallback initrd image(s) in /boot: initramfs-linux-fallback.img
done

При желании – можно посмотреть содержимое получившего диска так:

# cd /boot/
# ls -l | grep img
-rw-r--r-- 1 root root 27166913 Nov 28 14:18 initramfs-linux-fallback.img
-rw-r--r-- 1 root root 11490167 Nov 28 14:18 initramfs-linux.img
# gunzip -c initramfs-linux.img > /tmp/initramfs
# file /tmp/initramfs
/tmp/initramfs: ASCII cpio archive (SVR4 with no CRC)
# pacman -S cpio
# cpio -it < /tmp/initramfs | grep dm-mod
64204 blocks
usr/lib/modules/4.8.13-1-ARCH/kernel/dm-mod.ko

Модуль dm-mod.ko из этого initramfs-образа может быть использован ядром во время загрузки системы, что бы получить доступ к LVM-разделам.

Выходим,  отмонтируем разделы, перезагружаемся:

# exit
sh-4.4# exit
# umount -a
# reboot

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

Пакеты для установки:

# pacman -S vim openssh chromium konsole wget dmidecode unzip net-tools bc

To be continued.

OpenSSH

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

# passwd root

Запускаем sshd:

# systemctl start sshd.socket

Добавляем в автозагрузку:

# systemctl enable sshd.socket

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

Добавляем пользователя setevoy, указав создать домашнюю директорию (-m) и добавить его в группу wheel (-G):

# useradd -m -G wheel setevoy
# passwd setevoy

Разрешаем sudo без пароля – с помощью visudo редактируем /etc/sudoers.

Раскомментируем строку:

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

Проверяем:

$ ssh [email protected]
[email protected]'s password: 
[setevoy@localhost ~]$ sudo -s
[root@localhost setevoy]#

Сеть

Переименование сетевой карты в eth0 – надо ли? Но можно.

Ссылка в тему: http://lukeluo.blogspot.com/2015/04/the-best-way-to-configure-network.html

Настраиваем DHCP для карты enp5s0.

Копируем файл /etc/netctl/examples/ethernet-dhcp:

# cp /etc/netctl/examples/ethernet-dhcp /etc/netctl/enp5s0

В /etc/netctl/enp5s0 переименовываем Interface=eth0 в Interface=enp5s0:

# cat /etc/netctl/enp5s0 
Description='A basic dhcp ethernet connection'
Interface=enp5s0
Connection=ethernet
IP=dhcp
#DHCPClient=dhcpcd
#DHCPReleaseOnStop=no
## for DHCPv6
#IP6=dhcp
#DHCP6Client=dhclient
## for IPv6 autoconfiguration
#IP6=stateless

Добавляем в автозагрузку:

# netctl enable enp5s0 
ln -s '/etc/systemd/system/[email protected]' '/etc/systemd/system/multi-user.target.wants/[email protected]'

Имя хоста

Задаём hostname:

# hostnamectl set-hostname setevoyarchwork

Проверяем:

# cat /etc/hostname 
setevoyarchwork

Локализация

Устанавливаем локализацию. Редактируем файл  /etc/locale.gen, раскомментируем строку:

 en_US.UTF-8 UTF-8

Генерируем локаль:

# locale-gen
Generating locales...
  en_US.UTF-8... done
Generation complete.

Создаём файл /etc/locale.conf, в который вписываем:

LANG=en_US.UTF-8

Временная зона

Устанавливаем временную зону (Киев, Украина):

# tzselect
Please identify a location so that time zone rules can be set correctly.
Please select a continent, ocean, "coord", or "TZ".
...
 7) Europe
...
#? 7
Please select a country whose clocks agree with yours.
 1) Åland Islands         18) Greece                35) Norway
...
15) France                32) Monaco                49) Ukraine
...
#? 49
Please select one of the following time zone regions.
1) Ukraine (most areas)
2) Ruthenia
3) Zaporozh'ye/Zaporizhia; Lugansk/Luhansk (east)
#? 1
...
Therefore TZ='Europe/Kiev' will be used.
Local time is now:      Mon Nov 28 14:05:26 EET 2016.
Universal Time is now:  Mon Nov 28 12:05:26 UTC 2016.
Is the above information OK?
1) Yes
2) No
#? 1

You can make this change permanent for yourself by appending the line
        TZ='Europe/Kiev'; export TZ
to the file '.profile' in your home directory; then log out and log in again.
...

Используя полученный файл зоны (Europe/Kiev) – cоздаём /etc/localtime:

# ln -s /usr/share/zoneinfo/Europe/Kiev /etc/localtime

Перезагружаемся ещё раз, и приступаем к настройке Openbox:

# reboot

Arch Linux – установка Openbox

Основные компоненты графической системы:

  • X Windows server: фреймворк, являющийся основой для отрисовки всех графических объектов в системе. Позволяет отрисовывать окна, выполнять их перемещение, отвечает за взаимодействеие с клавиатурой и мышкой и т.д. Реализации – X.org.
  • Window Manager (VM): VM отвечает за располождение и внешний вид окон на экране. Примеры VM –  Enlightenment, Fluxbox, IceWM, Openbox, KWin (из KDE).
  • Desktop Environment (DE): DE включает в себя VM и для работы требует как X Windows, так и WM. Примеры DE – GNOME, KDE, XFCE. Отвечает за размещение панелей, системных меню, может включать в себя набор приложений, таких как эмулятор терминала, файловый менеджер и т.д.

Ниже описывается установка:

  • xorg – X-server
  • openbox – в роли WM

Установка X.Org

X.org хорошо описан на страницах руководства Gentoo тут>>>.

Находим видеокарту:

# lspci -v | grep VGA
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09) (prog-if 00 [VGA controller])
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Mars [Radeon HD 8670A/8670M/8750M] (rev ff) (prog-if ff)

Либо – с помощью lshw (пример уже с другой машины):

# pacman -S lshw
 # lshw -class display
  *-display                 
       description: 3D controller
       product: GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M]
       vendor: NVIDIA Corporation
       physical id: 0
       bus info: pci@0000:01:00.0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list
       configuration: driver=nouveau latency=0
       resources: irq:34 memory:f0000000-f0ffffff memory:c0000000-cfffffff memory:d0000000-d1ffffff ioport:5000(size=128)
  *-display
       description: VGA compatible controller
       product: 3rd Gen Core processor Graphics Controller
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 09
       width: 64 bits
       clock: 33MHz
       capabilities: msi pm vga_controller bus_master cap_list rom
       configuration: driver=i915 latency=0
       resources: irq:32 memory:f1000000-f13fffff memory:e0000000-efffffff ioport:6000(size=64) memory:c0000-dffff

Можно использовать mesa, или установить ATI-драйвера.

Устанавливаем:

# pacman -S xorg-server xorg-server-utils xorg-xinit xorg-utils xterm
resolving dependencies...
:: There are 4 providers available for libgl:
:: Repository extra
   1) mesa-libgl  2) nvidia-304xx-libgl  3) nvidia-340xx-libgl  4) nvidia-libgl

Enter a number (default=1): 
:: There are 2 providers available for xf86-input-driver:
:: Repository extra
   1) xf86-input-evdev  2) xf86-input-libinput

Enter a number (default=1): 
looking for conflicting packages...
...

Переключаемся на простого пользователя, и запускаем X.org:

$ startx

Скрин с Virtualbox машины:

Я предпочитаю логиниться и запускать “иксы” самому, но при желании – можно установить логин-менеджер, например – sddm:

# pacman -S sddm sddm-kcm

Установка тем для SDDM описана тут>>>.

Установка Openbox

Устанавливаем Openbox и несколько дополнительных пакетов:

  • openbox: сам Openbox;
  • obconf: GUI-менеджер для настройки Openbox;
  • obmenu: редактор меню для Openbox;
  • openbox-themes: набор тем;
  • volumeicon: иконка звука в Tint2;
  • tint2: просто task-менеджер;
  • feh: установка обоев рабочего стола:
# pacman -S openbox obconf obmenu openbox-themes volumeicon tint2 feh

Настройка Openbox

Переключаемся под обычного пользователя и создаём каталог для файлов конфигурации:

$ su -l setevoy
Password:               
$ mkdir -p ~/.config/openbox

Копируем файлы:

$ cp /etc/xdg/openbox/{rc.xml,menu.xml,autostart,environment} ~/.config/openbox
$ ls -l .config/openbox/
total 44
-rwxr-xr-x 1 setevoy setevoy 474 Dec 19 14:50 autostart
-rwxr-xr-x 1 setevoy setevoy 379 Dec 19 14:50 environment
-rw-r--r-- 1 setevoy setevoy 9617 Dec 19 14:50 menu.xml
-rw-r--r-- 1 setevoy setevoy 23758 Dec 19 14:50 rc.xml

Тут:

  • rc.xml – основной конфигурационный файл – сочетания клавиш, тем, виртуальных столов, и.т.д;
  • menu.xml – содержимое меню, выпадающего по правому клику мыши;
  • autostart – автозапуск приложений и скриптов при загрузке сессии openbox-session;
  • environment – переменные окружения, которые будут добавлены в контекст Openbox.

Создаём файл ~/.xinitrc с таким содержимым:

exec openbox-session

Выполняем startx ещё раз – и попадаем в Openbox:

Два монитора

Подключаем монитор на выходе VGA (HDMI подключился автоматом):

$ xrandr --output VGA-1 --auto --output HDMI-1 --auto

Отключаем экран нотбука:

$ xrandr --output LVDS-1 --off

Разделяем экраны:

$ xrandr --output VGA-1 --right-of HDMI-1

Сохраняем три команды выше в .xinitrc:

$ cat ~/.xinitrc 
xrandr --output VGA-1 --auto --output HDMI-1 --auto
xrandr --output LVDS-1 --off
xrandr --output VGA-1 --right-of HDMI-1
exec openbox-session

UPD На домашнем ноуте – экраны LVDS-1 и выход на VGA-1.

Для упрощения жизни – сделал два скрипта, setLAPalone.sh:

#!/usr/bin/env bash

#xrandr --output LVDS-1 --primary
xrandr --output VGA-1 --off

И setLAPtwo.sh:

#!/usr/bin/env bash

xrandr --output VGA-1 --auto
xrandr --output VGA-1 --left-of LVDS-1
xrandr --output VGA-1 --primary

Плюс два алиаса в ~/.bashrc:

...
alias setone="/home/setevoy/.local/bin/setLAPalone.sh"                                                                                                                                                                                                                          
alias settwo="/home/setevoy/.local/bin/setLAPtwo.sh"
...

Ракладка клавиатуры

Добавляем переключение языка по Ctrl+Shift:

$ setxkbmap -layout us,ru -option grp:lctrl_lshift_toggle,grp_led:scroll -variant winkeys &

Или Alt+Shift:

$ setxkbmap -layout "us,ru(winkeys)" -model "pc105" -option "grp:alt_shift_toggle,grp_led:scroll" &

Либо – через Xorg, см. тут>>>.

Добавляем в автозапуск – файл /home/setevoy/.config/openbox/autostart:

$ cat /home/setevoy/.config/openbox/autostart 
setxkbmap -layout us,ru -option grp:lctrl_lshift_toggle,grp_led:scroll -variant winkeys &

Скриншоты

Привычка к ksnapshot (spectacle в Arch) – устанавливаем:

# pacman -S spectacle

Редактируем файл ~/.config/openbox/rc.xml, и в блоке <keyboard>…</keyboard> добавляем:

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

Openbox меню

Настройку меню можно выполнить через утилиту obmenu, либо – отредактировав файл ~/.config/openbox/menu.xml.

Не пользуюсь меню (gmrun вполне хватает), поэтому см. тут>>>.

Tint2

Писать о настройке Tint2 можно много и интересно, а быстро – можно запустить tint2conf (для Ubuntu аналога не нашёл), либо – скопировав и подредактировав готовую тему  из каталога /usr/share/tint2/ вручную.

Проверяем, указав путь к файлу темы:

$ tint2 -c /home/setevoy/.config/tint2/MY-horizontal-dark-transparent.tint2rc

Если всё работает – добавляем в автозапуск:

$ cat /home/setevoy/.config/openbox/autostart 
setxkbmap -layout us,ru -option grp:lctrl_lshift_toggle,grp_led:scroll -variant winkeys &
tint2 -c /home/setevoy/.config/tint2/MY-horizontal-dark-transparent.tint2rc &

Из ссылок сохранилось только две:

http://www.webupd8.org/2009/09/how-to-install-and-configure-tint2.html

https://gitlab.com/o9000/tint2/wikis/Configure

Фон рабочего стола

Устанавливаем с помощью feh:

$ feh --bg-scale /home/setevoy/Pictures/Wallpapers/mass_effect_artwork_citadel_futuristic_outer_space_best_desktop_1600x900_hd-wallpaper-1335467.jpg

Аналогично – добавляем в autostart с запуском в фоне (&).

Yaourt

Настраиваем Yaourt – в файл /etc/pacman.conf добавляем:

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

Устанавливаем yaourt:

$ sudo pacman -S yaourt

Другие утилиты

pepper-flash

Flash-плагин для Chromium:

$ yaourt  -S pepper-flash

Перезапускаем Chromium, переходим на chrome://plugins проверяем что Flash на месте:

volumeicon

Иконка звука – volumeicon:

$ volumeicon &

Добавляем в autostart.

gxneur – смена раскладки

Для отображения флага языка раскладки:

# pacman -S  intltool
# yaourt -S gxneur

Добавляем его в автозапуск – ~/.config/openbox/autostart:

...
gxneur 2&>1 > /dev/null &       
...
gmrun

gmrun – для быстрого запуска приложений:

# pacman -S gmrun

В файл ~/.config/openbox/rc.xml добавляем комбинацию Alt+F2 для его вызова:

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

Теперь по Alt+F2 – будет открываться панель быстрого поиска и запуска приложений:

Больше про комбинации – тут>>>.

Slack

Добавляем чат Slack:

$ yaourt -S slack-desktop 
lxappearance

lxappearance – настройка внешнего вида GTK2-приложений:

$ sudo pacman -S lxappearance
Skype

Skype можно использовать веб-клиент:

$ chromium --app=https://web.skype.com

Другой вариант – плагин для Chrome.

Третий вариант – установка 4 версии из AUR.

Подключаем репозиторий multilib – редактируем /etc/pacman.conf:

...
[multilib]
Include = /etc/pacman.d/mirrorlist
...

Обновляем списки пакетов:

$ sudo pacman -Syy

Устанавливаем Skype:

$ yaourt -S skype           
...
==> skype dependencies:
 - xdg-utils (already installed)
 - hicolor-icon-theme (already installed)
 - lib32-libpulse (package found)
 - lib32-qt4 (package found)
 - lib32-libxss (package found)
 - lib32-libxv (package found)
 - lib32-libxcursor (package found)
 - lib32-v4l-utils (package found)
...

Не проверял камеру и микрофон.

Всё вместе это выглядит так:

UPD После настройки GTK темы (Numix-Frost) и иконок (Nummy) + немного tint2 (панель вверху, отображение времени в трёх временных зонах и т.д.):

#ToDo

  • Настройка сети тут>>>.
  • tint2 – добавить описание
  • sleep mode
  • отдельная раскладка клавиатуры для окон
  • настроить дефолтные приложения

#Done/продолжение

#ToFix 🙂

  • система запускается с уровнем звука в 0
  • исконки konsole и slack

P.S. Не используйте pacman -Sy pkgname для установки, см тут>>> и тут>>>.

Ссылки по теме

Extra keyboard keys

Openbox keybinds

Customizing Openbox Window Manager in Arch Linux

Building a Custom Linux Environment With Openbox

Tutorial: How to Installing Arch Linux 2016 with more desktop environment (DE)

https://www.unixmen.com/minimal-tools-on-arch-linux/ (домен не продлён)