LoginSignup
0
0

Wayland on Ubuntu22.04 ~Westonのデモ~

Posted at

目的

Xwindowに変わるGUIとして、Waylandを採用してみたいので、デモ画面を表示するところまでやってみました。

環境

ホストOS:Windows11 Pro
ゲストOS:Ubuntu22.04
VM:VMware workstation 16 player

必要なもの

Python3

sudo apt install python3-pip 
sudo pip install --upgrade pip

meson
ビルドシステム Waylandをビルドするのに必要です。

sudo apt install build-essential
sudo pip install meson

参考

Waylandのホームページ
アーキテクチャーの部分を読んでいただくとよいかと思います。

Weston
Waylandのコンポジター

Waylannd

git clone

作業ディレクトリを作り、Git Cloneを展開します。

git clone https://gitlab.freedesktop.org/wayland/wayland

ビルド時に、ことあるごとにERRORが出てくるので、以下のパッケージをあらかじめインストールしておきます。

必要なパッケージのインストール

apt install pkg-config libffi7 libffi-dev libxml2-dev graphviz doxygen xsltproc xmlto

build

cd wayland
meson build/ --prefix=/home/<user name>/wayland/lib #適当に決めたディレクトリ(絶対パス)
ninja -C build/ test # ビルドを実行するのに問題ないかをテストできます。
ninja -C build/ install

環境変数

XDG_RUNTIME_DIRが定義されている必要があります。

定義されているかを確認する必要があります。
ログイン時に実行したい場合、以下のようにターミナルが一般モードになっていると思います。

<login user>@<machine name>:~$

ここで、echoで確認します。

echo $XDG_RUNTIME_DIR
# ディレクトリが定義されていればOK

echoコマンドの応答に何も返ってこない場合、未定義です。
~($HOMEディレクトリ)にいる状態で、ls -aコマンドで隠しファイルを表示します・。

<login user>@<machine name>:~$ls -a

ここで、.bash_profileというファイルがなければ、作成します。

:~$ sudo touch .bash_profile
:~$ sudo vim .bash_profile

.bash_profileの内容

#!/bin/bash
if test -z "${XDG_RUNTIME_DIR}"; then
    export XDG_RUNTIME_DIR=/tmp/${UID}-runtime-dir
    if ! test -d "${XDG_RUNTIME_DIR}"; then
        mkdir "${XDG_RUNTIME_DIR}"
        chmod 0700 "${XDG_RUNTIME_DIR}"
    fi
fi

プロファイルを読み込ませるためにUbuntuを再起動してください。

再起動しない場合、sourceコマンドでプロファイルを読み込みます。ただし、マシン起動時にプロファイルを正常に読み込めたかが確認できないので注意が必要。

source .bash_profile
echo $XDG_RUNTIME_DIR
# ディレクトリが定義されていればOK

Weston実行

Gitリポジトリを展開したwaylandディレクトリに移動します。

cd wayland
weston

以下のシンプルなデモ画面が表示できればOKです。
image.png

このWeston上の左上にあるターミナルを起動して、以下のコマンドを実行すると、花が咲きます。

weston-flower 

image.png

CUIからの実行

UbuntuをCUIモードでログインして、上記同様にwestonコマンドを発行すると全画面表示で同様のWindowが表示されます。
ターミナルにおいて、shutdown -hコマンドで終了することができます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0