Уголок новичка

udevrules и Xbox gamepad

Прокунсультируйте кто-нибудь по udevrules.
предпосылки: при игре с помощью геймпада, монитор вырубается — уходит в спящий режим. нагуглил решение — маленькая утилита из aur — joystickwake. только ее нужно запускать в фоне перед запуском игры, а потом вырубать (можно не вырубать, но борьба за ресурсы, все дела).
задача — выполнять скрипт при подключении геймпада, а при отключении выполнять еще один.
пытаюсь освоить udevrules, а тут еще и подвернулся повод)
что делаю:
dmesg
[ 3558.815661] usb 1-4: new full-speed USB device number 20 using xhci_hcd
[ 3558.960747] usb 1-4: New USB device found, idVendor=045e, idProduct=02ea, bcdDevice= 3.01
[ 3558.960753] usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 3558.960757] usb 1-4: Product: Controller
[ 3558.960760] usb 1-4: Manufacturer: Microsoft
[ 3558.960763] usb 1-4: SerialNumber: 3033363030303431393237383334
[ 3558.962538] input: Microsoft X-Box One S pad as /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0/input/input37

методом «от противного» узнаю, что мой гемпад коннектится как /dev/input/js1
sudo udevadm info -a -n /dev/input/js1
looking at device '/devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0/input/input28/js1':
KERNEL==«js1»
SUBSYSTEM==«input»
DRIVER==""
looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0/input/input28':
KERNELS==«input28»
SUBSYSTEMS==«input»
DRIVERS==""
ATTRS{name}==«Microsoft X-Box One S pad»
ATTRS{uniq}==""
ATTRS{properties}==«0»
ATTRS{phys}==«usb-0000:00:14.0-4/input0»
looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0':
KERNELS==«1-4:1.0»
SUBSYSTEMS==«usb»
DRIVERS==«xpad»
ATTRS{authorized}==«1»
ATTRS{bAlternateSetting}==" 0"
ATTRS{bInterfaceNumber}==«00»
ATTRS{bNumEndpoints}==«02»
ATTRS{bInterfaceProtocol}==«d0»
ATTRS{bInterfaceSubClass}==«47»
ATTRS{bInterfaceClass}==«ff»
ATTRS{supports_autosuspend}==«0»
looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1/1-4':
KERNELS==«1-4»
SUBSYSTEMS==«usb»
DRIVERS==«usb»
ATTRS{maxchild}==«0»
ATTRS{serial}==«3033363030303431393237383334»
ATTRS{urbnum}==«16»
ATTRS{bcdDevice}==«0301»
ATTRS{bNumConfigurations}==«1»
ATTRS{bMaxPower}==«500mA»
ATTRS{bNumInterfaces}==" 3"
ATTRS{bDeviceProtocol}==«d0»
ATTRS{avoid_reset_quirk}==«0»
ATTRS{bmAttributes}==«a0»
ATTRS{version}==" 2.00"
ATTRS{product}==«Controller»
ATTRS{quirks}==«0x0»
ATTRS{bConfigurationValue}==«1»
ATTRS{removable}==«removable»
ATTRS{devpath}==«4»
ATTRS{rx_lanes}==«1»
ATTRS{ltm_capable}==«no»
ATTRS{devnum}==«11»
ATTRS{bMaxPacketSize0}==«64»
ATTRS{idProduct}==«02ea»
ATTRS{manufacturer}==«Microsoft»
ATTRS{bDeviceSubClass}==«47»
ATTRS{configuration}==""
ATTRS{tx_lanes}==«1»
ATTRS{devspec}=="(null)"
ATTRS{bDeviceClass}==«ff»
ATTRS{busnum}==«1»
ATTRS{speed}==«12»
ATTRS{authorized}==«1»
ATTRS{idVendor}==«045e»
looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1':
KERNELS==«usb1»
SUBSYSTEMS==«usb»
DRIVERS==«usb»
ATTRS{configuration}==""
ATTRS{idVendor}==«1d6b»
ATTRS{bMaxPacketSize0}==«64»
ATTRS{speed}==«480»
ATTRS{bNumInterfaces}==" 1"
ATTRS{maxchild}==«16»
ATTRS{version}==" 2.00"
ATTRS{bmAttributes}==«e0»
ATTRS{authorized}==«1»
ATTRS{bConfigurationValue}==«1»
ATTRS{devnum}==«1»
ATTRS{authorized_default}==«1»
ATTRS{devspec}=="(null)"
ATTRS{bNumConfigurations}==«1»
ATTRS{bDeviceSubClass}==«00»
ATTRS{bMaxPower}==«0mA»
ATTRS{bDeviceProtocol}==«01»
ATTRS{rx_lanes}==«1»
ATTRS{idProduct}==«0002»
ATTRS{interface_authorized_default}==«1»
ATTRS{vendor}==«0x8086»
ATTRS{local_cpulist}==«0-7»
ATTRS{device}==«0xa12f»
ATTRS{d3cold_allowed}==«1»
ATTRS{broken_parity_status}==«0»
looking at parent device '/devices/pci0000:00':
KERNELS==«pci0000:00»
SUBSYSTEMS==""
DRIVERS==""

