XMonad(Awesome)上でAndroid Studioがうまく起動せず、以下のキャプチャ画像のようになって困っている人が対象です。
・・・悲しいですね。
しかし何とか解決に至ることができたので、方法を共有します。
環境
この悲しい現象が起きてしまった環境は以下の通り。
- Gentoo Linux
- XMonad
原因
XMonadを使っていることのようです。
KDEやGNOMEなどのメジャーなウインドウマネージャ以外では、JavaのGUIアプリケーションが正常に動かないことがあるようで、Awesomeでも同様の現象が起きるとの噂もあります。
マイナーなWMを使うコア層に降りかかる災いのようです。「出る杭は打たれる」ということなのでしょうか
ちなみに、Gentooを使っていることはあまり関係なさそうです。
後にArchでも同様の問題に遭遇しました。
解決方法
wmnameというコマンドを使います。
入っていない場合は各ディストリビューションの方法でインストールしましょう。
Gentooの場合は
emerge -av wmname
です。
コマンドが使えるようになったら、以下を実行。
wmname LG3D
これでAndroid Studioが正常に起動するようになります。
うれしい!
補足
上の解決方法で無事に起動するようになるはずですが、ログアウトや再起動によって再び起動できなくなります。
また同じコマンドを入力すれば元に戻りますが、面倒なので、起動時に設定されるようにしておきましょう。
import XMonad.Hooks.SetWMName
myStartupHook = do
setWMName "LG3D"
main = do
xmonad =<< ... myConfig
myConfig = def
{
...
,startupHook = myStartupHook
,...
} `additionalKeysP` myKeysP
上記のようにstartupHookを使います。
[追記 2019-03-02]
JavaのGUIアプリケーションのために、BorderWidthを1以上にする必要があるようです。私はボーダーなしが好みですが、nobordersやlessBorderを使いこなせなかったので、Android-Studioの健康を犠牲に、BorderWidthを0に設定しました。
面倒かつその場しのぎ的ですが、Android-Studioを一度フルスクリーンにトグルすると、正しく表示されるようになります。
まとめ
Amazonセールで漫画が安く買えてうれしかった