LINUX.ORG.RU

Сообщения Cl_Magenta

 

Обработка касания тачскрина

Может быть кто-то подскажет мне, как отключить клик мышью при касании тачскрина? Пробовал это сделать через xinput:

# xinput get-button-map 11
1 2 3 4 5 6 7
# xinput set-button-map 11 7 7 7 7 7 7 7

– но этот вариант не работает.

Перемещено hobbit из general

 , ,

Cl_Magenta
()

Настройка работы демона acpi для обработки событий.

Создал файл /etc/acpi/events/buttonpower с правилом обработки события нажатия кнопки гибернации.

Правило начинает работать только после:

/etc/init.d/acpid stop
/etc/init.d/acpid start

При этом:

systemctl restart acpid.service 

Останавливает демон, но не запускает его:

# /etc/init.d/acpid start
# systemctl restart acpid.service 
# /etc/init.d/acpid stop
Service acpid is not running.

После запуска демона начинает срабатывать правило: происходит запуск скрипта. Но только до тех пор, пока открыт терминал. После закрытия терминала правило перестает срабатывать: при том, что, как я понимаю, демон продолжает работать и после закрытия терминала. После повторного открытия терминала правило начинает работать только после перезапуска демона: # /etc/init.d/acpid restart.

дистрибутив: АльтЛинукс

 ,

Cl_Magenta
()

Не запускается скрипт с правами root

Задача запустить скрипт из под пользователя с правами рут. Содержимое самое простое:

sudo ls /root

Делаю это так:

sudo chown root:root имя_файла
sudo chmod u+s,g+s имя_файла

Способ работает, но только до перезагрузки компьютера: после перезагрузки скрипт требует ввести пароль sudo.

Пробовал прописывать в /etc/sudoers :

## User privilege specification
##
root ALL=(ALL:ALL) ALL
user ALL = (ALL) ALL
user ALL = (root) NOPASSWD: /home/user/script.sh

Не помогает.

 ,

Cl_Magenta
()

чтение файла /dev/input/event0

В продолжение темы подключения кнопок, хочется задать такой вопрос: Если evtest определяет нажатие кнопок, то, как я понимаю, можно считывать событие из файла /dev/input/event0. Но как это правильно сделать? Может быть кто-нибудь укажет ссылки, подсказать? Я пробовал разобраться с примерами на python, где производится чтение из файла, но не осилил их.

 , ,

Cl_Magenta
()

Дополнительные кнопки на ThinkPad x230t

Девайс: ThinkPad x230t. Под дисплеем монитора ноутбука есть три кнопки: питания, гибернации, поворота экрана. Кнопка питания работает, а кнопки гибернации и поворота экрана – нет.

xinput, libinput, xbindkeys – эти кнопки не отображают, и никак на их нажатия не реагируют. Хотя в интернете есть статья, где автор пишет, что смог настроить эти кнопки с помощью xbindkeys, который у меня на эти кнопки не реагирует.

Как можно «оживить» эти кнопки? Может быть дело в каких-то драйверах?

Дистрибутив: «Альт Рабочая станция» 10.
Ядро: Linux version 5.10.164-std-def-alt1 (builder@localhost.localdomain) (gcc-10 (GCC) 10.3.1 20210703 (ALT Sisyphus 10.3.1-alt2), GNU ld (GNU Binutils) 2.35.2.20210110) #1 SMP Mon Jan 23 08:59:07 UTC 2023

Перемещено hobbit из general

 ,

Cl_Magenta
()

Создание правила udev

Пришлось знакомится с udev. Помогите создать свое первое правило, чтобы понять общую логику. Пытаюсь создать правило для своего стилуса – создать симлинк, – но не получается.

# touch /etc/udev/rules.d/devices.rules

# xinput list-props 'Wacom ISDv4 E6 Pen Pen (0)'
Device Node (288):	"/dev/input/event14"

# udevadm info -a -n /dev/input/event14
...
KERNELS=="input21"
SUBSYSTEMS=="input"
DRIVERS==""
...
ATTRS{name}=="Wacom ISDv4 E6 Pen"

# nano Reading rules file: /etc/udev/rules.d/device.rules

SUBSYSTEMS=="input", ATTRS{name}=="Wacom ISDv4 E6 Pen", SYMLINK+="stilus"

# udevadm control --reload-rules
# udevadm test /dev/input/event14
Reading rules file: /etc/udev/rules.d/devices.rules
Failed to open device '/sys/dev/input/event14': No such device
Unload module index
Unloaded link configuration context.

Перемещено hobbit из general

 

Cl_Magenta
()

настройка стилуса

Прописал строчку xinput set-button-mab 'Wacom Pen' 1 3 4 в .bashrc : чтобы настройка стилуса происходила при запуске. Но стилус находится в корпусе ноутбука, и до тех пор, пока не будет извлечен первый раз, оборудование Wacom Pen не определяется: его нет в xinput list ; поэтому приходится каждый раз, после запуска системы, в ручную настраивать стилус при его извлечении: запуском скрипта.

Можно ли как-то сделать так, чтобы, при определении оборудования, автоматически запускался скрипт, настраивающий конфигурацию кнопок стилуса?

 , ,

