i3で実行するのと同じ方法でwayland(sway)でnemoを実行しようとしていますが、起動に失敗します。
$ /usr/bin/nemo --no-desktop
Could not parse arguments: Cannot open display:
GDK_BACKEND
を解除すると実行されますが、xwaylandを使用すると、特にコピー貼り付けが中断されます。
このコミットは意図的にnemoを壊して、waylandでは機能しないように見えます(メッセージでは理由が明確にされていませんが)。 厳密にサポートされていませんか? 私はむしろ、まっすぐに停止して発火するという警告を見たいと思います。
これは、このノーチラスコミットに基づいていました
コミットはfedorawaylandでテストされ、使用しているディストリビューションがgnomewaylandを壊した場合でも正常に機能しました。
表示環境を機能させるには、設定する必要があります。
Fedoraは、waylandセッションでデフォルトでDISPLAYenvを設定します。
FTR nemoは、ウェイランドの下にデスクトップアイコンを描画できます。
コミットはfedorawaylandでテストされ、使用しているディストリビューションがgnomewaylandを壊した場合でも正常に機能しました。
私はgnomeを使用していません、swayを使用しています。
壊れているのは揺れではなく、waylandGDKバックエンドを使用しているときにクラッシュする明示的なコードがあるnemoです。 x11のみと互換性があることを明示的にマークします。
表示環境を機能させるには、設定する必要があります。
Fedoraは、waylandセッションでデフォルトでDISPLAYenvを設定します。
これにより、nemoはxwaylandを使用します(基本的に、互換性レイヤーを備えたwayland内でX11アプリを実行します)。
これは、waylandで動作しないアプリ(例:gtk2)の回避策にすぎません。 gtk3を使用するnemoの場合、そのようにハックする必要はありません。 問題のある行を削除すると、nemoはwaylandで完全に機能します。
要約すると、nemoは現在x11互換としてマークを付けており、実際にwaylandでネイティブに実行できる場合は、xwaylandとユーザーがDISPLAYをエクスポートして互換モードで実行する必要があります。
現在のハックは、nemoを使用してデスクトップアイコンを描画する場合にのみ実際に意味があります。 おそらく、妥協案として、問題のある行を移動し、 --no-desktop
を使用していないときにのみその関数呼び出しを実行することができますか? こちらです:
Nemoには、間もなく2つの別々のプロセスがあります。1つはデスクトップ専用で、もう1つはクライアントウィンドウ用です。 その場合、そのバックエンドフラグをデスクトッププロセスにのみ使用することは可能でしょうか?
@mtwebsterデスクトップ以外のプロセスにx11を使用させる必要はないので、これは本当に理にかなっています。
@mtwebster私が参照したfedora abrtレポートに対処するために、nemo全体に適用したnemoがこぼれるのを待っているためです。
https://github.com/linuxmint/nemo/issues/1343
https://bugzilla.redhat.com/show_bug.cgi?id=1278272
https://bugzilla.redhat.com/show_bug.cgi?id=1249761
https://bugzilla.redhat.com/show_bug.cgi?id=1332003
@hobarrera分割すると、デスクトップにのみ適用できます。
最も参考になるコメント
@mtwebster私が参照したfedora abrtレポートに対処するために、nemo全体に適用したnemoがこぼれるのを待っているためです。
https://github.com/linuxmint/nemo/issues/1343
https://bugzilla.redhat.com/show_bug.cgi?id=1278272
https://bugzilla.redhat.com/show_bug.cgi?id=1249761
https://bugzilla.redhat.com/show_bug.cgi?id=1332003
@hobarrera分割すると、デスクトップにのみ適用できます。