WaylandまたはX11が使用されているかどうかを知る方法


165

それで、Debian 7(oldstable)に基づいたラップトップに最新のKali Linuxをインストールしました。その後、すべてをDebian 8にdist-upgradedしました。

私は常にX11ではなくWaylandが欲しかったので、必要なパッケージをインストールしました。次に、最小~./config/weston.ini構成を作成しました。次に、Gnomeログイン画面から:ログイン画面

Gnome on WaylandまたはLXDE(特に)起動できます。前者は非常に限られた成功しか受けず、後者(LXDE)はほぼ完璧ですが、パネルのセットアップが必要です(freedesktopを調べる必要があります)。

とにかく、LXDEでは、GUIは旧安定版よりも応答性が高く、Windows 7を実行しているときと同じくらい速いかもしれません。私は満足しました。

しかし、これがDebian 7から8へのすべてのライブラリ/モジュールのアップグレードによるものなのか、それともWaylandの使用によるものなのかを知りたい(本当にWaylandを使用している場合)。私はhtopをざっと見て、/usr/bin/Xorg「wayland」という名前の実行中のプロセスを見つけました。それで、私は現在どれを実行していますか?


xpropを実行すると、このツールはエミュレーション下で実行されるxapplicationsで動作しますが、waylandまたはwayland上のgnome-shellでは動作しません。
マイクメスニク

4
私はOPが言っている間、彼は、debian上で動作していたことに気づくために一つだけだと思い、彼が提示スクリーンショットは明らかにFedoraのです...
user1404316

回答:


227

以下を発行して、渡すセッションIDを取得します。

loginctl

次に:

loginctl show-session <SESSION_ID> -p Type

これらすべてを1つのコマンドで実行する場合:

loginctl show-session $(awk '/tty/ {print $1}' <(loginctl)) -p Type | awk -F= '{print $2}'

ユーザー名に対応するものを使用してください。

参照:https : //fedoraproject.org/wiki/How_to_debug_Wayland_problems

だから、私にとっては:

$ loginctl show-session 2 -p Type                                                  
Type=wayland

3
すばらしい回答をありがとう。loginctlセッションを表示するには、OPを最初に実行する必要があることを追加してください。
Ho1

5
loginctl show-session `loginctl|grep <YOUR_USER_NAME>|awk '{print $1}'` -p Type
solsTiCe

gnome-sessionでubuntu 17.10で動作することを確認しました...驚いたことにx11を取得しています
Ray Foss

2
Fedora 28のドキュメントによるとecho $WAYLAND_DISPLAY、waylandが使用されていない場合はどれも何も出力しません。
ロブシュ

3
@DSJusticeのバックティックはマークダウンされました。これをコピーできますloginctl show-session $(loginctl|grep $(whoami) |awk '{print $1}') -p Type
アンドレアス

166

WaylandまたはX11が使用されているかどうかを知る方法は?

X11システムの場合

$ echo $XDG_SESSION_TYPE
x11

いくつかのウェイランドシステムで

$ echo $XDG_SESSION_TYPE
wayland

29
この変数が設定されていない場合、どういう意味ですか?
g.rocket

実行中のウェイランドプロトコルのバージョンも表示する方法はありますか?
サイタム

28

これはfedoraで動作します

loginctl show-session $(loginctl | grep $(whoami) | awk '{print $1}') -p Type

パイプの力とUNIXの哲学。いいね
Talespin_Kit

/ meはについてつぶやきますがgrep ... | awk、ちょっと、それでいいです。
rahmu


9

コマンドを与える

ps aux | grep gnome-shell

出力が得られます

/usr/bin/gnome-shell --wayland --display-server

Waylandがアクティブな場合。


5
そしてwayland、デフォルトがどうですか?
アナトリーテクトニック16

1
私の「gnome-shell」プロセスは--waylandオプションで実行されていませんでしたが、実行するps aux | grep waylandと/ usr / bin / Xwaylandが実行されていることがわかりました。
paulie4

1
多くの場合、2つのgnome-shellプロセスがあります。1つはgdmに使用され、もう1つはユーザーセッションに使用されます。多くの場合、gdmのgnome-shellはwaylandを使用しますが、ユーザーセッションのgnome-shellはX11を使用します。
マリウスゲドミナス

Xwaylandは、X11アプリケーションとWaylandディスプレイサーバーをつなぐプロセスです。その存在は、Waylandをすでに実行していることを意味しますが、上記の警告を確認してください。Waylandはログイン画面でのみ使用される可能性があります。
マリウスゲドミナス

1
gnome-shellgnomeをDMとして使用している場合にのみ機能します。
セバスチャン

3

(試行)Alt + F2メニューでコマンド 'r'を実行します。(ウィンドウとプロセスを失うことなく)Xorgの環境を再起動しますが、ウェイランドでは「Waylandで再起動は利用できません」というメッセージが表示されます。


1

いいえ、笑いのためにWaylandに切り替えたとき、htopにWaylandというpidがあることに気付きました。それが変更されない限り、それは人が見るべきものです。更新:これはWaylandプロセスを示すスクリーングラブです。

ここに画像の説明を入力してください


4
waylandスクリーングラブにプロセスが表示されません。強調表示した行はdbus-launchプロセスであり、というセッションを開始しgnome-waylandます。
スティーブンキット


0

xdpyinfoコマンドを実行できます。現在のX11サーバー(およびディスプレイ)に関する情報を提供します。持っていない場合は失敗します(たとえば、純粋なWayland設定の場合)。


私の上で正常に動作しているようだwayland...セッション
don_crissti

私見、それはあなたのウェイランドセッションが純粋なウェイランドではないことを意味します。
バジルスタリンケビッチ

確かしかしQ X11サーバの稼働がありますかどうかを知る方法...現在のセッションのためではない「ウェイランドやXorgのが使用されているかどうかを知る方法」である
don_crissti

0

また、アプリケーションがwaylandネイティブ形式で実行されているかどうかを確認することもできます。

cd /usr/bin
ldd $application_name | grep wayland

さらに、どのバイナリがwaylandサポートされているかを確認するには、次を試してください:

cd /usr/bin
find . | xargs ldd | grep wayland -B 55

上記はあまりきれいではありませんが、動作します。さらにそれをファイルにパイプしてから、vimナビゲートに使用できます。

cd /usr/bin
find . | xargs ldd | grep wayland -B 55 >> candidates
vim candidates
# Use vi movement

-Bフラグは、前の略で、バイナリの名前を印刷することができます。

あなたは可能性があり、これを確認する詳細については。この答えはこの質問から適応しまし

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.