Учебники (How-To & F.A.Q)

Настройка гибернации на диск с полным отключением питания и немедленная гибернация без перезагрузки

дальнейшее развите кода тут github.com/berligostr/hiber2sd

когда это может понадобиться? Приведу пару сценариев:
— вы в секте отрицателей свапа и у вас его просто нет;
— у вас есть свап но он в рам или в чанках;
— у вас есть свап но его мало для гибернации;
далее, вы пооткрывали кучу редакторов, закладок в браузере и что то там делаете важное, и тут такая мама: сына, срочно сгоняй за хлебом…
или
вы трудились весь день на багамах без подключения к сети 220в. всё, акк сел и надо срочно сохранить все труды, что бы при появлении розетки всё открыть в том же месте и продолжить писать роман.
в общем вариантов тьма. далее я приведу скрипт, который позволяет сделать задуманное простым его запуском и БЕЗ ПЕРЕЗАГРУЗКИ вы получите гибернацию на диск с полным отключением питания (само собой скрипт надо запускать через sudo или от root:
#!/bin/bash
#
# История версий
# -------------------------------------------------------------------------------------------------------
# Версия 2.1 почищены комментарии, удалены отладочные заметки 
# Версия 2.2 Переписывает конфигурацию для гибернации даже если она уже существует
# Версия 2.3 Скрипт завершиться при ошибке в любой команде
# Версия 2.4 Произведена структуризация скрипта комментариями
# -------------------------------------------------------------------------------------------------------
# Конец истории версий
#
# введение и пояснения для юзера
# -------------------------------------------------------------------------------------------------------
set -e
echo "Если  на  комьпютере  файловая  система  ext4, то этот скрипт позволяет без"
echo "перезагрузки ввести систему в гибернацию на диск даже если она не настроена."
echo "Предварительно     необходимо   установить   пакет   uswsusp-git   из   AUR."
echo "Не  выходя  из  скрипта,  установи  этот  пакет  в новом окне терминала так:"
echo "------------------------>  pamac build uswsusp-git  <-----------------------"
echo "После  этого  скрипт  произведет  настройку  системы и предложит гибернацию."
echo "Существующие   настройки  swap не повредятся, только добавится  необходимое."
echo "Если  гибернация  более  не  нужна, скрипт  удалит  настройки  и  swap-файл."
# -------------------------------------------------------------------------------------------------------
# Разъяснения юзерам сделаны
#
# Удаление некоторых ненужных настроек гибернации в случае, если она больше не нужна
# -------------------------------------------------------------------------------------------------------
echo -e "\n"; read -n 1 -p "Удалить настройки гибернации? [y/N]: " delhib;
if [[ "$delhib" = [yYlLдД] ]]; then echo -e "\n"; 
  if [ -e /swapfile ]; then swapoff /swapfile ; rm -f /swapfile ; fi
  cp -v /etc/fstab /etc/fstab.backup
  if grep -q "swapfile none swap defaults' /etc/fstab; 
    then sed -i '/swapfile none swap defaults/d' /etc/fstab; 
  fi
  cp -v /etc/mkinitcpio.conf /etc/mkinitcpio.conf.backup
  if grep -q 'uresume' /etc/mkinitcpio.conf; 
    then sed -i 's!\(^HOOKS.*udev\) \(uresume\) \(.*filesystems.*\)!\1 \3!' /etc/mkinitcpio.conf; 
    else echo "/etc/mkinitcpio.conf уже не содержит хук uresume"; 
  fi
  cp -v /etc/suspend.conf /etc/suspend.conf.backup
  if grep -q 'resume device' /etc/suspend.conf; then sed -i '/resume device/d' /etc/suspend.conf; fi
  if grep -q 'resume offset' /etc/suspend.conf; then sed -i '/resume offset/d' /etc/suspend.conf; fi
  mkinitcpio -P
fi
# -------------------------------------------------------------------------------------------------------
# Конец процедуры удаления настроек гибернации
#
# Настройка гибернации в файл
# -------------------------------------------------------------------------------------------------------
echo -e "\n"; read -n 1 -p "Попытаться гибернизировать? [y/N]: " hib;
if [[ "$hib" = [yYlLдД] ]]; 
  then echo -e "\n"; 
# Скрипт работает только на ext4
  tipfs="$(df -Th | grep "$(df | grep '/$' | awk '{ print $1 }')" | awk '{ print $2 }')"
  if [[ ! $tipfs = ext4 ]]; 
    then echo "Ты странный какой-то, у тебя файловая система не ext4"; set +e ; sleep 10; exit; 
  fi
# для нормальной работы скрипта необходим пакет uswsusp-git
  package="uswsusp-git"; check="$(pacman -Qs --color always "${package}" | grep "local" | grep "${package}")";
  if [ -n "${check}" ] ; 
    then
# создание файла подкачки 
# -------------------------------------------------------------------------------------------------------
    if [ -e /swapfile ]; then swapoff /swapfile ; rm -f /swapfile ; fi
    ozu="$(cat /proc/meminfo | grep MemTotal | awk '{ print $2 "K" }')"
    fallocate -l $ozu /swapfile ; chmod 600 /swapfile ; mkswap /swapfile ; 
# Определяем поддержку TRIM
    ssd="$(lsblk -D | grep $(lsblk -r | grep '/$' | awk '{ print $1 }') | awk '{ print $4 }')"; 
    if [[ "$ssd" = 0B ]]; then swapon /swapfile; else swapon --discard /swapfile; fi
    cp -v /etc/fstab /etc/fstab.backup
    if grep -q 'swapfile none swap' /etc/fstab; then sed -i '/swapfile none swap/d' /etc/fstab; fi
    if [[ "$ssd" = 0B ]]; 
      then echo "/swapfile none swap defaults 0 0" | tee -a /etc/fstab; 
      else echo "/swapfile none swap defaults,discard 0 0" | tee -a /etc/fstab; 
    fi
# -------------------------------------------------------------------------------------------------------
# файл подкачки создан
#
# Настройка initramfs
# -------------------------------------------------------------------------------------------------------
    cp -v /etc/mkinitcpio.conf /etc/mkinitcpio.conf.backup
    if grep -q 'uresume' /etc/mkinitcpio.conf; 
      then echo "/etc/mkinitcpio.conf уже содержит хук uresume"; 
      else sed -i 's!\(^HOOKS.*udev\) \(.*filesystems.*\)!\1 uresume \2!' /etc/mkinitcpio.conf; 
    fi
    cp -v /etc/suspend.conf /etc/suspend.conf.backup
    if grep -q 'resume device' /etc/suspend.conf; then sed -i '/resume device/d' /etc/suspend.conf; fi
    if grep -q 'resume offset' /etc/suspend.conf; then sed -i '/resume offset/d' /etc/suspend.conf; fi
    df /swapfile | grep dev | awk '{ print "resume device = " $1 }' | tee -a /etc/suspend.conf
    swap-offset /swapfile | tee -a /etc/suspend.conf
    mkinitcpio -P
# -------------------------------------------------------------------------------------------------------
# Настройка initramfs выполнена
#
# Настройка параметров гибернации пакета uswsusp-git
# -------------------------------------------------------------------------------------------------------
    if [ -f /etc/systemd/system/systemd-hibernate.service.d/override.conf ]; 
      then rm -f /etc/systemd/system/systemd-hibernate.service.d/override.conf ; 
    fi
    echo "[Service]" | tee -a /etc/systemd/system/systemd-hibernate.service.d/override.conf
    echo "ExecStart=" | tee -a /etc/systemd/system/systemd-hibernate.service.d/override.conf
    echo "ExecStartPre=-/usr/bin/run-parts -v -a pre /usr/lib/systemd/systemd-sleep" | tee -a /etc/systemd/system/systemd-hibernate.service.d/override.conf
    echo "ExecStart=/usr/bin/s2disk" | tee -a /etc/systemd/system/systemd-hibernate.service.d/override.conf
    echo "ExecStartPost=-/usr/bin/run-parts -v --reverse -a post /usr/lib/systemd/systemd-sleep" | tee -a /etc/systemd/system/systemd-hibernate.service.d/override.conf
    echo " " | tee -a /etc/systemd/system/systemd-hibernate.service.d/override.conf
# Настройка параметра гибернации системы на диск с полным отключением питания
    if [ -f /etc/systemd/sleep.conf.d/hibernatemode.conf ]; 
      then rm -f /etc/systemd/sleep.conf.d/hibernatemode.conf ; 
    fi
    echo "[Sleep]" | tee -a /etc/systemd/sleep.conf.d/hibernatemode.conf
    echo "HibernateMode=shutdown" | tee -a /etc/systemd/sleep.conf.d/hibernatemode.conf
    echo " " | tee -a /etc/systemd/sleep.conf.d/hibernatemode.conf
# -------------------------------------------------------------------------------------------------------
# Настройка конфигов для гибернации на диск выполнена
#
# гибернация на диск
# -------------------------------------------------------------------------------------------------------
    echo -e "\n"; read -n 1 -p "Гибернизируемся? [y/N]: " hiber;
    if [[ "$hiber" = [yYlLдД] ]]; then echo -e "\n"; systemctl hibernate; fi
# -------------------------------------------------------------------------------------------------------
# гибернация на диск произведена
#
# Пост комментарии для юзера
# -------------------------------------------------------------------------------------------------------
# Пакет uswsusp-git из AUR не установлен, обработка для гибернации не сделана
  else then echo -e "\n"; echo "Для нормальной работы скрипта необходим пакет uswsusp-git из AUR! Установи его немедленно!"; then echo -e "\n";
  fi
  else then echo -e "\n"; echo "Ну на нет и суда нет! Если ошибся, то запусти скрипт снова!" ; then echo -e "\n"; 
# -------------------------------------------------------------------------------------------------------
# Окончание работы скрипта, восстановление стандартных параметров оболочки
#
fi
set +e 
Учебники (How-To & F.A.Q)

Mamjaro KDE не видет USB устройств

Не так давно начал переползать с Windows на Linux. Выбрал для себя Manjaro, но вот налетел на проблему которой не могу найти ответ (ну не хватает знаний). Дело в том что пакеты CubeIDE и элементарный Arduino IDE скачаные из репозитория и по сути нормально работающие не видят программатора (CubeIDE) и саму плату Arduino (Arduino IDE). При этом при вызове в Konsole команды lsusb устройства видятся.

Bus 003 Device 005: ID 0483:3748 STMicroelectronics ST-LINK/V2

Подскажите что можно предпринять, а то что в инете находил, так там сводилось все к проблемам железа (но под виндой все работает без проблем), или к нечтению внешних накопителей с которыми проблем нет (видны и читаются и флешки и диски)
Учебники (How-To & F.A.Q)

Сканер Epson Perfection 660 - Добавление в систему

Учебники (How-To & F.A.Q): EPSON Perfection 660
Здравствуйте. На днях приютил сканер в полностью рабочем состоянии EPSON Perfection 660, который хотели на работе выбросить (подробно модель описана здесь). Стоит отметить, что данная модель из коробки работает на семействе ОС Windows 98-XP. На Windows 7 и выше сканер работает только используя программу VueScan, которую также можно установить на Manjaro из репозитория AUR. Я же, используя Pamac, установил программу Skanpage (KDE). При старте утилиты сразу выводится сообщение:
Skanpage - Failed to open selected device
Учебники (How-To & F.A.Q): Сканер Epson Perfection 660 - Добавление в систему

А при попытке открыть сканер:
Access to selected device has been denied
Т.е. вендор сканера определяется, но модель — нет.

Идём в ArchWiki. В странице описания проекта SANE указано, что дополнительно для сканеров, использующих USB, требуется установка пакета ipp-usb и включение в качестве службы:
sudo pacman -S ipp-usb
sudo systemctl start ipp-usb.service
sudo systemctl enable ipp-usb.service

Но добавление пакета так просто не решает ситуацию. Ключевым моментом конкретно для данной модели сканера заключается в наличие прошивки (firmware). Это удалось понять при попытке тестового сканирования в консоли, указав опцию --device имя сканера, полученного через команду scanimage:
sudo scanimage -L
sudo scanimage --device "ваш_сканер" --format=png --output-file test.png --progress

Учебники (How-To & F.A.Q): Вывод команд scanimage

Заходим в перечень моделей SANE и ищем наш сканер. Там указано:
Requires firmware tail_058.bin.

Требуется прошивка — бинарный файл, но где его взять!? В той же табличке кликаем на backend нашей модели сканера. Пролистываем уже значительно меньшую табличку поддерживаемых данным backend-ом моделей вниз, пока не попадаем на цитату:
Scanner firmware

Most USB models need a firmware upload in order to work (see table above). The bin file can be found in the windows drivers coming with your scanner. For scanners from Acer / Benq the last three digits of the firmware file depend on the version of your driver CD. The files listed in the table are known to work, other versions will probably work as well.

Т.е. требуются драйвера Windows — из дисков, или скачанные из сайта производителя. Увы, для нашей модели их уже нет — гонконгская ветка EPSON предлагает их для загрузки, но при попытке их скачать просто перебрасывает на главную страницу. Можно их взять на сайте Softpedia или на Driver.ru.

Из скачанного архива требуется скопировать файл TAIL_061.BIN из папки Euro/DATA/BIN в папку /usr/share/sane/snapscan/. Несмотря на то, что версия бинарника выше требуемой — работать будет всё равно.
Копирование бинарника прошивки
Учебники (How-To & F.A.Q): Сканер Epson Perfection 660 - Добавление в систему

И правим конфиг /etc/sane.d/snapscan.conf с сохранением:
#------------------------------ General -----------------------------------

# Change to the fully qualified filename of your firmware file, if
# firmware upload is needed by the scanner
firmware /usr/share/sane/snapscan/TAIL_061.BIN

Проверяем работу сканера в консоли:
Учебники (How-To & F.A.Q): Сканирование через консоль командой scanimage

И в утилите Skanlite/Skanpage:
Сканирование в Skanlite
Учебники (How-To & F.A.Q): Работа сканера EPSON Perfection 660 в Skanlite

Также для сканирования вы можете использовать утилиту XSANE — настроек там побогаче, но выглядит не так симпатично. Есть плагин для GIMP. Можно установить с официального репозитория через Pamac.
Учебники (How-To & F.A.Q)

Как в XFCE при автозапуске открыть окно программы на определенном рабочем столе.

У некоторых возникает вопрос Как в XFCE в автозапуске открыть окно программы на определенном рабочем столе?
есть несколько способов как это сделать (я знаю два) очень удобен был способ при котором использовалась спец гуи утилита, с помощью которой можно было настроить правила для каждого окна любой программы. я пишу «было» потому, что основана она на питоне2, который практически выпилен из системы и его использовать не рекомендуют. когда создатели этих утилит очнуться и перепишут код, я добавлю этот обзор. а пока расскажу про несколько костыльный, но рабочий способ достичь желаемого. есть утилита wmctrl, которая позволяет сделать активным необходимый рабочий стол, рабочие столы нумеруются начиная с 0, запись вида wmctrl -s 1 означает сделать активным второй рабочий стол.
в Автозапуск приложений настроек Сеансы и запуск крысы нужно добавить строки подобного плана
bash -c "sleep 1;wmctrl -s 1 && /opt/Telegram/Telegram -workdir /home/kostya/.local/shar/TelegramDesktop/ -autostart"
bash -c "sleep 10;wmctrl -s 0 && conky -c "/home/kostya/.conky/Conky_left_small_v3/conkysmall-v3-Manjaro/ConkySmall-3" &"

записью sleep 10 контролируем последовательность активирования рабочих столов, а так же даем возможность отработать предыдущей команде с учетом времени активации окна. именно в этом и заключается костыльность такого способа, так как для каждого окна, каждой программы это значение придется подбирать индивидуально.
выше я привел примеры строк автозапуска коньков на первом рабочем столе и телеги на втором рабочем столе. первым делается активным второй рабочий стол и запускается телега, потом активируется первый рабочий стол и запускаются коньки.
Учебники (How-To & F.A.Q): Как в XFCE в автозапуске открыть окно программы на определенном рабочем столе.
Учебники (How-To & F.A.Q)

Перенос ключа из PuTTY

Имеется: приватный и открытый ключи (пусть зовутся mykey-r.ppk и id_rsa-r.pub), созданные некогда в PuTTY и распространенные по удаленным серверам. Некогда переносил в Убунту и там работало, сейчас копирование тех ключей в Манджаро не дало результат. После некоторых изысканий нашел как сделать рабочий ключ и потому делюсь методом.
  1. Устанавливаем пакет putty
  2. Конвертируем ключ для линукса
    puttygen mykey-r.ppk -O private-openssh -o ~/.ssh/id_rsa_manjaro
  3. Проверяем права на файл — они должны быть 600 на приватный ключ:
    
    -rw-------  1 dmitriy dmitriy 2,6K дек  8 16:26 id_rsa_manjaro
    -rw-r--r--  1 dmitriy dmitriy  572 дек  8 16:26 id_rsa_manjaro.pub
    
  4. Но на некоторых хостах у меня ругалось и не принимало ключ, а требовало ввод пароля — путем некотрых изысканий я нашел причину и поправил файл конфига SSH:
    nano ~/.ssh/config
    HostKeyAlgorithms=+ssh-rsa
    User=root    пользователь по умолчанию для входа
    PubkeyAcceptedKeyTypes=+ssh-rsa
    

  5. Вот после этого у меня работает и спокойно заходит на все ранееизвестные хосты.
Учебники (How-To & F.A.Q)

Постподключение смонтированного облачного ресурса

Совместное использование утилиты rclone и systemd вызывает некоторое поведение смонтированных облачных ресурсов, которое меня не устраивает. А именно, происходит немедленное монтирование и подключение облачного ресурса. А при прописывании параметров монтирования в fstab вообще монтирование происходит дважды и немедленное подключение смонтированного ресурса. Это ни чему особенному не мешает и можно забить. Но мне так не нравиться и не хочется делиться своими ресурсами с другими юзерами в случае с fstab, а в случае монтирования через юниты системды (как от рута, так и от юзера) происходит немедленное подключение ресурса. Итак, костыль:
Рассказываю, этот костыль отменяет линукс и создает подземный стук, а так же выясняет какой главный вопрос вселенной и всего такого, и даже дает ответ на него:
1.конфигурирую rclone config для mailru: ресурса облачного диска
2.создаю в /etc/fstab строку:
#mailru:/ /home/kostya/cloud/cloudmailru rclone config=/home/kostya/.config/rclone/rclone.conf,cache_dir=/home/kostya/cloud/cache 0 0

3.создаю /opt/my_scripts/mountcloud.sh:
#!/bin/bash
username=`who | grep -c "kostya"`
if [ "$username" > "0" ]; then 
  if /usr/bin/grep -q '#mailru:' /etc/fstab; then /usr/bin/sed -i 's/#mailru:/mailru:/g' /etc/fstab; fi; fi;

4.создаю /opt/my_scripts/umountcloud.sh:
#!/bin/bash
 if ! /usr/bin/grep -q '#mailru:' /etc/fstab; then /usr/bin/sed -i 's/mailru:/#mailru:/g' /etc/fstab; fi

5. делаю юниты
/etc/systemd/system/moutcloud.service:
[Unit]
Description=mount cloud (rclone)
Wants=network-online.target
After=network-online.target default.target

[Service]
Type=oneshot
ExecStart=/opt/my_scripts/mountcloud.sh

[Install]
WantedBy=default.target


/etc/systemd/system/umoutcloud.service:
[Unit]
Description=umount cloud (rclone)
DefaultDependencies=no
After=final.target

[Service]
Type=oneshot
ExecStart=/opt/my_scripts/umountcloud.sh

[Install]
WantedBy=final.target

6. на всякий случай скрипт /opt/my_scripts/umountcloud.sh копирую в /usr/lib/systemd/system-shutdown/umountcloud.sh
7. Далее стандартные действа для запуска сервисов
systemctl daemon-reload
systemctl enable moutcloud.service
systemctl enable umoutcloud.service


В итоге получаю то, что хотел, а именно примонтированный, но не подключенный облачный ресурс, который подключается при обращении к нему своего юзера, после отключения или ребут или чего то такого состояние fstab возвращается в первоначальное состояние с заремованной строкой монтирования облачного ресурса и не монтируется для других юзеров ноута.
зы. прежде чем предложить ваше решение, проверьте его работоспособность на вашем пк
Учебники (How-To & F.A.Q)

[РЕШЕНО] щелчки и автооткрытие привода cd

sudo setcd -s /dev/sr0

(утилита есть в aur)

должно вывести что-то похожее:

/dev/sr0:
  Auto close tray:     cleared
  Auto open tray:      cleared
  Use O_NONBLOCK flag: set
  Lock tray:           set
  Check CD type:       cleared


если вместо этого «Auto open tray» или «Auto close tray» написано «set», запуск
sudo setcd -o0 /dev/sr0

и
sudo setcd -c0 /dev/sr0

должен решить вашу проблему до следующей перезагрузки.

причиной может быть инструмент в рабочей среде, который можно использовать для подключения съемных дисков.он опрашивает dvd и при установленых выше параметрах «Автоматически открывать/закрывать лоток», лоток откроется после завершения опроса, и инструмент прекратит доступ к диску. у себя на xfce я такого инструмента не нашел в явном виде.

отключение функции «автооткрытие/закрытие» стало решением.

при наличии systemd лучший способ сделать эти настройки постоянными — это создать юнит для запуска команды setcd во время загрузки.

создал файл в /etc/systemd/system/dvd_stop_open.service. содержимое:

[Unit]
Description=no dvd auto open/close
Documentation=man:setcd

[Service]
Type=oneshot
ExecStart=/usr/bin/setcd -c0 /dev/sr0
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

немного прокоментирую: Type=oneshot — используется для разового запуска юнита, а RemainAfterExit=yes говорит, что все ок, даже если юнит уже отработал
после создания файла сервиса включил сервис:

sudo systemctl enable dvd_stop_open.service


проверил, запустив службу и убедившись, что в поле Active: в статусе службы указано active (exited):

sudo systemctl start dvd_stop_open.service
systemctl status dvd_stop_open.service


зы. скопировано и переведено отсюдова тыц
Учебники (How-To & F.A.Q)

Настройка МФУ Brother DCP-L2520DWR в локальной сети

Коротко о системе, в которой производились настройки принтера и сканера:
Manjaro KDE 21.3.7 Ruah
Ядро: 5.15.60-1

Покупался и настраивался принтер ещё под windows 7. Но т.к. винда приказала долго жить, установил Manjaro KDE.

Столкнулся с тем, что при добавлении принтера, он не печатал. Т.е. он был подключён, система его видела, но печатать отказывалась. Посмотрев кучу форумов и каналов youtube, и повторив действия, ситуация с принтером не исправилась. В какой-то момент принтер начал печатать, но только при подключении VPN. Но такое меня не очень устраивало.
В итоге методом «тыка» нашёл решение своей проблемы. У кого-то принтеры подключаются без описываемых ниже «танцев», кому-то может помочь, а может нет. Я для своей ситуации попробую описать решение (много что перепробовал, но основные действия запомнил).

УСТАНОВКА СЕРВЕРА ПЕЧАТИ И СОПУТСТВУЮЩИХ ДЕМОНОВ
sudo pacman -S cups

sudo pacman -S cups-pdf


Если CUPS не включены, то включаем (Проверка статуса CUPS
sudo systemctl status cups
):
sudo systemctl enable --now cups

# Проверка статуса сервиса чашек
sudo systemctl status cups.service

Если не включено, то включаем:
sudo systemctl enable cups.service

Ещё какие-то службы CUPS тоже включал:
sudo systemctl enable --now cups.socket

sudo systemctl enable --now cups.path


Включаем «демонов» печати:
sudo systemctl enable avahi-daemon

sudo systemctl start avahi-daemon

# Проверка статуса демона (работает или нет)
sudo systemctl status avahi-daemon


Добавляем юзера (себя) в группу для печати:
sudo usermod -aG lp имя_юзера


ЗАГРУЗКА ДРАЙВЕРОВ ПРИНТЕРА
Можно скачать rpm пакет с оф.сайта принтера.  
Т.к. Manjaro не поддерживает распаковку rpm: лезем в архив этого пакета, достаём файл с расширением .ppd Больше нам оттуда ничего не нужно.

Проверяем, есть ли файл с наименованием нашего принтера по пути /usr/lib/cups/filter/
У меня это brother_lpdwrapper_DCPL2520DW

Если нет, устанавливаем:
yay -S brother-dcpl2520dw

(как найти драйвер под принтер: поищите в магазине приложений)


Далее скачаем приложение для добавления/настройки принтера
pamac install system-config-printer


или

yay -S system-config-printer


Запускаем:
system-config-printer


Добавляем принтер из сетевых принтеров. Сервер и Очередь оставляем как есть, соединение выбираем LPD/LPR:


На следующем шаге предоставляю PPD-файл, который вытащил из rpm-пакета. На предложение пробной печати — отказываемся. При попытке пробной печати система сообщает, что принтер не найден.
В оставшемся окне настройки в поле «URI устройства» прописываем ipp:// и ip-адрес принтера:

Узнать ip принтера (в самом принтере, либо в настройках роутера)

P.S.: Если добавлять принтер сразу через протокол интернет печати (ipp), то по завершении настроек у меня выдавал ошибку с капсами.

НАСТРОЙКА СКАНЕРА:
yay -S brscan5

brsaneconfig5 -a name="Brother" model="YOURMODELHERE" ip=YOUR.SCANNER.IP.HERE

sudo /opt/brother/scanner/brscan5/brsaneconfig5 -a name="brother_a" model="dcpl2520dw" ip=192.168.000.225
Учебники (How-To & F.A.Q)

Использование WIFI и OpenVpn одновременно

В настоящее время установлена manjaro kde. Возникла проблема следующего плана: имеется vpn, обеспечивающий доступ к ряду сервисов. комп подключен к Wi-FI. Как только я подключаюсь к VPN — сеть интернет (через wifi) становится недоступна.
Можно ли как-то исправить такую проблему?