Cl_Magenta
()

управление специальными кнопками

  1. Есть стилус, с эрайзером (резинкой) и доп. кнопкой. В системе эрайзер восприниматся как второй тот же стилус, а доп. кнопка как средняя кнопка мыши.

Можно ли как-то назначить на них другие действия? В идеале – сочетание клавиш с клавиатуры.

  1. Есть спец. кнопки под дисплеем. С ними можно что-то решить?

xinput прекрасно видит все оборудование. Но в нем ничего особо не назначишь.

 , , ,

Cl_Magenta
()

bash: неожиданный конец файла

Почему, если я добавляю в .bashrc или в любой файл.sh какую-нибудь функцию, то bash начинает выдавать сообщение: синтаксическая ошибка: неожиданный конец файла.

Как только удаляешь функцию, то сообщение исчезает. Проверял на наличие непечатных символов: нет. Набираю в nano. Проблема появляется только после того, как объявляешь функцию.

 ,

Cl_Magenta
()

xinput remove-master

Кто-нибудь может объяснить, как этим пользоваться? Пытаюсь настраивать кнопки на панели тачпада, тачпад, и сам стилус к нему под Линуксом.

 

Cl_Magenta
()

интерпретация первой строки .bashrc

Установил новый Линукс себе и при запуске консоли появилась вот такая странность:

‘# : команда не найдена’

Первая строка в файле .bashrc: ‘# ~/.bashrc’

Давно линуксом не пользовался – может что-то забыл?

 ,

Cl_Magenta
()

Подключение к Google Disk

Ввожу в консоли команду и получаю ответ:

tvr > google-drive-ocamlfuse
libva error: /usr/lib64/dri/iHD_drv_video.so init failed
[5407:5407:1125/215740.979481:ERROR:broker_posix.cc(43)] Invalid node channel message
[5403:5403:0100/000000.989120:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.
[5403:5403:0100/000000.008635:ERROR:broker_posix.cc(43)] Invalid node channel message
libva error: /usr/lib64/dri/iHD_drv_video.so init failed
Access token retrieved correctly.

При этом браузер у меня открылся, как и должно быть. Я подтвердил в Google (на автоматически открывшейся странице) свой аккаунт, и в конце оказался на странице со следующим содержанием: The application was successfully granted access. Please wait for the client to retrieve the authorization tokens.

Но команда выдает ошибку:

tvr > google-drive-ocamlfuse ~/g_disk
fuse: failed to open /dev/fuse: Permission denied

 ,

Cl_Magenta
()

Работа со строками в BASH / Проблема

Проблема с обработкой строк.

У меня есть строка: ${line:0:$i}, – в которой я ищу пробел, для того, чтобы поместить его в переменную $space.

Как определить, что в переменную помещен пробел?

Проверка:

[ -z "$space" ] && echo Yes

не работает. Использование [ «$space» = " " ] тоже безрезультатно.

Как правильно работать с пробелами?

 

Cl_Magenta
()

Работа с аргументами команд Bash

Есть ли в bash возможность узнать значение аргумента команды?

Пример:

Я хочу узнать значение следующего аргумента: xrandr –gamma

Это в принципе возможно?

 

Cl_Magenta
()

Непонятно работает бесконечный цикл в bash.

Почему появляется бесконечный ввод строки?

stop=1

file staf:

#!/bin/bash

function staf 

{
	
	while [ $stop -eq 1 ]
	do
	echo "$stop" > /home/timey/smt/tmpfile
	done 
		
}

Итог:

tvr > . ~/smt/staf 
tvr > staf
работает ввод строки...
продолжает работать ввод строки...
и так далее...
далее...
далее...

 ,

Cl_Magenta
()

Перадача параметров от Shell сценария с использованием stdout.

На CodeRoad есть статья, где рассказывается о том, как передавать параметры от запущенного субсценария основному сценарию:

https://coderoad.ru/35953072/Передача-параметров-из-одного-сценария-в-другой-Shell-сценариев

Как получить доступ к параметрам запущенного сценария через stdout? Кто-то может объяснить это простым языком?

 ,

Cl_Magenta
()

Не запускается bash скрипт.

Проблема:

– Создаю файл скрипта и записываю в него код. Файл не исполняется:

tvr > cat > hello.sh
#!/bin/bash
echo "Hello programmers!"
^Z
[1]+  Остановлен    cat > hello.sh
tvr > chmod +x hello.sh 
tvr > /home/timey/smt/hello.sh 
bash: /home/timey/smt/hello.sh: /bin/bash: неверный интерпретатор: Текстовый файл занят

– Открываю файл в medit и просто сохраняю, нажатием Ctrl+S, после чего снова запускаю скрипт:

tvr > medit hello.sh &
tvr > /home/timey/smt/hello.sh 
Hello programmers!

Все работает.

В чем причина? Почему скрипт, созданный в командной строке при помощи cat не запускается, а после его пересохранения в текстовом редакторе, все начинает работать?

Подозреваю, что проблема как-то связана с кодировками. В shell`е я смог разобраться с кодировками, а в bash пока нет. Или с прерыванием процесса по ^Z.

В чем проблема?

 

Cl_Magenta
()

RSS подписка на новые темы