создаю:
/etc/udev/rules/50-xbox.rules
SUBSYSTEM==«input», ATTRS{idVendor}==«045e», ATTRS{idProduct}==«02ea», ACTION==«add», RUN+="/etc/udev/scripts/joy.sh"

перезапускаю правила:
sudo udevadm control --reload-rules

проверяю — не работает.
скрипт из консоли запускается. если что, вот его пример:
/etc/udev/scripts/joy.sh
#!/bin/bash
joystickwake && notify-send «Xbox gamepad connected» -t 1000

короче, победа.

решил отказаться от всяких joystickwake и использовать топорный метод xset. конечный вариант правила:
/etc/udev/rules.d/98-xbox.rules
ACTION=="add" \
, KERNEL=="js1" \
, ATTRS{name}=="Microsoft X-Box One S pad" \
, RUN+="/bin/bash /etc/udev/scripts/joyadd.sh"

ACTION=="remove" \
, KERNEL=="js1" \
, ATTRS{name}=="Microsoft X-Box One S pad" \
, RUN+="/bin/bash /etc/udev/scripts/joyrem.sh"

# Wireless gamepad
ACTION=="add" \
, KERNEL=="input[0-9]*" \
, ATTRS{name}=="Xbox Wireless Controller" \
, RUN+="/bin/bash /etc/udev/scripts/joyadd.sh (BT)"

ACTION=="remove" \
, ATTRS{name}=="Xbox Wireless Controller" \
, RUN+="/bin/bash /etc/udev/scripts/joyrem.sh (BT)"

конечный вариант скриптов:
/etc/udev/scripts/joyadd.sh
#!/bin/bash
TIME='-t 1000'
STAT=$1
DISPLAY=":0"
XAUTHORITY=/run/user/1000/Xauthority
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
export DISPLAY XAUTHORITY DBUS_SESSION_BUS_ADDRESS
xset -dpms
xset s off
su led -c "notify-send  'System Message' 'Xbox Gamepad $STAT connected' $TIME"

/etc/udev/scripts/joyrem.sh
#!/bin/env bash
TIME='-t 1000'
STAT=$1
DISPLAY=":0"
XAUTHORITY=/run/user/1000/Xauthority
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
export DISPLAY XAUTHORITY DBUS_SESSION_BUS_ADDRESS
xset +dpms
xset s on
su led -c "notify-send  'Sytem Message' 'Xbox Gamepad $STAT disconnected' $TIME"



но, при отключении bluetooth ивент срабатывает дважды. не особо критично, но…
Уголок новичка

Изменились путь и права на диски с NTFS.

Вчерась обновления различные прилетели, хотя может причина и не в этом.
Но сегодня после включения компьютера, два диска с файловой системой NTFS, один SSD с Windows, другой HDD с файлами, примонтировались в /media/ и с правами root, хотя до этого были в /run/media/папка_с_именем_пользователя/ и не справами root.
Что бы это значило? Почему так произошло? И как с этим теперь жить?
Яндекс.Диск я перенастроил, но вот Steam ругается так: «Файловая система, используемая для новой папки библиотеки steam, должна быть смонтирована с правами на исполнение»
Подскажите, пожалуйста, решение это проблемы?
Кстати, а почему в файле fstab нет других дисков, кроме "/" и "/tmp"? Параметры монтирования дисков находятся где-то в другом месте?
Уголок новичка

Проблема с установкой XFCE с загрузочной флешки.

Здравствуйте. Записал образ на флешку в FAT32. Хотел поставить Linux на ноутбук, но при загрузке из BIOS загрузочной флешки открывается консоль

error: unknown filesystem
Entering rescue mode...
grub rescue>
По гайдам в гугле нужно в ls найти раздел с ext3, но у меня, скорее всего по понятным причинам такого нет. При этом DAEMON Tools и UltraISO не дают записать установщик в другой файловой системе. Это мои первые шаги в знакомстве с Linux, до этого только по учебе в лабе сидел в ArchLinux (вся работа с ним ограничивалась созданием файлов и вызовом компилятора)
Уголок новичка

Помогите настроить grub

Всем добра и не болеть!

Имеется комп с 2-мя HDD. Сначала была установлена win 10 на первый (240 гб), потом установлена манджара на 2-й (320 гб). Вот вывод fdisk -l (чуть порезан)

