Debian 10 + BSPWM

January 18, 2021, 12:41 am LINUX
blog-header-image

Тут опишу что можно сделать для того чтобы накатить дебиан и как ее правильно настроить для работы.

Установка минимальной Debian

Для начала нужно определится с тем какой загрузщик вы хотите использовать. Если это GRUB2 или вам нет разницы (по сути это одинаковые варианты) то запариватся не нужно пропускаем этот пункт. Если же вы захоте использовать refind то тут 2 варианта:

1) уже стоит винда (если вы хотите и винду и линух на одном компьютере крайне советую сначало установить винду и только потом ставить линукс). 2) ничего не стоит, и не планируется.

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

Во втором, вы так-же грузитесь с лайв системы, в ней размечаете диск создавая на ней UEFI раздел, и раздем под установочнкю систему. Однако я етот метод не пробовал, но в теори должно работать.

После того как вы получили работающий refind, или не получили в случае если решили остатся на GRUB2 - берем последнюю версию установщика Debian отсюда либо неофициальную сборку отсюда. Вторая вам пригодится если в процессе установки не хватит каких-то проприетарных дров (обычно это wifi). Так-же есть прекрасная инструкция в которой описанно практически все что может потребоватся (по поводу закрытых микропрограмм написанно в пункте 6.4.1).

В процессе установки нужно сделать следующее:

  • выбрать экспертную установку - Advanced options ... -> Graphical expert install
  • запретить вход в систему из под root, тогда ваш пользователь сможет работать с его правами через sudo из коробки.
  • при разметке диска нужно будет создать 2 раздела, под систему и своп, второй обязателен, даже если большое количество оперативной памяти т.к он нужен для корректной работы системы, подробнее про это тут.
  • никаких разделов под efi не нужно, они должны были быть созданны ранее.
  • когда спррсят про несвободные компоненты, соглашаемся их использовать, иначе половина устройств не будет работать.
  • ставим галочку на установке бекпортированного по, это нужно для получения более новых версий пакетов.
  • когда появится пункт меню Выбор программного беспечения там нужно будет снять все галочки кроме последней - стандартные системные утилиты, когда выходе получится максимально пустой дистрибутив.
  • после того как прошли "выбор и установка программного обеспечения" в окне с пунктами установки нужно выбрать пункт следующий за установкой GRUB2 а именно "продолжение установки без системного загрузчика", это делается в том случае если вы уже установили refind.

После этого грузимся в голую консоль где после нажатия на enter система предложет нам ввести свой логин и пароль. Наша задача заставить ее минимально работать для того чтобы иметь возможность копировать код из этой статьи и вставлять в термил, но до этого нужно сделать еще один выбор, перейти на нестабильную пакетную базу SID или остатся на стандартной + бекпорты. Лично я выбираю SID, т.к. проблем с ним у меня никогда не было, зато я получаю самый новый софт.

Для переключения на нестабильную ветку SID делаем следующее:

sudo nano /etc/apt/sources.list 

Заменяем его содержимое на:

deb http://deb.debian.org/debian/ sid main contrib non-free
deb-src http://deb.debian.org/debian/ sid main contrib non-free

Потом необходимо обновить систему:

sudo apt update
sudo apt dist-upgrade
sudo apt auto-remove

Некотрые пакеты могут не обновится, тогда нужно решить эту проблему руками, удалив пакет и установив его вручную. К этому методу решения проблемы нужно прибегать с осторожносьтью т.к. у удаляемого покета может быть куча зависимостей и их удаление может сломать систему, но т.к. выше была установлена самая базовая версия системы проблем быть не должно.

Далее нужно накатить де (я выберал для себя BSPWM, не зря же она в названии), иксы, терминал и браузер, чтобы было откуда и куда копировать команды:

sudo apt install bspwm xorg rxvt-unicod firefox

Далее необходимо добавить шаблоны дефолтных настроек для bspwm и sxhkd, и добавить bspwm в xinitrc:

