Overwriting existing binding of keysym の警告から逃げた話
Kinesis Advanced にしたあたりから、ずっと以下の警告が journald に出ててキー入力が遅延して困ってて
gnome-shell[492029]: Window manager warning: Overwriting existing binding of keysym 32 with keysym 32 (keycode b). gnome-shell[492029]: Window manager warning: Overwriting existing binding of keysym 34 with keysym 34 (keycode d). gnome-shell[492029]: Window manager warning: Overwriting existing binding of keysym 35 with keysym 35 (keycode e). gnome-shell[492029]: Window manager warning: Overwriting existing binding of keysym 36 with keysym 36 (keycode f). gnome-shell[492029]: Window manager warning: Overwriting existing binding of keysym 33 with keysym 33 (keycode c). gnome-shell[492029]: Window manager warning: Overwriting existing binding of keysym 37 with keysym 37 (keycode 10). gnome-shell[492029]: Window manager warning: Overwriting existing binding of keysym 39 with keysym 39 (keycode 12). gnome-shell[492029]: Window manager warning: Overwriting existing binding of keysym 38 with keysym 38 (keycode 11). gnome-shell[492029]: Window manager warning: Overwriting existing binding of keysym 39 with keysym 39 (keycode 12). gnome-shell[492029]: Window manager warning: Overwriting existing binding of keysym 31 with keysym 31 (keycode a).
多分以下のあたりと同じ原因だろうなとは思ってたんだけど、ずっと放置してて
- https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/1718
- https://gitlab.gnome.org/GNOME/mutter/-/issues/606
- https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/1858
さすがに辛くなってきたから以下にしたら遅延はなくなった。
gsettings reset org.gnome.libgnomekbd.keyboard options gsettings reset org.gnome.desktop.input-sources xkb-options
この警告を出してるのは https://gitlab.gnome.org/GNOME/mutter/-/blob/master/src/core/keybindings.c#L593 のあたり。
この先
Kinesis 使ってる限りはキーリマッパーなくても良いのだけど、ラップトップのキーボードを使うときとかにちょっと困る。xkeysnail は X11 依存があって wayland だと動かない。あまり豪華なキーリマッパーは個人的にはいらないので、uinput を使ってそれっぽく動くのを作ればよいのかなと思っている。https://github.com/zhanghai/pykeymacs あたりが参考になるかも。もしくは libinput をフックする https://github.com/buzztaiki/scroll-emulation の方向性。
追記
ぜんぜん倒せてなくて、設定オフにして gnome-shell を restart するとしばらくは遅延しなくなるだけっぽかった。原因わかんね。
さらに追記
とりあえず
Hatena Blog への移行 DONE。6年ぶり。。。
Git で Jenkins のバックアップをしてみる
先日突然会社で使ってる Jenkins が起動しなくなってしまいました。さすがにもう二度とそんな思いはしたくないので、バックアップを取ることにしました。
Backup Plugin - Jenkins - Jenkins Wiki を使ってもいいんですが、git 使えば差分バックアップになるし、好きな時点に戻せて素敵なんじゃないかと思って git を使ってバックアップを取ることにしてみました。
この記事はその時のメモみたいなものです。
リポジトリの作成
まずは git のリポジトリを作ります。せっかくなのでスクリプトコンソールを使ってみます。スクリプトコンソールを開いて、以下を実行します。
dir = System.properties["JENKINS_HOME"] def git = { Object[] cmd -> println new ProcessBuilder(["git"] + cmd.toList() as String[]).directory(new File(dir)).start().text } git "init" git "config", "user.name", "Jenkins Backup" git "config", "user.email", "jenkins@${InetAddress.localHost.hostName}" new File("${dir}/.gitignore").text = """\ *.log *.log.? *.log.?? jobs/*/workspace jobs/*/builds """ git "add", "--all" git "commit", "-m", "Initial commit"
これで /var/lib/jenkins に git のリポジトリができます。除外対象は workspace, builds とログファイルにしました。
バックアップの設定
次に Hudson環境のバックアップ - ふぞろいのGENGOたち を参考にして、Exclusive Execution Plugin を入れて backup job を作ります。job は以下のように設定します。
- ソースコード管理システム: なし
- ビルドトリガ: 定期的に実行
- スケジュール: @daily
- ビルド環境:
- ビルドを排他的に実行: ON
- ビルド:
- シェルの実行:
#!/bin/sh cd $JENKINS_HOME git add --all && git commit -m "$BUILD_TAG" git gc
以上で準備完了です。あとはためしにビルド実行をしてみて、青くなればめでたしめでたしです。
Emacs23 の VC で svn1.7 を使えるようにしてみた
svn1.7 が去年の暮れくらいに出ました。多分目玉は WC-NG です。svn status とかがこれのおかげでかなり速くなりました。
そんな svn1.7 なんですが、Emacs23 の vc-svn が対応してません。Working Copy が別ものになってしまったので、うまく動いてくれないのです。Emacs24 なら対応してるんですが、まだメインで使ってるのは Emacs23 です。
というわけで Emacs23 の vc-svn を svn1.7 に対応させる vc-svn17.el を作ってみました。Emacs24 で使っても影響がないようになってます。
使い方は https://raw.github.com/buzztaiki/vc-svn17-el/master/vc-svn17.el から vc-svn17.el をインストールして、require するだけです。
svn1.7 を使っている奇特な人は使ってみてください。
Emacsをちょっとだけ自分色に染める (Emacs Advent Calendar jp: 2011)
この記事は Emacs Advent Calendar jp: 2011 : ATND の9日目です。遅くなってごめんなさい!
去年にひき続いて標準で少しEmacsを便利にする小技を。
Emacsを使ってて普段使ってるmodeにちょっとだけ色を足したいとか思うことはないですか?そんなときは font-lock-add-keywords を使えば好きな色を足すことができちゃいます。
使い方は簡単。例えばこんな風にすると
(font-lock-add-keywords 'c-mode '(("!" . font-lock-warning-face)))
c-modeで「!」が赤くなります。数字にも色を付けて、hogeをキーワードの色にしたければこんな風に。
(font-lock-add-keywords 'c-mode '(("!" . font-lock-warning-face) ("hoge" . font-lock-keyword-face) ("[0-9]+" . font-lock-constant-face)))
ただこの font-lock-add-keywords には弱点があって。間違った設定とかにしてしまうと、ハイライトを壊して元に戻せなくなってしまうのです。
というわけで、font-lock-user-keywords というものを作って使ってます。この子なら壊したときにも簡単に戻すことができるから安心です。
(defun font-lock-user-keywords (mode &optional keywords) "Add user highlighting to KEYWORDS to MODE. See `font-lock-add-keywords' and `font-lock-defaults'." (unless mode (error "mode should be non-nil ")) (font-lock-remove-keywords mode (get mode 'font-lock-user-keywords)) (font-lock-add-keywords mode keywords) (put mode 'font-lock-user-keywords keywords))
設定するときは font-lock-add-keywords と同じように使うだけ。リセットするときは (font-lock-user-keywords 'c-mode) として呼んであげれば元に戻ってくれます。ただ、font-lock-add-keywords で足したものは戻らないのでそこは注意して使ってくださいね。
明日は [twitter:@ta2_o2p] さんです。それでは。
ArielとAmazon
つぎからこのブログはですます調になります。
です。なんとなく。それだけ。