Диск /dev/sdb: 298,9 GiB, 320072933376 байт, 625142448 секторов
Тип метки диска: gpt
Устр-во начало Конец Секторы Размер Тип
/dev/sdb1 4096 618495 614400 300M EFI
/dev/sdb2 618496 606682405 606063910 289G Файловая система Linux
/dev/sdb3 606682406 625137344 18454939 8,8G Linux своп

Раздел 3 начинается не на границе физического сектора.

Диск /dev/sda: 223,59 GiB, 240065183744 байт, 468877312 секторов
Тип метки диска: dos
Устр-во Загрузочный начало Конец Секторы Размер Идентификатор Тип
/dev/sda1 * 2048 1187839 1185792 579M 7 HPFS/
/dev/sda2 1187840 468875263 467687424 223G 7 HPFS/

1. Проблема — не запускается grub вообще. Выбрать какую систему грузить можно приоритетом жестких в bios.
Вопрос: как (какие команды) на какой раздел поставить grub чтобы он был не зависим от виндового жесткого и работал. Приоритет в bios, как я понимаю надо поставить на жесткий с манджарой.

2. Ругается на раздел 3, хотя манджара сама расставляла разделы, можно это поправить или нет смысла трогать?
Уголок новичка

Зависает при загрузке системы после добавления скрипта в автозагрузку [KDE]

Я в Линуксе новичок, пару месяцев на работе приходится работать с Manjaro. Проблема с Манжариком на KDE (с офф сайта последнюю качал примерно месяц назад, пока не обновлял) — не загружается в графическую среду. Возникла необходимость запилить скрипт, запускающий vnc-сервер, и добавить в автозапуск. Команда такая:

x0vncserver -display :0 -PasswordFile /home/your_user_name/.vnc/passwd

Создал .sh-файл и просто добавил его, как сценарий в автозагрузку через системные настройки KDE. Поставил старт сценария после загрузки системы (перед логином, я так понимаю). Перезагружаю комп, Линух грузится, а когда появдяется фон графической среды, на ней сначала анимация загрузки бежит, полминуты примерно (как обычно), потом анимация застывает и на этом всё, до окна входа в систему он так и не доходит даже за 20 минут.
При всем этом зайти в консоли через Fn+Ctrl+Alt+F(2-5) можно.

Из-за отсутствия знаний полный ступор, как исправлять — не знаю. По гуглу подходящих тем не нахожу ни по Manjaro, ни по Линуксу впринципе. Может кто поможет разобраться? Мне хотя бы в графическую среду зайти, чтобы я мог удалить из автозапуска .sh-ник, а уже дальше бы разобрался. Буду оч благодарен
Уголок новичка

Зависимости при обновлении

Добрый день!
при очередном обновлении обновится не удалось и пишет:

The following packages will be installed:
linux55
linux55-nvidia-430xx
linux55-r8168

Starting
resolving dependencies…
looking for conflicting packages…
:: installing nvidia-430xx-utils (430.64-2) breaks dependency 'nvidia-430xx-utils=430.40' required by linux419-nvidia-430xx
error: failed to prepare transaction (could not satisfy dependencies)
:: installing nvidia-430xx-utils (430.64-2) breaks dependency 'nvidia-utils=430.40' required by linux419-rt-nvidia-430xx
Прошу подсказать как разрешить.
Уголок новичка

Установка МФУ Epson WF-7710

Всем привет!
Люди добрые, помоги подключить к системе принтер, которого нет ни в Openprinting, ни в Gutenprint.
Epson WF-7710
На Manjaro KDE
Есть родные дрова для Дебиана и Федоры. Пробовал руками раскидывать по папкам, но руки не из головы растут (потому не по уму получается) и ничего не выходит.
Пробовал драйвера от похожих принтеров, драйвера которых есть в фуматике. Тестовая печать приводит к выбросу чистых листов или печати кракозябров.
CUPS установлен и запущен.
РЕШЕНО
Родной драйвер для Дебиан переконвертирован с помощью debtap в пакет для pacman. В процессе конвертации нужно в PKGINFO стереть последнюю строку «depend = lsb>=3.2».
Уголок новичка

Русский в приложении под Wine

Здравствуйте.

Установил Manjaro XFCE, Wine и нужное мне виндовое приложение. Запускаю — все работает как нужно. В углу возле часов повляется сообщение о необходимости обновления языковых пакетов — устанавливаю. После этого в приложении под вайном перестает работать русский — просто не вводятся буквы. Английский при этом работает нормально. В приложениях не под вайном русский продолжает работать корректно.

Подскажите как это исправить? Пробовал не ставить пакеты, но вчера (может прилетело какое-то автообновление, не знаю) все работать вновь перестало.