mkdir -p ~/.config/bspwm/
mkdir -p ~/.config/sxhkd/
cp /usr/share/doc/bspwm/examples/bspwmrc ~/.config/bspwm/
cp /usr/share/doc/bspwm/examples/sxhkdrc ~/.config/sxhkd/
chmod +x ~/.config/bspwm/bspwmrc

cp /etc/X11/xinit/xinitrc ~/.xinitrc
echo "sxhkd &" >> ~/.xinitrc
echo "exec bspwm" >> ~/.xinitrc

Далее запускаем Xserver:

startx

после чего должен появится черный экран, далее можно запустить перминал комбинацией super+enter (для того чтобы это сработало должен быть установлен rxvt-unicod).

После чего нужно создать конфиг для rxvt-unicod, и прописать в нем один параметр, чтобы получить возможность вставить буфер обмена в терминал по нажатию shift+control+v:

nano ~/.Xresources

Добавляем туда строку:

URxvt.keysym.Shift-Control-V: eval:paste_clipboard

Сохраняем, после чего применяем настройки следующей командой:

xrdb -load ~/.Xresources

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

Настройка X-ов и DE

Дальше было бы неплохо разобратся с видиокартой, у меня их 2 nvidia и intel, поэтому придется разбиратся с NVIDIA Optimus. Это лучше сделать сейчас т.к. если что-то пойдет не так то мы сделали не так уж и много и можно будет установить все с нуля. Для начало нужно убедится что сл пакет установлен:

sudo apt install x11-xserver-utils

После чего нужно установить пакет с драйверами, какую версию дров нужно ставить поможет определить nvidia-detect, это нужно поставить из репы. Для меня это nvidia-driver поэтому я делаю:

sudo apt install nvidia-driver

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

Далее нужно создать конфиг /etc/X11/xorg.conf мой выглядит так:

Section "Module"
    Load "modesetting"
EndSection

Section "Device"
    Identifier "intel"
    Driver "modesetting"
    BusID "PCI:0:2:0"
    Option "AccelMethod" "sna"
    #Option "TearFree" "True"
    #Option "Tiling" "True"
    #Option "SwapbuffersWait" "True"
EndSection

Section "Device"
    Identifier "nvidia"
    Driver "nvidia"
    BusID "PCI:1:0:0"
    Option "AllowEmptyInitialConfiguration"
EndSection

Про то что писать в этот конфиг можно посмотреть на arch wiki, самое главное что вы не можете передерать мои BusID, а должны узнать свои с помощью команды lspci | grep -E "VGA|3D".

После чего перезагружаем компьютер:

sudo reboot now

Чтобы убедится что все работает можно запустить nvidia-settings и посмотреть корректность отображаемой информации.

Terminal

Для работы с терминалом я предлогаю использовать следующую связку urxvt + tmux + zsh. Для этого необходимо доустановить следующие пакеты:

sudo apt install rxvt-unicode-256color tmux zsh git unzip

Следующее что нужно сделать это разобратся с шрифтами, для системы нужен шрифт для ASCII символами, разными языков и иконками. Можно скачать обьедененные шрифты рапример тут. Для себя я выберу DejaVu Sans Mono Nerd Font.

mkdir dejavu
cd dejavu
wget https://github.com/ryanoasis/nerd-fonts/releases/download/v2.1.0/DejaVuSansMono.zip
unzip DejaVuSansMono.zip
mkdir ~/.fonts
cp DejaVu\ Sans\ Mono\ Nerd\ Font\ Complete.ttf ~/.fonts
cd .. && rm -r dejavu

Также посмотреть какие шрифты есть в системе, и как в них выглядят конкретные символы можно с помощью программы gucharmap, коды символов Nerd Fonts лежат тут.

Далее разберемся с urxvt, Подробное описание доступно на arch-wiki и примеры тут и тут. Настройка осуществляется с помощью файла ~/.Xresources:

Мой конфиг с комментариями

! Color ---------------------------------------------------------------------
*.background:    #111113
*.foreground:    #FDFDFD
*.cursorColor:   #C574DD
*.border:        #111113

