コンピューターを再起動すると、xbindkeys
が起動しますが、正しく機能しません。強制終了してからNohup xbindkeys
で手動で開始すると、正常に機能します。 .xsessionrc
ファイルに入れればうまくいくと思います。しかし、起動時に他の何かがすでに起動しているため、干渉します。
/etc
を再帰的に検索してxbindkeys
を検索しましたが、成功しませんでした。
ホームフォルダーまたは.xbindkeysrc
などのシステムフォルダーに/etc
がある場合、xbindkeys
が自動的に開始されることがわかりました。そのため、通常、インストール後に別のスタートアップ項目として追加する必要は通常ありません。
これは、/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セッションで起動しません。特定のニーズに合わせたスタートアップエントリ。
同じ症状で問題が発生しました。xbindkeysが起動したように見えますが、ショートカットは機能しませんでした。シェルからxbindkeysを手動で再起動した後、期待どおりに機能しました。
私の問題は、ショートカットに関連付けられたコマンドがシェルの設定に依存していたことでした(Rubyコマンドを開始しようとしましたが、Rubyはasdfで読み込まれ、.zshrcから読み込まれました)
解決策は、xbindkeys起動コマンドをxbindkeys
から/usr/bin/zsh -c "xbindkeys"
に置き換え、asdf設定を.zshrc
から.zshenv
に移動することでした。 。
スタートアップコマンドは、Ubuntu 16.04の「スタートアップアプリケーション」から編集できました。
HP G60-530USラップトップでタッチパッドのオン/オフボタンを機能させようとしたときに、同じ問題が発生しました。ログイン時にxbindkeysが実行されていたときに、xbindkeysを強制終了してxbindkeysを再起動すると動作することがありました。 xbindkeysを強制終了し、xbindkeys-config 'apply、save&exit'を実行することはできましたが、かなり面倒でした。
Mikの提案を試すと、gnome-session-properties(gsp)に「xbindkeys」がすでにあるため、機能しないように見えました。それから、gspでコマンドを入力するだけではうまくいかないことを思い出しました。代わりに、「参照」ボタンをクリックして/ usr/bin/xbindkeysを参照し、キーを設定します。ログアウトしてログに記録されたバッキングとマウスタッチパッドのオン/オフボタンが正しく機能するようになりました。
HP G60-530US固有:
~/.xbindkeysrc
の関連ビット(ファイルの残りはデフォルトです):
#TouchpadOff - works
"synclient TouchpadOff=1"
0x1008ffb1
#TouchpadOn - works
"synclient TouchpadOff=2"
0x1008ffb0
.xbindkeys.noauto
はユーザーのホームプロファイルに存在します:
~/.xbindkeys.noauto
有効化された/usr/bin/xbindkeys
は、gnome-session-properties起動アプリケーション設定を使用して設定されました。 (私にとって)重要な部分は、UIの「参照」ボタンを使用してコマンドを設定することでした。
Name: xbindkeys
Command: /usr/bin/xbindkeys
Comments: Touchpad on/off