谁正在启动 xbindkeys?

谁正在启动 xbindkeys?

当我重新启动计算机时,xbindkeys会启动,但无法正常工作。如果我将其关闭,然后使用 手动启动它nohup xbindkeys,它就可以正常工作。我认为如果我将其放入我的.xsessionrc文件中,它会正常工作。但是当我启动时,其他程序已经在启动它,这会造成干扰。

我递归搜索/etcxbindkeys没有成功。

答案1

我发现,如果您的主文件夹或系统文件夹(例如)中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 会话启动,并且您可以根据您的特定需求为其放置备用启动条目。

答案2

当我尝试让 HP G60-530US 笔记本电脑上的触摸板开/关按钮正常工作时,我也遇到了同样的问题。当我登录时,xbindkeys 正在运行,有时,终止 xbindkeys 并重新启动 xbindkeys 会起作用。终止 xbindkeys,运行 xbindkeys-config“应用、保存并退出”会起作用,但相当麻烦。

尝试 Mik 的建议似乎不起作用,因为我的 gnome-session-properties (gsp) 中已经有了“xbindkeys”。然后我想起在 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. 使用 gnome-session-properties 启动应用程序首选项设置启用/usr/bin/xbindkeys。对我来说,重要的部分是使用 UI 中的“浏览”按钮设置命令。

    Name: xbindkeys
    Command: /usr/bin/xbindkeys
    Comments: Touchpad on/off
    

答案3

我遇到了同样的问题:xbindkeys 似乎已启动,但快捷方式不起作用。从 shell 手动重新启动 xbindkeys 后,它按预期工作。

我的问题是,与快捷方式绑定的命令依赖于我的 shell 配置(尝试启动 Ruby 命令,但 Ruby 已加载 asdf,它来源于我的 .zshrc)

解决方案是将 xbindkeys 启动命令从 替换xbindkeys/usr/bin/zsh -c "xbindkeys",并将 asdf 设置从 移至.zshrc.zshenv因为即使没有 tty 也会加载后者。

启动命令可从我的 Ubuntu 16.04 中的“启动应用程序”中编辑。

答案4

我通过在启动时在终端中运行 xbindkeys 来处理这个问题!在您的 .desktop 文件中添加 Terminal=true。

相关内容