🖼️

XwindowをWindowsで使いたい!!

2023/12/09に公開

概要

  • Xwindow(X11)インストールから環境構築をするところまで(-lX11を使えるようにする)
  • 上記をWindows内で実行する方法の説明
  • プログラミング初心者向けに作っています。ご了承ください。

実行環境

  • Windows11 CPUはAMD
  • Ubuntu 22.04.3 LTS

0.Ubuntu(LTS)のインストール

個人的には、Ubuntu...「LTS」がついてるものを選ぶほうがいいです。
(重要なデータの消去等には気を付けましょう…管理者で入ることになるので…)


左:非推奨 右:推奨
もし、普通のUbuntuを使う場合、これから言うコマンドに

sudo

を頭に随時つけましょう。

ex sudo
sudo apt install x11-apps

みたいな感じです。

1.Xwindowのインストール(WSL)

基本は以下のコマンドでインストール可能です。

X11 install
apt install x11-apps

しかし、自分の環境で試してみると…

Error
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).

とのエラーが……
素直にapt --fix-broken installを行っても上手くいかないため、
次のコードを用いて解決しました。

Error resolution
dpkg --force-all -i /var/cache/apt/archives/libopenmpi-dev_2.1.1-8_amd64.deb
dpkg --force-all -i /var/cache/apt/archives/openmpi-bin_2.1.1-8_amd64.deb
参考記事

2.環境パスを通す

PCのbit数の確認

自分のPCのスペックを確認します。
Windows11の場合,
[設定] → [システム] → [バージョン情報]
の中にある[デバイスの仕様]に行くと、

デバイス名	---
プロセッサ	---
実装 RAM	---
デバイス ID	---
プロダクト ID	---
システムの種類	64 ビット オペレーティング システム、x64 ベース プロセッサ
ペンとタッチ	---

というものがあると思います。
ここでシステムの種類が64bitか32bitかを確認します。

unix系OSではライブラリファイルが

lib64 (64bit)
lib32 (32bit)
lib (default)

の3つあります。
これからlib64でのコマンドを書きますが、各自書き直して下さい。

ライブラリファイルの中にX11のファイルを入れて、「-lX11」を使えるようにします。
X11は/usr/includeの中にあります。

/usr/include$ ls -n
total 1496
drwxr-xr-x  3 0 0   4096 Dec  7 01:29 GL
drwxr-xr-x  7 0 0   4096 Dec  7 01:29 X11
.
.
.

ですので、以下のコマンドでX11をlib64に入れることができます

cp /usr/include/X11 /usr/lib64

これで、WSLでC言語コンパイルのコマンドに「-lX11」が使えるようになりました!

例(lX11の使い方)
#include <stdio.h>
#include <X11/Xlib.h>
int main(){
	//X11を用いた処理
	return 0;
}

のようなC言語をコンパイル時、

gcc -o ex-x11 ex-x11.c ~~~ -lX11 -lm

とすればよいです。
「~~~」の部分は適宜ファイルによって変更することができます。

最後に

もし、この中でコマンドや説明がおかしかった場合コメント下さると助かります。

Discussion