Кто запускает xbindkeys?

8

Когда я перезагружаю компьютер, xbindkeysон запускается, но работает неправильно. Если я убью его, а затем вручную запустите nohup xbindkeys, он работает нормально. Я думаю, что это будет хорошо работать, если я положу это в мой .xsessionrcфайл. Но что-то еще уже запускает его при загрузке, что мешает.

Я рекурсивно искал /etcдля xbindkeysбез успеха.

Espressofa
источник
1
Есть ли у вас компьютеры в сети?
Горизонт
Не уверен, что вы имеете в виду. Многие системы находятся в той же сети Wi-Fi, что и я. Но есть только один пользователь (я) системы, на которую я ссылаюсь, и это всегда физический доступ к машине. Нет SSHing или что-нибудь.
Эспрессофа
Хорошо. Если у вас есть общий доступ к файлам, и в сети есть компьютер с Ubuntu xbindkeys, то они могут запускать его одновременно с вами. Но я уверен, что решение @ Мика будет работать.
Горизонт
У меня аналогичная проблема. Когда я запускаю, xbindkeys -sпоказывает правильный список команд, но они не все работают - я запускаю killal xbindkeys && xbindkeys, а потом они работают. Ваши xbindkeys не работают вообще? Или некоторые команды работают?
Benubird
У меня точно такая же проблема (через 2 года после последнего комментария и 15.10). Xbindkeys запускается автоматически, но мои ключи не связаны. Если я убью это и начну это снова, это работает. Я попытался заменить стартовый скрипт просто xbindkeys, но он делает то же самое.
Лассе Даль Эберт

Ответы:

7

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

Это хорошо объясняется в файле /etc/X11/Xsession.d/98xbindkeys, который генерируется любой обычной установкой из пакета Ubuntu. Вот фрагмент из файла, созданного при запуске cat /etc/X11/Xsession.d/98xbindkeys:

This file is sourced by Xsession(5), not executed.

PROG="/usr/bin/xbindkeys"
NOAUTO="${HOME}/.xbindkeys.noauto"

This file autostarts xbindkeysrc if the user (or system) has a config
for it AND does NOT Have a .xbindkeys.noauto in his homedir.

[The rest of the file is a script]

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


источник
Отлично, я попробую это. Есть ли у вас идеи, почему автозапуск может не получиться? Использует ли он другой $ HOME или пользователя или что-то?
Эспрессофа
@ Эспрессофа Я не уверен, почему автозапускаемый должен потерпеть неудачу; похоже, что он работает в Precise (12.04) и xbindkeysявляется одинаковой версией как в Precise, так и в Quantal.
Это странно - процесс запущен, но нажатие моих связанных клавиш, похоже, не дает никакого эффекта. Он запускается как /usr/bin/xbindkeys /home/MY_USERNAME/.xbindkeysrc- где находится xbindkeysмой конфигурационный файл. Когда я запускаю просто, xbindkeysон работает нормально.
Эспрессофа
Хорошо, теперь у меня есть файл .xbindkeys.noauto, и он не запускается автоматически, как ожидалось. Я положил xbindkeys &в моем .xsessionфайле. Этот процесс работает, но он не работает. Если я бегу в терминале, kill xbindkeys; xbindkeys &то это работает.
Эспрессофа
@Espressofa Попробуйте добавить xbindkeysкак элемент автозагрузки пользователя вместо того, чтобы поместить его в свой .xsessionrc.
0

Я столкнулся с той же проблемой, когда пытался заставить работать кнопку включения / выключения сенсорной панели на моем ноутбуке HP G60-530US. Когда я вхожу в систему, xbindkeys работает, иногда убивают xbindkeys и перезапускают xbindkeys. убийство xbindkeys, запуск xbindkeys-config 'apply, save & exit' сработало, но было довольно громоздко.

Попытка предложения Мика, похоже, не сработала, поскольку у меня уже были «xbindkeys» в моих свойствах gnome-session (gsp). Затем я вспомнил, что простой ввод команды в gsp часто не работает; вместо этого я нажимаю кнопку обзора и просматриваю каталог / usr / bin / xbindkeys, чтобы установить ключ. Вышедший из системы и зарегистрированный бэк и кнопки включения / выключения сенсорной панели мыши теперь работают должным образом.

HP G60-530US специально:

  1. соответствующие биты ~/.xbindkeysrc(остальная часть файла по умолчанию):

    #TouchpadOff - works
    "synclient TouchpadOff=1"
       0x1008ffb1
    
    #TouchpadOn - works
    "synclient TouchpadOff=2"
       0x1008ffb0
    
  2. .xbindkeys.noauto присутствует в домашнем профиле пользователя:

    ~/.xbindkeys.noauto
    
  3. Включено /usr/bin/xbindkeysбыло установлено с помощью gnome-session-properties Настройки запуска приложения. Важной частью (для меня) была установка команды с помощью кнопки «Обзор» в пользовательском интерфейсе.

    Name: xbindkeys
    Command: /usr/bin/xbindkeys
    Comments: Touchpad on/off
    
NoOp
источник
0

У меня была проблема с теми же симптомами: xbindkeys, кажется, был запущен, но ярлык не работал. После ручного перезапуска xbindkeys из оболочки все заработало как положено.

Моя проблема заключалась в том, что команды, связанные с ярлыками, зависели от моей конфигурации оболочки (при попытке запустить команду Ruby, но в Ruby был загружен файл asdf, полученный из моего .zshrc)

Решение состояло в том, чтобы заменить команду запуска xbindkeys с xbindkeysна /usr/bin/zsh -c "xbindkeys"и перенести настройку asdf с .zshrcна .zshenv, так как последняя загружается, даже если tty отсутствует.

Команда запуска была редактируемой из «Запуска приложений» в моей Ubuntu 16.04.

Лассе Даль Эберт
источник
-1

Я решил эту проблему, запустив xbindkeys в терминале при запуске! Добавьте Terminal = true в ваш файл .desktop.

Димитриос Харалампидис
источник
Это не дает ответа на вопрос. Чтобы критиковать или запрашивать разъяснения у автора, оставьте комментарий под его постом - вы всегда можете комментировать свои собственные посты, и, когда у вас будет достаточно репутации, вы сможете комментировать любой пост .
Фолькер Сигел
@VolkerSiegel Я считаю, что это ответ, ответчик говорит, что это решило проблему для него.
Сет
@VolkerSiegel Это действительно ответ, а не комментарий! Я предоставил инструкции (добавьте Terminal = true в файл .desktop, который открывает xbindkeys при запуске, обычно находится в ~ / .config / autostart), но из-за характера проблемы, я считаю, что это ошибка, связанная с разрешениями в xbindkeys, я не могу будьте уверены, что это будет работать для всех!
Димитриос Харалампидис