*.color0:     #282A36
*.color1:     #F37F97
*.color2:     #5ADECD
*.color3:     #F2A272
*.color4:     #8897F4
*.color5:     #C574DD
*.color6:     #79E6F3
*.color7:     #FDFDFD
*.color8:     #414458
*.color9:     #FF4971
*.color10:  #18E3C8
*.color11:  #FF8037
*.color12:  #556FFF
*.color13:  #B043D1
*.color14:  #3FDCEE
*.color15:  #BEBEC1

! Xcursor --------------------------------------------------------------------
! All cursor in /usr/share/icons or ~/.icons
!Xcursor.theme: Adwaita
!Xcursor.size:  22

! Xft settings ---------------------------------------------------------------
Xft.dpi:        96
Xft.antialias:  true
Xft.rgba:       rgb
Xft.hinting:    true
Xft.hintstyle:  hintslight

! URxvt settings -------------------------------------------------------------
URxvt*termName: rxvt-256color
URxvt*saveLines: 50000

! Font ---
URxvt*font: xft:DejaVuSansMono Nerd Font:size=10
URxvt*letterSpace: -1

! Transparent ---
URxvt.transparent: true 
URxvt.shading: 40

! ScrollBar ---
!URxvt*scrollBar: false
! OR
URxvt*scrollstyle: plain      
URxvt*thickness: 5
!URxvt*scrollColor: #1E1E1E
URxvt*scrollBar_right: true

! Ctrl+Shift+V --- 
URxvt.iso14755:        false
URxvt.iso14755_52:     false
URxvt.clipboard.autocopy: true
URxvt.keysym.Shift-Control-V: eval:paste_clipboard
URxvt.keysym.Shift-Control-C: eval:selection_to_clipboard

! Link ---
! Open url right click 
URxvt.perl-ext-common: default,matcher
URxvt.url-launcher: /usr/bin/firefox
URxvt.matcher.button: 1
! Colol url
URxvt.matcher.rend.0: Uline Bold fg5
! C=CTRL M=ALT
URxvt.keysym.C-Delete: perl:matcher:last
URxvt.keysym.M-Delete: perl:matcher:list

! Rofi ----------------------------------------------------------------------
!State:           ´bg´,     ´fg´,     ´bgalt´,  ´hlbg´,   ´hlfg´
rofi.color-normal: #282c37,  #d9e1e8,  #282c37,  #5A74CA,  #282c37
rofi.color-urgent: #282c37,  #d9e1e8,  #282c37,  #5A74CA,  #282c37
rofi.color-active: #282c37,  #d9e1e8,  #282c37,  #5A74CA,  #282c37
!                  ´background´, ´border´
rofi.color-window: #282c37,      #75444A57

Для получения эффекта нужно перезапустить терманал и выполнить команду:

xrdb -load ~/.Xresources

Для zsh я предлагаю установить Oh my ZsH:

sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"

В процессе на все соглашемся, далее изменим тему:

nano ~/.zshrc
# ZSH_THEME=agnoster

Tmux я предлогаю оставить таким какой он есть.

BSPWM & sxhkd

Для коректрой работы WM необходимо доустановить некотрое по:

sudo apt install compton lxappearance arc-theme nitrogen
  • compton - композитный менеджер
  • lxappearance - выбор темы gtk
  • arc-theme - красивая тема gtk
  • nitrogen - выбор заставки

После установки следует запустить lxappearance и выбрать там arc-theme, а иак-же nitrogen и выбрать в нем изображение на рабочий стол.

Для настройки WM под себя необходимо править дефолтные конфиги записанные нами ранее ~/.config/bspwm/bspwmrc и ~/.config/sxhkd/sxhkdrc. Более подробно про настройку можно посмотреть тут, тут. Я приведу ниже мои конфиги с комментариями:

#! /bin/sh

sxhkd &

bspc monitor -d I II III IV V VI VII VIII IX X

bspc config border_width         2
bspc config window_gap           6

bspc config split_ratio          0.52
bspc config borderless_monocle   true
bspc config gapless_monocle      true

# --- my autorun ---
compton &
nitrogen --restore &
~/.config/polybar/launch.sh &

