これは、「CentOSからVSCode開いてみたいじょ~」と語る一人の男の物語・・・
章一:VSCode本体のダウンロード
「はいdnfで落として入れて、code .って打ちゃいいのねヨユーヨユー」
起動せんが?
いやちょっと待てよ話が違うじゃんか先人たち。えっなんか見落としてる?エラーすら出ないから無理ゲーなんですがこれ。
エラーが出てないなら起動はしてんのか・・・
じゃあなんか前提があんだろ、書かれてないだけで。
章二:Xvfbとの出会い
「あれかー・・・そもそもがCLIオンリーだからなんか必要なのか・・・」
Missing X server or $DISPLAY
でぃすぷれー・・・あぁやっぱ要るんじゃん。
と思ってたらGithubの方でおんなじエラーやってんじゃん!勝ったな風呂食ってくる。
これをリモートで実行していますか、それとも表示するディスプレイがない VM で実行していますか?
この問題は通常、Chromium が GUI を起動しようとしているが、接続するディスプレイがない場合に発生します。
Linux では、通常、などのソフトウェアを使用してこの問題を解決できますxvfb。
風呂うめぇ~!
さっそくインストールしよか、そんでまたcode .でっと・・・
起動せんが?くそ不味ぃわこれ。
えっえっなんで?解決できるゆーてるやん。解決せんやんこんなら。どないせーちゅんや。
そもそもXvfbイズ何?
XvfbまたはX 仮想フレームバッファは、 X11ディスプレイ サーバ プロトコルを実装したディスプレイ サーバです。
他のディスプレイ サーバとは異なり、Xvfb は画面出力を表示せずにすべてのグラフィック操作を仮想メモリ内で実行します。
画面出力ないんかいや。
ということは、あとはでぃすぷれーがあればいいんだな?
章三:邂逅、VcXsrv
えーわかりません。ないです。でぃすぷれー。
いったん他あたるか・・・、おっ、これいいんじゃないか。VcXsrv。
Windows側にインストールして、いろいろ設定してcode .打って、
ようやく映った!長かった!
・・・これさぁ、Xvfbいるのか?消してみっか。
起動せんが?必要なのオマエ???
ざっくり用途
というわけで、ここまで使ったものがどういったものかまとめてみる。
VSCode
いわずもがな。なんだけど、CentOS上で動いてても見せる場所がないと輝けないよねってことで。
Xvfb
Xvfb は画面出力を表示せずにすべてのグラフィック操作を仮想メモリ内で実行します。
ということは、ざっくりヘッドレスブラウザを指してるっぽい。こいつを投入した時点で、VSCodeをGUI表示する準備はできてた・・・ってコト!?
VcXsrv
主役です。こいつでGUI表示が可能になります。
雑記
マジで詰まってました。code --verbose打って格闘してたり、これ要るんかなぁ・・・とかやってたり、xvfb-run firefox打って「コマンドが見つかりません」⇒「はぁそうですか・・・」やってたり。
ちなみに今回の一連のキーワードは「X Window System」もとい「X Server」というらしいです。UNIX、Linuxではド基礎らしいです。やめてください初めに言っといてください初耳なので。