Edited at

Android StudioをXMonad環境で起動する

XMonad(Awesome)上でAndroid Studioがうまく起動せず、以下のキャプチャ画像のようになって困っている人が対象です。

2018-11-03-14:54:09-screenshot.png

・・・悲しいですね。

しかし何とか解決に至ることができたので、方法を共有します。


環境

この悲しい現象が起きてしまった環境は以下の通り。


  • Gentoo Linux

  • XMonad


原因

XMonadを使っていることのようです。

KDEやGNOMEなどのメジャーなウインドウマネージャ以外では、JavaのGUIアプリケーションが正常に動かないことがあるようで、Awesomeでも同様の現象が起きるとの噂もあります。

マイナーなWMを使うコア層に降りかかる災いのようです。「出る杭は打たれる」ということなのでしょうか

ちなみに、Gentooを使っていることはあまり関係なさそうです。

後にArchでも同様の問題に遭遇しました。


解決方法

wmnameというコマンドを使います。

入っていない場合は各ディストリビューションの方法でインストールしましょう。

Gentooの場合は


bash

emerge -av wmname


です。

コマンドが使えるようになったら、以下を実行。


bash

wmname LG3D


これでAndroid Studioが正常に起動するようになります。

2018-11-03-15:52:30-screenshot.png

うれしい!


補足

上の解決方法で無事に起動するようになるはずですが、ログアウトや再起動によって再び起動できなくなります。

また同じコマンドを入力すれば元に戻りますが、面倒なので、起動時に設定されるようにしておきましょう。


xmonad.hs

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セールで漫画が安く買えてうれしかった


参考ページ