Для работы с 2-мя мониторами можно посмотреть тут и тут.

Для sxhkd я оставил все дефолтное, добавил только клавиши специфичные для моей модели ноутбука, а так-же нужные мне хоткеи. Так-же для того чтобы узнать код клавишы можно использовать xev | grep XL.

#MY_KEY bind AW17R3 Only

XF86AudioRaiseVolume 
    pactl set-sink-volume 1 +2%
XF86AudioLowerVolume
    pactl set-sink-volume 1 -2%
XF86AudioMute
    pactl set-sink-mute 1 toggle
XF86AudioMicMute
    pactl set-source-mute alsa_input.pci-0000_00_1b.0.analog-stereo toggle
Print
    scrot ~/Pictures/Screenshot%Y-%m-%d%H:%M:%S.png

super + m 
    xrandr --output eDP-1 --mode 1920x1080 --pos 0x0 --output HDMI-1-3  --mode 1920x1080 --pos 0x0

# need chmod for /sys/class/backlight/intel_backlight/brightness
XF86MonBrightnessUp
    echo $((`cat /sys/class/backlight/intel_backlight/brightness` + 500)) > /sys/class/backlight/intel_backlight/brightness
XF86MonBrightnessDown
    echo $((`cat /sys/class/backlight/intel_backlight/brightness` - 500)) > /sys/class/backlight/intel_backlight/brightness

#MY_HOT_KEY

super + f
    firefox

super + t
    telegram-desktop

super + r
    rofi -show run  

Polybar

Для начала:

sudo apt install polybar

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

mkdir ~/.config/polybar/
nano ~/.config/polybar/launch.sh

Добавить туда скрипт запуска:

#!/usr/bin/env bash

# Terminate already running bar instances
killall -q polybar

# Wait until the processes have been shut down
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done

# Launch mybar
polybar mybar

echo "Bars launched..."

после чего:

chmod +x ~/.config/polybar/launch.sh

Также необходимо создать ~/.config/polybar/config и добавить в него конфиги для дока.

~/.config/polybar/config

[bar/mybar]
;monitor = ${env:MONITOR:eDP-1}
width = 100%
height = 18
radius = 0.0
fixed-center = false

background = ${colors.background}
foreground = ${colors.foreground}

line-size = 1
line-color = #f00

border-size = 0
border-color = #00000000

padding-left = 0
padding-right = 0

module-margin = 2

font-0 = NotoSans-Regular:size=8;0
font-1 = DejaVuSansMono Nerd Font:size=8;0

modules-left = bspwm
modules-center = filesystem memory cpu temperature
modules-right = wlan eth backlight-acpi alsa battery xkeyboard date

tray-position = 
tray-padding = 0
;tray-transparent = true
;tray-background = ${colors.background}

;override-redirect = true

;scroll-up = bspwm-desknext
;scroll-down = bspwm-deskprev

cursor-click = pointer
cursor-scroll = ns-resize

