Xbindkeys правильно запускает приложение, но не скрипт

Мне нужно было автоматизировать это в сценарии python, поэтому я применил чрезвычайно полезный ответ LiLo на следующее:

#!/usr/bin/env python import os import sys from subprocess import Popen, PIPE import fcntl driver = sys.argv[-1] print "resetting driver:", driver USBDEVFS_RESET= 21780 try: lsusb_out = Popen("lsusb | grep -i %s"%driver, shell=True, bufsize=64, stdin=PIPE, stdout=PIPE, close_fds=True).stdout.read().strip().split() bus = lsusb_out[1] device = lsusb_out[3][:-1] f = open("/dev/bus/usb/%s/%s"%(bus, device), 'w', os.O_WRONLY) fcntl.ioctl(f, USBDEVFS_RESET, 0) except Exception, msg: print "failed to reset device:", msg

В моем случае это был драйвер cp210x (который я мог бы сказать из lsmod | grep usbserial), поэтому вы можете сохранить приведенный выше фрагмент как reset_usb.py, а затем сделать это:

sudo python reset_usb.py cp210x

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

2
задан 7 November 2019 в 23:32

2 ответа

Шаг № Один:

Во-первых: я предложил бы изменить ~/.xbindkeysrc файл путем очистки файла сначала затем, скопируйте и вставьте следующий код в файл, заменяющий Key_Name с фактическим ключевым именем, таким образом, это будет похоже на это:

"sh /home/menteith/bin/audio.sh && killall -s1 xbindkeys"
Key_Name

, Во-вторых: перезапуск xbindkeys путем выполнения следующей команды в терминале:

killall -s1 xbindkeys

Наконец: пробуют настроенный ключ и видят, работает ли он как ожидалось.

<час>

Шаг № Два:

осмотрите параметры настройки системы под [1 151] Горячие клавиши как в изображении ниже:

enter image description here

, Если существует горячая клавиша, настроенная для [1 152] калькулятор Запуска здесь, то это должно быть отключено. Иначе это могло бы вмешаться в [1 112] и получить нажатие горячей клавиши, препятствующее тому, чтобы Ваш сценарий выполнил и выполнил калькулятор вместо этого.

<час>

Шаг № Три:

Другое место для изучения /usr/share/X11/xkb/symbols/pc файл.

Во-первых: открывают файл в gedit редактор путем выполнения следующей команды в терминале:

sudo nano /usr/share/X11/xkb/symbols/pc

, Во-вторых: ищут строку, которая содержит XF86Calculator в нем. Это будет выглядеть примерно так:

key  <Key_Name> {   [XF86Calculator]    };

Комментируют эту строку путем добавления // перед ним как это:

//key  <Key_Name> { [XF86Calculator]    };

Принимают во внимание Key_Name в [1 117] и сохраняют и закрывают файл.

, В-третьих: редактируют Ваш ~/.xbindkeysrc файл, заменяющий XF86Calculator с отмеченным Key_Name на шаге , Во-вторых выше. Это должно быть похожим на это:

"sh /home/menteith/bin/audio.sh && killall -s1 xbindkeys"
Key_Name

Сохраняют и закрывают файл.

В-четвертых: Очищают xkb кэш настроек путем выполнения следующей команды в терминале:

sudo rm -rf /var/lib/xkb/*

В-пятых: перезагружают Вашу систему.

Наконец: запускаются xbindkeys путем выполнения следующей команды в терминале:

xbindkeys -f ~/.xbindkeysrc

Затем пробуют Вашу Горячую клавишу. Если ничего не происходит, перезапустите xbindkeys путем выполнения следующей команды в терминале:

killall -s1 xbindkeys

Теперь, попробуйте свою Горячую клавишу снова и посмотрите, работает ли она как ожидалось.

Всего наилучшего

1
ответ дан 2 December 2019 в 03:26

Обходное решение

Попробованный это на Ubuntu 19.10

содержание myscript.sh файл.

#!/bin/bash

notify-send "Script Ran Successfully"

содержание .xbindkeysrc файл.

"/bin/bash $HOME/myscript.sh"
XF86Calculator

После того как Вы вошли в систему,

выполненный xbindkeys --poll-rc. ключевой XF86Calculator должен запустить Ваш скрипт.

Ссылка для - емкостно-резистивная опросом опция https://wiki.archlinux.org/index.php/Xbindkeys и видит комментарий ниже ответа в этой ссылке https://askubuntu.com/a/1126410/739431

enter image description here

1
ответ дан 2 December 2019 в 03:26

Другие вопросы по тегам:

Похожие вопросы: