Universal Wayland Session Manager
Universal Wayland Session Manager(uwsm)は、スタンドアロンのWayland コンポジタ をオンザフライで systemd ユニットのセットにラップします。これにより、環境設定、XDG Autostart のサポート、ログインセッションとの双方向バインディング、クリーンシャットダウンを含む堅牢なセッション管理が提供されます。
目次
インストール
設定
コンポジタによって設定されたサービスの起動通知と変数
現在のコンポジタを見つけるために、Wayland アプリケーションは WAYLAND_DISPLAY
(または、Xwayland を通じて実行する場合は DISPLAY
)変数が必要です。そのため、これらの環境変数およびその他の有用な環境変数は、コンポジタがその値を設定した後、systemd/dbus アクティベーション環境に設定する必要があります。
コマンド uwsm finalize
は、WAYLAND_DISPLAY
、DISPLAY
および UWSM_FINALIZE_VARNAMES
リストで空白区切りで指定されたその他の環境変数をアクティベーション環境に設定します。したがって、このコマンドはコンポジタが準備完了した後に実行する必要があります。
コンポジタによって設定された他の変数がアクティベーション環境に必要な場合、それらも引数として渡すことができます:
exec uwsm finalize VAR1 VAR2 ...
環境変数
${XDG_CONFIG_HOME}/uwsm/env
ファイルに設定されたすべての環境変数は、uwsm によってソースされ、管理されているコンポジタおよびそのセッション内で実行されるグラフィカルアプリケーションで利用可能になります。
特定のコンポジタ(およびそのグラフィカルセッション内のグラフィカルアプリケーション)のみのために環境変数を設定する必要がある場合は、代わりに ${XDG_CONFIG_HOME}/uwsm/env-compositor
に入れてください。
これらのファイルでは、以下の形式で環境変数を設定する必要があります:
export KEY1=VAR1 export KEY2=VAR2 export KEY3=VAR3 ...
コメントを含めるべきではありません。
使い方
起動する
UWSM は、TTY とディスプレイマネージャによって開始できます。
TTY
~/.profile
ファイルに追加してください:
if uwsm check may-start && uwsm select; then exec uwsm start default fi
同じ コンポジタ を常に起動したい場合は、代わりに ~/.profile
ファイルに次のように記述できます:
if uwsm check may-start; then exec uwsm start compositor.desktop fi
ディスプレイマネージャ
UWSM を介してコンポジタを開始するカスタムしたセッションデスクトップエントリを作成できます:
/usr/share/wayland-sessions/my-compositor-uwsm.desktop
Name=My compositor (with UWSM) Comment=My cool compositor, UWSM session # either full command line with metadata and executable Exec=uwsm start -N "My compositor" -D mycompositor:mylib -C "My cool compositor" -- my-compositor # or a reference to another entry Exec=uwsm start -- my-compositor.desktop DesktopNames=mycompositor;mylib Type=Application
セッション終了
現在の uwsm セッションを終了したい場合、次のいずれかを使用する必要があります:loginctl terminate-user ""
(ユーザーセッション全体を終了)または uwsm stop
(uwsm start
後にコードを実行するか、ログインシェルを置き換えた場合はユーザーセッションを終了)