[colors]
;background = ${xrdb:color0:#222}
background = #50000000
background-alt = #b0000000
;foreground = ${xrdb:color7:#222}
foreground = #ffffff
foreground-alt = #c4feff
primary = #00bfff
secondary = #0cf93b
orange = #ef640e
alert = #ff0000

;---------- MODULE -----------------------------------------------

;---------- LEFT -------------------------------------------------

[module/bspwm]
type = internal/bspwm

label-focused = %index%
label-focused-background = ${colors.background-alt}
label-focused-underline= ${colors.primary}
label-focused-padding = 2

label-occupied = %index%
label-occupied-padding = 2

label-urgent = %index%!
label-urgent-background = ${colors.alert}
label-urgent-padding = 2

label-empty = %index%
label-empty-foreground = ${colors.foreground-alt}
label-empty-padding = 2

;---------- CENTER -------------------------------------------------

[module/filesystem]
type = internal/fs
interval = 25

mount-0 = /
label-mounted =  %percentage_used%%
label-mounted-underline = ${colors.secondary}

[module/memory]
type = internal/memory
interval = 1

format-prefix = "   "
format-prefix-foreground = ${colors.foreground-alt}
format-prefix-underline = ${colors.secondary}

format = <label>
format-underline = ${colors.secondary}
label = %gb_used%

[module/cpu]
type = internal/cpu
interval = 1
format-underline = ${colors.secondary}
format = <ramp-coreload> <label>  
label = "%percentage%%"

format-prefix = "   "
format-prefix-foreground = ${colors.foreground-alt}
format-prefix-underline = ${colors.secondary}

ramp-coreload-0 = ▁
ramp-coreload-1 = ▂
ramp-coreload-2 = ▃
ramp-coreload-3 = ▄
ramp-coreload-4 = ▅
ramp-coreload-5 = ▆
ramp-coreload-6 = ▇
ramp-coreload-7 = █

[module/temperature]
type = internal/temperature
interval = 0.5
thermal-zone = 0
warn-temperature = 70

; Namder of hwmon make changet, check IT.
hwmon-path = /sys/devices/platform/coretemp.0/hwmon/hwmon5/temp1_input

format = <ramp> <label>
format-underline = ${colors.secondary}
label = %temperature-c%

format-warn = <ramp> <label-warn>
format-warn-underline = ${colors.alert}
label-warn = %temperature-c%

ramp-0 = 
ramp-1 = 
ramp-2 = 
ramp-3 = 
ramp-4 = 
ramp-foreground = ${colors.foreground-alt}

;---------- RIGHT --------------------------------------------------

[module/eth]
type = internal/network
interface = enp59s0
interval = 3.0

format-connected-underline = ${colors.primary}
format-connected-prefix = " "
format-connected-prefix-foreground = ${colors.foreground-alt}
label-connected = "   %upspeed%   %downspeed%"

format-disconnected =

[module/wlan]
type = internal/network
interface = wlp60s0
interval = 3.0

format-connected = <label-connected> <ramp-signal> 
format-connected-underline = ${colors.primary}
format-connected-prefix = " "
format-connected-prefix-foreground = ${colors.foreground-alt}
;label-connected = "  %essid%   %local_ip%      %upspeed%     %downspeed%   "
label-connected = "   %upspeed%   %downspeed%  "  
format-disconnected = 

ramp-signal-0 = 
ramp-signal-1 = 
ramp-signal-2 = 
ramp-signal-3 = 
ramp-signal-4 = 

[module/backlight-acpi]
type = internal/backlight
card = intel_backlight
format = <label>
label = " %percentage%%"

format-prefix = 
format-prefix-foreground = ${colors.foreground-alt}
format-underline = ${colors.primary}

[module/alsa]
type = internal/alsa
interval = 0.5
format-volume = <ramp-volume> <label-volume> 
label-volume = %percentage%%
label-volume-foreground = ${root.foreground}
format-volume-underline = ${colors.orange}

ramp-volume-0 = 
ramp-volume-1 = 
ramp-volume-2 = 

label-muted = 
format-muted-underline = ${colors.orange}

[module/battery]
type = internal/battery
battery = BAT1
adapter = ACAD
full-at = 98

format-charging = <label-charging>
label-charging =%percentage%%
format-charging-prefix = " "
format-charging-underline = ${colors.orange}
format-charging-prefix-foreground = ${colors.foreground-alt}

format-full-prefix = " "
format-full-prefix-foreground = ${colors.foreground-alt}
format-full-underline = ${self.format-charging-underline}

format-discharging = <ramp-capacity> <label-discharging>
format-discharging-underline = ${self.format-charging-underline}
ramp-capacity-0 = 
ramp-capacity-1 = 
ramp-capacity-2 = 
ramp-capacity-3 = 
ramp-capacity-4 = 
ramp-capacity-5 = 
ramp-capacity-foreground = ${colors.foreground-alt}

[module/xkeyboard]
type = internal/xkeyboard
blacklist-0 = num lock
blacklist-1 = scroll lock
blacklist-2 = caps lock

format-prefix = "  "
format-prefix-foreground = ${colors.foreground-alt}
format-prefix-underline = ${colors.orange}

label-layout = %layout%
label-layout-underline = ${colors.orange}

[module/date]
type = internal/date
interval = 1

date =
date-alt = " %d-%m-%Y"

time = " %H:%M:%S"
time-alt = " %H:%M:%S"

format-prefix = 
format-prefix-foreground = ${colors.foreground-alt}
format-underline = ${colors.orange}

label = %time% %date%

;NOT USE // May be cool???
[module/mpd]

type = internal/mpd
format-online = <label-song>  <icon-prev> <icon-stop> <toggle> <icon-next>

icon-prev = 
icon-stop = 
icon-play = 
icon-pause = 
icon-next = 

label-song-maxlen = 25
label-song-ellipsis = true

[settings]

screenchange-reload = true
;compositing-background = xor
;compositing-background = screen
;compositing-foreground = source
;compositing-border = over

[global/wm]

margin-top = 5
margin-bottom = 5

; vim:ft=dosini

Для проверки работы запускаем бар:

~/.config/polybar/launch.sh

После чего в консоли отбразатся ошибки в случае их появления.

Display Manager

В качестве Display Manager я предлагаю использовать LightDM. Про его настройку можно почитать тут и тут, однако я просто установлю его из репы и оставлю все параметры по умолчанию.

sudo apt install lightdm

После её установки могут сбросится настройки pulseaudio и изменится номера устройств, из-за чего перестанут работать хоткеи. Для исправления просто меняем номер устройства в конфиге sxhkdrc.

Устройства

Bluetooth

Для работы с BT необходим демон blueman. TODO Test this.

sudo apt install blueman

WIFI

Для работы вафли мне потребовался пакет с бинарными прошивками для интеловых карточек, т.к. у меня Intel Corporation Wireless-AC 9260. Посмотреть какая карта можно с помощью lspci. Собственно ставим этот пакет и network-manager:

sudo apt install firmware-iwlwifi network-manager

Однако сеть у меня так просто не заработала. Ноут конектился к вафле, но не мог принимать и отправлять данные. Решение нашлось тут. Суть его заключается в том что из файла /etc/network/interfaces небходимо закомментировать все записи об интерфейсах, у меня в итоге выглядело так:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
#auto lo
#iface lo inet loopback

# The primary network interface
#allow-hotplug enp59s0
#iface enp59s0 inet dhcp

Так-же если в файле /etc/NetworkManager/NetworkManager.conf будет:

[main]
plugins=ifupdown,keyfile

[ifupdown]
managed=false

нужно managed=false заменить на managed=true.

Управлять подключением к wifi можно с помощью программы nmtui.

Для автоматического переключения на проводной интернет, можно создать скрипт:

sudo nano /etc/NetworkManager/dispatcher.d/auto_swich_to_wire.sh

В самом скрипте:

!/bin/sh

interf=$1
state=$2

if [ $interf = "enp59s0" -a $state = "up" ]; then
    nmcli radio wifi off
fi

if [ $interf = "enp59s0" -a $state = "down" ]; then
    nmcli radio wifi on
fi

А после нужно изменить права и перезапустить сетку:

sudo chown root:root /etc/NetworkManager/dispatcher.d/auto_swich_to_wire.sh
sudo chmod 755 /etc/NetworkManager/dispatcher.d/auto_swich_to_wire.sh
/etc/init.d/networking restart

Audio

sudo apt install alsa-utils pulseaudio

Для управления аудио можно использовать следующие команды (используются в SXHKD):

# Номер устройства может менятся, нужно проверять
pactl set-sink-volume 0 +2%     # Увелечение громкости на 2%
pactl set-sink-volume 0 -2%     # Уменьшение громкости на 2%
pactl set-sink-mute 0 toggle    # Включение/отключение звука
# Если подставить правильное устройство, отключит микрофон
# Посмотреть можно в alsamixer
pactl set-source-mute alsa_input.pci-0000_00_1b.0.analog-stereo toggle

Из коробки сильно шумел микрафон. Проблему решил перебор параметров в alsamixer, протестить работу можно например тут.

Описанные ниже проблемы встретились мне при установки Debian 10 в Debian 11 все работало правильно из коробки.

Тут я наткнулся на проблему, любое изменение громкости в pulseaudio меняло гроскость master в alsamixer а PCM менялось на 100. К сожалению реально громкосить на моей карте менял только PCM канал, изменение master не на что не влияло. Решение нашлось тут заключалось оно в том чтобы запретить управлять каналом master pulseaudio. Нужно добавить следующие строки в файл /usr/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common:

[Element Master]
switch = mute
volume = ignore

На этом проблемы не кончились, 0% гроскости в pulseaudio не соответствовало 0% в alsamixer, решение нашлось тут по сути нужно добавить один параметр к module-udev-detect в /etc/pulse/default.pa

load-module module-udev-detect ignore_dB=1

Для более человеческой работы с источниками аудио можно скачать gui'шную программу, которая просто раюаботает - pavucontrol. Она позволит выбрать аудиокарту и произвести ее настройки.

Станкнулся с проблемой пищащего PC спикера (именно хардварной пищалки, а не эмуляцию через динамик), толку от этого ноль, а мешает сильтно. Решение нашлось как всегда тут:

sudo rmmod pcspkr
echo "blacklist pcspkr" | sudo tee /etc/modprobe.d/nobeep.conf

ТАЧПАД

sudo apt install xserver-xorg-input-synaptics

Далее нужно добавить следущий блок в созданный конфиг /usr/share/X11/xorg.conf.d/70-synaptics.conf:

Option "TapButton1" "1"
Option "TapButton2" "2"
Option "TapButton3" "3"
Option "VertEdgeScroll" "on"
Option "VertTwoFingerScroll" "on"
Option "HorizEdgeScroll" "on"
Option "HorizTwoFingerScroll" "on"
Option "CircularScrolling" "on"
Option "CircScrollTrigger" "2"
Option "EmulateTwoFingerMinZ" "40"
Option "EmulateTwoFingerMinW" "8"
Option "CoastingSpeed" "0"
Option "FingerLow" "35"
Option "FingerHigh" "40"

Чтобы в итоге Первый блок в конфиге выглядел так:

Section "InputClass"
        Identifier "touchpad catchall"
        Driver "synaptics"
        MatchIsTouchpad "on"
        Option "TapButton1" "1"
        Option "TapButton2" "2"
        Option "TapButton3" "3"
        Option "VertEdgeScroll" "on"
        Option "VertTwoFingerScroll" "on"
        Option "HorizEdgeScroll" "on"
        Option "HorizTwoFingerScroll" "on"
        Option "CircularScrolling" "on"
        Option "CircScrollTrigger" "2"
        Option "EmulateTwoFingerMinZ" "40"
        Option "EmulateTwoFingerMinW" "8"
        Option "CoastingSpeed" "0"
        Option "FingerLow" "35"
        Option "FingerHigh" "40"
# This option is recommend on all Linux systems using evdev, but cannot be
# enabled by default. See the following link for details:
# http://who-t.blogspot.com/2010/11/how-to-ignore-configuration-errors.html
#       MatchDevicePath "/dev/input/event*"
EndSection

Подробнее про настройку тачпада написанно тут а пункты меню описанны тут, либо в man.

Дополнительный софт который я использую

Далее опишу только малоизвестнве утилиты или те которые требуют по моему мнению уточнений.

sudo apt install mc rofi gucharmap smplayer
  • mc - файловый менеджер, как TotolComander.
  • smpleer - плеер который может подключить отдельную аудиодорожку.
  • rofi - более функциональная альтернатива Dmenu.
  • gucharmap - проверка юникод символов

https://zenway.ru/forum/viewtopic.php?id=621 https://github.com/Username77177/Configurations/blob/master/terminals/Xresources-xterm

После чего

TODO - ## ===xorg xinit=== synaptics nvidia-driver

Для переименования папок обратно https://forum.ubuntu.ru/index.php?topic=303542.0

Next Post Previous Post