Wayland環境でGoogle Meet を利用して画面共有 (Screenshare)を行いたい

Waylandになり、画面共有の方法がXorgと異なっています。Chromeのディフォルトの設定では利用できないため設定方法をメモしておきます。

実施方法

Chromeの設定 chrome://flags/#enable-webrtc-pipewire-capturer にて、以下のパラメータを変更します。

WebRTC PipeWire support :  Enable
When enabled the WebRTC will use the PipeWire multimedia server for capturing the desktop content on the Wayland display server. – Linux

Linux上の設定、POPOSでは標準で実施がされていますがもし xdg-desktop-portal-wlr が導入されていない場合にはInstallをします。 apt install で入るはずです。

メモ

ChromeをWaylandモードで動いているかとかその他にもはまりどころは色々ある模様です。こちらを確認しておくと良いかもしれません。https://gist.github.com/PowerBall253/2dea6ddf6974ba4e5d26c3139ffb7580

100WPD/USB3.2Gen2(20Gbps)対応の RAMPOW社 USB Type-Cケーブルを購入

家のDisplayで利用しているケーブルが調子が悪くなったのでType-Cケーブルを購入をし直しました。今利用しているディスプレイは、DisplayPort Alt Mode(バージョンは不明)をサポートしているPDケーブル(98W)が対応になります。

Type-Cケーブルは仕様がややこしいのですが今回購入したものは

  • 100WPD対応
  • USB 3.2 Gen 2×2 20Gbps
  • DisplayPort Alternate Mode対応
  • 2m (仕様的には2mもOKとAmazonのコメントでメーカーの記載があり)

というものです。4K/60Hzとのことですが4Kディスプレイは持っていないので試せていませんが3440×1440/100Hzでの動作はできている感じです。

箱はシンプル、説明は1枚のみ

ケーブルは硬いみたいなコメントがありましたがそんなことはなく普通に丸めるくらいの取り回しはできます。コンパクトに折りたたむお少し強度は心配です。

キャップがついています。これまで使っていたものにつけておきたいと思います。RAMPOWのロゴが出ていますがそれほど気になる感じではありません。ロゴは片面にしか入ってないので裏側で利用すれば目立つこともありません。

RAMPOWの製品ですが、「保証」という文言が入っています。Amazonから購入した物が正規の対象商品です。https://rampow.com にいきアカウントを登録して製品サポートを登録すればいい模様です(Amazonの注文番号が必要です)、登録ができているのかできてないのかわかりませんが以下の画面になりました(Amazonの商品ページだと「永久保証」とありますが以下を見る限り2年間保証ですかね?いずれにしても2回までは交換してもらえそうです)

実際のところどのくらいでケーブルが壊れるかはわかりませんが元に元のディスプレイに付属のケーブルは調子がおかしくなってしまったので2年程度で壊れることもあるかもしれません。こういった消耗品に近い備品で保証がしっかりとしているというのは嬉しいですね。

[TailScale] iPhoneとLinux間でのファイル転送(TailDrop)

最近、Wiregrardの技術を使ったVPNサービスであるTailscaleに興味を持って色々触っていますがずっと課題に感じていた iPhone ⇔ Linux 間でのデータ転送を簡単に P2P で実行することとができました。TailScaleは、基本はP2PでのPVNを簡単に作ることができるサービスです。認証部分はTailScaleのサービスがGoogle認証などを促しクライアントに情報を伝達し、通信自体はP2Pで行われる形になる形式の模様です。(TailScaleは認可を担っている)

Install&Howto

この転送機能をtailscaleでは、taildrop (AirDropのもじりですね)と呼んでいます。
https://tailscale.com/kb/1106/taildrop/?tab=macos
内容はこの公式ガイドライン通りなので少しなぞって説明しておきます。

Linux

Linux側の導入は、公式ガイドに沿って実施すれば問題ありません。https://tailscale.com/download/linux 今回はマニュアルでインストールしました。プルダウンから該当するディストリビューションの種類を選んで実行します。

Linux側の注意点としては、tailscale自体が root権限で動いている点です。そのため受信したファイルは root権限のファイルとなっていまいます。接続(tailscale up)後に以下のコマンドで受信ができます。

~/D/tmp
❯❯❯ sudo tailscale file get .

上記のコマンドで受信モードになります。ディレクトリ内のファイルの権限は注意

-rw-r--r-- 1 root root 49212 1月 23 20:22 IMG_7881.PNG
-rw-r--r-- 1 root root 1293555 1月 23 20:15 IMG_7918.PNG

上記実施後、tailscale file コマンドは終了します。

P2Pと言いながらも以前に送信したものが送られてくる感じのタイミングがありました。(tailscale file get を後で実行したら)TialDrop自体のデータがどこかを経由してキャッシュしているのかそのタイミングでiPhone側から送られてきているのかちょっと未検証

iPhone

導入は以下のQRコードで読み取ったAppStoreのアプリをいれるだけす。

アプリは「VPN」アプリとして登録されますので、「設定」→「VPN」でON/OFFすることができます。他のVPNアプリと違って右上にvpnのマークが出てこないため接続されていることを認識しづらさがありますが基本的には使い方は同じで利用したいときだけONにしておけばよいです。
TailDropのやり方は、通常のアプリ共有と同じ方法でできます。複数のファイルを一度に送ることもできますので非常に便利

注意点

便利なtailscaleですが、ローカルのデーモンは root権限で動作します。このため認可を行っているtailscaleやローカルのデーモンのセキュリティホールなどが見つかった場合には非常に危険な動作となります。これらのことを理解したうえで、なるべくであればモジュールのUpdateなどは毎日行う事ができる環境のマシンに導入することを強くおすすめします。