GNOME、fcitxで候補リストの向きを縦にする

わかりにくい上にググっても出てこなかったのでメモ。

Input Method Panel - GNOME Shell Extensions

をインストールした上で、右上に出てくるパネルから"Panel Preferences"をクリックして、"Vertical List"を有効にすれば良い。

デフォルトが横向きってキー操作も直感的じゃないし、良くないと思う。

Arch LinuxでMacの3本指ドラッグを再現する

github.com

で実現できる。Arch LinuxではAURの AUR (en) - xf86-input-mtrack-git をインストールする。 あとはREADMEの最後にあるとおりに設定すれば、3本指ドラッグが実現できる。

しかしそれだけやって再起動すると、トラックパッドが反応しなくなってしまう。 (このような自体に陥った場合はCtrl-Alt-F1(~F7)で端末に入れるので、そこで設定すればいい。) 原因は

github.com

で、あらかじめ自分のユーザをinputグループに追加しておけば良い。 具体的には、

# gpasswd -a [Username] input

で良い。 これでタッチパッドが動くようになった。

ちなみに参考までに、私の設定は

github.com

に公開してある。

Arch Linux (GNOME)でBluetoothスピーカーの音質が悪くなる問題の解決

私は部屋では

で音楽を再生している。Arch Linux (GNOME)上でこれを使おうとしたところ、ペアリングと再生自体はできるのだが、音質が極端に悪くなってしまって困った。具体的には酷いノイズが乗る。

解決策を調べたのだが、再生ができないという報告はあっても音質が悪いという報告は見つからず、少し手間取った。 備忘録的に試したことと結論を記しておく。 解決策だけ知りたい人は、最後の結論だけ読めば大丈夫。

今までの操作

GNOMEの設定からBluetoothを有効化、GUI上でペアリング。同じく「サウンド」の「出力」でデバイスを選択すると、一応音は出る。 プロファイルがHSP/HFPA2DPの2種類選択できるが、どちらを選んでも酷いノイズが乗る。

試したこと

Bluetoothスピーカーやイヤホンについては、

Bluetooth ヘッドセット - ArchWiki

にArch Wikiの記事がある。

読んでみると、プロファイルにA2DPを選択すればいいらしい。しかしGNOME上から選択しても効果はない。 bluetoothctlで設定してみるが、結果は同じ。

pavucontrolというのをインストールしてみる。これはGUIでpulseaudioの設定ができるツールらしい。 開いてこちらでA2DPを選ぼうとすると、こちらでは無効(だったか?詳細は忘れた)と表示されている。 つまりA2DPに設定できていなかったのが原因らしい!

Bluetooth ヘッドセット - ArchWiki

の箇所にそれらしきことが書いてあるので、pacmdコマンドを試してみるが、エラーが出て失敗する。

そこで、「GDM ユーザーで pulseaudio ソケットをマスク」というのを試してみたところ、無事A2DPが選べるようになり、ノイズを消すことができた。

結論

「GDM ユーザーで pulseaudio ソケットをマスク」すればよい。 具体的には、

# mkdir -p ~gdm/.config/systemd/user
# ln -s /dev/null ~gdm/.config/systemd/user/pulseaudio.socket

を実行する。sudoでやらないと権限が足りないはず。 その後再起動してA2DPを選べば、問題は解決するはず。

残る問題

これをやっても何かの拍子に音声が遅延して乱れたりすることが非常に多い。 接続直後は問題ないのだが、音声が途切れたりすると起こるようだ。 結局相性が悪いのかもしれない。

Evinceで日本語を表示する

EvinceはGNOMEの標準PDFビューアーである。 LaTeXで作成したファイルを開こうとしたのだが、日本語部分だけ表示されない。 fontconfigを変更すれば良いという解決方法も出てくるが、このためだけに変更するのは何か違う気がする。 次のサイトに解決法があった。

archlinux-blogger.blogspot.jp

poppler-dataをインストールすればいいらしい。 無事手元でも日本語が表示されるのが確認できた。

Arch Linuxにmikutterをインストールする

詰まったのでメモしておく。 yaourtでインストールしても実行するとgtk2でコケる、自分でインストールしようとしてもbundle installでやっぱりgtk2のところでコケる、という状況になった。 bundle installではgdkkeysyms.hが見つからないと言われるのだが、一応存在はしているし、対処法がわからなかった。

結局この記事のおかげで助かった。

row-thermit.blogspot.jp

この人と同じように、

sudo ln -s /usr/include/gtk-2.0/gdk /usr/include/gdk

とすることでbundle installが通るようになり、mikutterを起動することができた。

一応直ったのだが、どうにも仕組みがよくわかっていない。