debian で VS Code が起動できなかったのでライブラリをいじった
さくらのクラウドに X 環境構築してローカルから接続して開発とかどうだろうって遊ぼうとしたら VS Code が起動できなかった時のメモ。
環境は次の通り
- debian 8.6
- Visual Studio Code 1.7.2
deb ファイルから VS Code をインストールして、メニューから起動させようとしても何も起こらない。
tar ファイルを落として解凍して起動しようとしたら次のようなエラーが発生して起動しませんでした。
Xlib: extension "XInputExtension" missing on display ":11.0". Xlib: extension "XInputExtension" missing on display ":11.0". libGL error: No matching fbConfigs or visuals found libGL error: failed to load driver: swrast bash: cannot set terminal process group (-1): Inappropriate ioctl for device bash: no job control in this shell Xlib: extension "XInputExtension" missing on display ":11.0". Xlib: extension "XInputExtension" missing on display ":11.0".
既に GitHub の vscode リポジトリでは issue が作られていて、解決法も掲載されていました。
んで、次のような操作でとりあえず起動ができます。
$ mkdir ~/lib $ cp /usr/lib/x86_64-linux-gnu/libxcb.so.1 ./lib/ $ sed -i 's/BIG-REQUESTS/_IG-REQUESTS/' ~/lib/libxcb.so.1
この ~/lib ディレクトリを LD_LIBRARY_PATH
に突っ込むと起動します。
$ LD_LIBRARY_PATH=$HOME/lib code
GUI から起動するメニューの内容も変更しておかないと GUI のメニューからは起動できません。
$ sudo vi /usr/share/applications/code.desktop
[Desktop Entry]
の中にある Exec を変更します。
Exec=sh -c "env LD_LIBRARY_PATH\=\$HOME/lib /usr/share/code/code" %U
これで GUI のメニューからも起動できるようになりました。