WindowsのVirtualBox上のArch Linuxでxmodmapが効かない

訳あってWindowsVirtualBox上でArch Linuxを動かしているのだが、xmodmapがうまく効かなくて困ったのでメモ。

Macユーザーだったこともあり、個人的にスラッシュの隣のキーはバックスラッシュであってほしい。 そこでxmodmapの出番となるのだが、正しく設定ファイルを書いても反映されなかった。

VirtualBoxアクセラレーション設定を「デフォルト」にしたところ解決した。 KVMが早いと聞いたのでそちらを使っていたのだが、こちらではうまく行かないらしい。 結局これでもうまくいっていないようだ。一体何が問題なのか。

Arch Linuxにrbenvでバージョンの古いrubyをインストール

例えば2.3.4など。普通にやると失敗する。

github.com

にあるとおり、

$ PKG_CONFIG_PATH=/usr/lib/openssl-1.0/pkgconfig \
  rbenv install 2.3.4

でOK。

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

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

Input Method Panel - GNOME Shell Extensions

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

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

源ノ明朝と源ノ角ゴシックをupLaTeXで使用する

前から試したかったのだが、無事成功した。 f:id:htlsne:20170505225128p:plain

源ノ明朝と源ノ角ゴシックをupLaTeXで使ってみるテスト(pxchfon+otfパッケージ使用)

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をインストールすればいいらしい。 無事手元でも日本語が表示されるのが確認できた。