【问题标题】:Some xbindkeys bindings don't work via .xprofile, requires manual process restart某些 xbindkeys 绑定无法通过 .xprofile 工作,需要手动重启进程
【发布时间】:2020-06-19 18:32:34
【问题描述】:

当我明确运行xbindkeys 时,我所有的.xbindkeysrc 绑定都有效;但是,当我将相同的命令放入我的 .xprofile 以由我的显示管理器 LightDM 调用时,某些绑定会失败。启动失败的绑定使用playerctl 命令。我所有的其他绑定都有效(其他人调用pactl ...)。

# Next song
 "playerctl --player spotify next"
    Mod2 + F8

如果我杀死在启动时开始的损坏的xbindkeys 进程并重新运行xbindkeys,则所有绑定都可以工作。

有什么建议吗?也许,我可以在启动过程的稍后时间在哪里运行xbindkeys

【问题讨论】:

    标签: linux x11 key-bindings keymapping


    【解决方案1】:

    很可能playerctl 不在您的系统 路径中。根据xbindkeys 的启动方式,它的路径可能只是:

    PATH=/usr/local/bin:/usr/bin:/bin:/usr/games
    

    因此,当您按下相关组合键时,它将找不到命令,并且没有任何反应。

    在 Debian 上,xbindkeys/usr/bin/xbindkeys_autostart 脚本启动。为了调试,暂时修改该脚本可能会有所帮助,例如如下:

    @@ -22,6 +22,11 @@
    
         # Run $PROG - if it has been configured
         if [ -n "${CONF}" ]; then
    -        $PROG -f $CONF
    +        echo ===== >> /tmp/xbk.txt
    +        date >> /tmp/xbk.txt
    +        cat $CONF >> /tmp/xbk.txt
    +        env >> /tmp/xbk.txt
    +        echo ----- >> /tmp/xbk.txt
    +        $PROG -f $CONF -v 2>&1 >> /tmp/xbk.txt
         fi
     fi
    

    (如果您修改该脚本,请记住日志文件的输出是缓冲的,因此您可能必须通过点击您的键绑定来创建足够的输出,以便系统刷新文件,或使用类似unbuffer 的东西。 )

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-12
      • 2018-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-08
      • 2017-12-09
      • 2018-09-15
      相关资源
      最近更新 更多