インストール
ShojiWM は1つのスクリプト dist/install.sh でソースからインストールできます。
ビルド・コンポジターと TypeScript ランタイムのインストール・デフォルトのユーザー設定の
配置を行い、さらに Wayland セッションを登録するので、ログインマネージャーに ShojiWM が
表示されるようになります。
ディストリビューション向けパッケージ(AUR など)は、正式リリースの直前に 登録する予定です。それまでは、下記の手順でソースからインストールしてください。
前提条件
- 動作する Wayland / DRM 環境を備えた Linux システム
- 最近の Rust ツールチェーン(
cargo) - Node.js 18 以降(
npmを含む) - 以下のネイティブライブラリ(および開発用ヘッダー)。ShojiWM がリンクします。
libwaylandlibxkbcommonlibudevlibinputlibgbmlibseatxwayland—— Xwayland サーバー本体(下記のxwayland-satelliteが利用します)
xwayland-satellite—— X11 / Xwayland アプリの実行に必要(下記の注記参照)sudo—— インストーラーが/usrにファイルをコピーし、セッションを登録するため
パッケージ名はディストリビューションによって異なります。例えば次のようになります。
# Debian / Ubuntu
sudo apt install libwayland-dev libxkbcommon-dev libudev-dev libinput-dev \
libgbm-dev libseat-dev xwayland
# Arch Linux
sudo pacman -S wayland libxkbcommon systemd-libs libinput mesa seatd xorg-xwayland
ShojiWM は X11 アプリの実行に xwayland-satellite を使用します。推奨は、リポジトリを
クローンして Cargo で直接インストールする方法です。
git clone https://github.com/Supreeeme/xwayland-satellite.git
cd xwayland-satellite
cargo install --path ./
これで xwayland-satellite バイナリが PATH(通常は ~/.cargo/bin)に置かれます。
セッションを起動する前にインストールしておいてください。
ShojiWM 向けの推奨: ホットフィックスを含む ShojiWM 専用のフォークが、
bea4dev/xwayland-satellite
の shojiwm ブランチにあります。Unity のタブを掴んで移動できない問題への試験的な修正が
含まれています。これらの修正やその他のホットフィックスのサポートが必要な場合は、こちらの
ブランチをインストールすることを推奨します。
git clone -b shojiwm https://github.com/bea4dev/xwayland-satellite.git
cd xwayland-satellite
cargo install --path ./
インストール
git clone https://github.com/bea4dev/ShojiWM.git
cd ShojiWM
./dist/install.sh
システムディレクトリへのコピーが必要になると、スクリプトが sudo を要求します。
スクリプトは次のことを行います。
- コンポジターと xdg-desktop-portal バックエンドをビルドし(
cargo)、TypeScript ランタイムの依存関係をインストールします(npm ci)。 - コンポジターを
/usr/bin/shoji_wmに、ランタイムを/usr/lib/shojiwmに インストールします。 ~/.config/shojiwmにデフォルトのユーザー設定を作成します(既存の設定はそのまま 残されます)。- Wayland セッションエントリを登録するので、ログインマネージャーに ShojiWM が 表示されます —— ログイン画面で選ぶだけです。
- ShojiWM の xdg-desktop-portal バックエンド(スクリーンキャストなど)を インストールします。
インストールオプション
| フラグ | 効果 |
|---|---|
--no-build | cargo / npm のビルドをスキップし、既存のバイナリを使う |
--no-portal | xdg-desktop-portal バックエンドをインストールしない |
--no-config | ユーザー設定の作成・更新を行わない |
./dist/install.sh --help でこの一覧を表示できます。
実行
- ログインマネージャーから: セッションとして ShojiWM を選んでログインします。
- TTY から:
shoji_wm --ttyを実行します。 - 開発(ネストしたウィンドウ): ソースツリーで
cargo run --release -p shoji_wm -- --devを実行します。現在のセッションを抜けずに 反復開発できて便利です。
オプション: デスクトップシェル
ShojiWM はコンポジター単体であり、バーやランチャーなどのシェル UI を自前では同梱して いません。標準のシェル実装は別途提供されています。
- shoji-bar-2 —— github.com/bea4dev/shoji-bar-2
インストールと有効化の手順は、そのリポジトリの README.md を参照してください。
(ShojiWM のデフォルト設定は、shoji-bar-2 が存在すれば自動的に起動します。)