「XDG デスクトップ ポータル」の版間の差分
Kusanaginoturugi (トーク | 投稿記録) (→Backends: 飜訳) |
Kusanaginoturugi (トーク | 投稿記録) (→Troubleshooting: 飜訳) |
||
58行目: | 58行目: | ||
#[[アプリケーション一覧/ユーティリティ#コンソール|ターミナルファイルマネージャー]]をファイルチューザーとして使用できるようにします |
#[[アプリケーション一覧/ユーティリティ#コンソール|ターミナルファイルマネージャー]]をファイルチューザーとして使用できるようにします |
||
+ | == トラブルシューティング == |
||
− | == Troubleshooting == |
||
− | === xdg-desktop-portal-wlr |
+ | === xdg-desktop-portal-wlr が sway で自動的に開始しない === |
− | + | {{ic|xdg-desktop-portal-wlr}} を動作させるには、{{ic|XDG_CURRENT_DESKTOP}} と {{ic|WAYLAND_DISPLAY}} 環境変数が [[Systemd/ユーザー#環境変数|systemd ユーザーセッション]] 内に設定されている必要があります。{{ic|XDG_CURRENT_DESKTOP}} は、あなたのコンポジタの名前に設定する必要があります(例えば、{{ic|1=XDG_CURRENT_DESKTOP=sway}})。{{ic|WAYLAND_DISPLAY}} はコンポジタによって自動的に設定されます。 |
|
+ | これらの変数が設定されているかどうかは {{ic|systemctl --user show-environment}} で確認します。設定されていない場合、次のコマンドをコンポジタの起動後に実行して、これらの環境変数を systemd ユーザーセッションと dbus にインポートします(例えば、コンポジタの設定ファイルに含めます)。 |
||
− | Check whether these variables are set with {{ic|systemctl --user show-environment}}. If they are not set, import these environment variables into the systemd user session and dbus by running the following commands after launching the compositor (e.g., include them in the compositor's configuration file). |
||
$ systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP |
$ systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP |
||
$ dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=''compositor_name'' |
$ dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=''compositor_name'' |
||
− | {{Tip|[[Sway]] |
+ | {{Tip|[[Sway]] はこれを自動的に行う drop-in ファイルを提供しています。詳細は [[Sway#設定]] を参照してください。}} |
− | + | 詳細は [https://github.com/emersion/xdg-desktop-portal-wlr#running] と [https://github.com/emersion/xdg-desktop-portal-wlr/wiki] を参照してください。 |
|
− | === |
+ | === xdg-desktop-portal-wlr を使って複数のモニターを使用する === |
+ | {{ic|xdg-desktop-portal-wlr}} は共有するモニターを選択するために外部のチューザーが必要です。デフォルトでは、{{Pkg|slurp}}、{{Pkg|wofi}}、そして {{Pkg|bemenu}} をこの順に探します。''slurp'' を使用している場合、画面共有のリクエスト後に十字カーソルが表示され、共有したい画面をクリックする必要があります。''wofi'' や ''bemenu'' を使用している場合、共有可能なディスプレイのメニューが表示されます。チューザーが利用できない場合、{{ic|xdg-desktop-portal-wlr}} は最初に見つけたモニターにフォールバックします。詳細は {{man|5|xdg-desktop-portal-wlr|SCREENCAST OPTIONS}} を参照してください。 |
||
− | {{ic|xdg-desktop-portal-wlr}} requires an external chooser to select the shared monitor. By default, it looks for {{Pkg|slurp}}, {{Pkg|wofi}} and {{Pkg|bemenu}} in this order. When using ''slurp'', after a request for screen sharing you will be presented with a crosshair cursor and you will need to click the screen you want to share. When using ''wofi'' or ''bemenu'', you will be presented with a menu of available displays to share. If no choosers are available, {{ic|xdg-desktop-portal-wlr}} will fallback to the first monitor found. For more information, see {{man|5|xdg-desktop-portal-wlr|SCREENCAST OPTIONS}}. |
||
== See also == |
== See also == |
2023年5月19日 (金) 10:36時点における版
- Portals は、アプリケーションのサンドボックスの外部から安全にリソースにアクセスするためのフレームワークです。それらは、ネットワークのステータスを決定する、ファイルチューザーでファイルを開く、URIを開く、スクリーンショットやスクリーンキャストを取るなど、アプリケーションに一連の共通機能を提供します [...]
Portals は Flatpak を通じてサンドボックス化されたアプリケーションで使用するために設計されましたが、任意のアプリケーションは Portals を使用して、デスクトップやツールキットに関係なく特徴に均一なアクセスを提供できます。これは一般的に、例えば、 PipeWire 経由で Wayland にスクリーン共有を許可するためや、現在の デスクトップ環境 と同じツールキットを使用する Firefox 上でファイルの開くと保存のダイアログを使用するために使用されます。
目次
インストール
xdg-desktop-portal と一つ以上のバックエンドをインストールします。パッケージには、D-Bus を通じて自動的に起動される systemd/ユーザー サービスが含まれています。
バックエンド
アプリケーションがポータルを通じてリクエストを行うと、それは xdg-desktop-portal
によって処理され、それからバックエンドの実装に転送されます。これにより、さまざまなデスクトップ環境にフィットする適切なユーザーインターフェースを提供し、通知の表示や画面の録画などのリクエストに対して環境固有の API へアクセスするクリーンな方法を可能にします。
複数のバックエンドをインストールでき、それらは /usr/share/xdg-desktop-portal/portals/*.portal
に配置しています。それぞれのポータルバックエンドファイルには、それが扱うことができるインターフェースのリストと、それが使用できるデスクトップ環境が含まれています。リクエストが行われると、xdg-desktop-portal
は XDG_CURRENT_DESKTOP
環境変数 を使用して、そのリクエストにどのバックエンドを使用するかを決定します。現在のデスクトップに対して使用できるバックエンドが複数ある場合、アルファベット順で最初のものが選択されます。現在のデスクトップに対してインターフェースを扱うバックエンドがない、現在のデスクトップに対して利用可能なバックエンドがない、または xdg-desktop-portal
が現在のデスクトップを決定できない場合、それは要求されたインターフェースをサポートする全てのインストールされたポータルの中からアルファベット順で最初のポータルを選択します。
例えば、Sway ユーザーはスクリーンシェアリングサポートのために xdg-desktop-portal-wlr を使用し、xdg-desktop-portal-wlr が実装していない他のすべてのインターフェースに対してフォールバックとして xdg-desktop-portal-gtk を使用するかもしれません。
バックエンドとインターフェースのリスト
以下の表は、利用可能な全てのバックエンドと、特定の一般的なインターフェースに対するサポートを一覧表示します。
バックエンド | ファイルチューザー | スクリーンショットとスクリーンキャスト |
---|---|---|
xdg-desktop-portal-gnome | Yes | Yes, on GNOME |
xdg-desktop-portal-gtk | Yes | No |
xdg-desktop-portal-kde | Yes | Yes, on KDE |
xdg-desktop-portal-hyprland1 | No | Yes, on wlroots |
xdg-desktop-portal-lxqt | Yes | No |
xdg-desktop-portal-wlr | No | Yes, on wlroots |
xdg-desktop-portal-liri-gitAUR | Yes | Yes, on Liri |
xdg-desktop-portal-shanaAUR | Yes2 | No |
xdg-desktop-portal-tdAUR | Yes | No |
xdg-desktop-portal-termfilechooser-gitAUR | Yes3 | No |
- すべての wlroots ベースのコンポジタで動作しますが、Hyprland と併用すると、個々のウィンドウの共有などの追加機能が提供されます。
- リクエストを GNOME/GTK/KDE/LXQt バックエンドにリダイレクトします
- ターミナルファイルマネージャーをファイルチューザーとして使用できるようにします
トラブルシューティング
xdg-desktop-portal-wlr が sway で自動的に開始しない
xdg-desktop-portal-wlr
を動作させるには、XDG_CURRENT_DESKTOP
と WAYLAND_DISPLAY
環境変数が systemd ユーザーセッション 内に設定されている必要があります。XDG_CURRENT_DESKTOP
は、あなたのコンポジタの名前に設定する必要があります(例えば、XDG_CURRENT_DESKTOP=sway
)。WAYLAND_DISPLAY
はコンポジタによって自動的に設定されます。
これらの変数が設定されているかどうかは systemctl --user show-environment
で確認します。設定されていない場合、次のコマンドをコンポジタの起動後に実行して、これらの環境変数を systemd ユーザーセッションと dbus にインポートします(例えば、コンポジタの設定ファイルに含めます)。
$ systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP $ dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=compositor_name
xdg-desktop-portal-wlr を使って複数のモニターを使用する
xdg-desktop-portal-wlr
は共有するモニターを選択するために外部のチューザーが必要です。デフォルトでは、slurp、wofi、そして bemenu をこの順に探します。slurp を使用している場合、画面共有のリクエスト後に十字カーソルが表示され、共有したい画面をクリックする必要があります。wofi や bemenu を使用している場合、共有可能なディスプレイのメニューが表示されます。チューザーが利用できない場合、xdg-desktop-portal-wlr
は最初に見つけたモニターにフォールバックします。詳細は xdg-desktop-portal-wlr(5) § SCREENCAST OPTIONS を参照してください。
See also
- Portal Documentation: Lists all APIs applications and backends can implement.