有馬総一郎のブログ

(彼氏の事情)

2026年01月14日 10:25:56 JST - 5 minute read - Linux

LinuxでもAndroidのQuick Share(クイックシェア)で共有できるアプリPacket

iPhoneのAirDropに無理矢理?対応したAndroidのQuick Share。正直、転送速度が遅いので LocalSendばかり使っていたが、Android、Chromebookごとにインストールするのは面倒1なので、Quick Shareに対応している Packetを使ってみた。以下、flatpak版で話を勧める。

以前、 Packet is an Android Quick Share App for Linux - OMG! Ubuntuで紹介されたときは、試すも失敗したので速攻アンインストールしたのだけど、今回、受信、送信、バックグラウンド実行、そしてトレイアイコン化まで出来て、実用に耐えうるようになったなってないが、書き始めたので紹介する。

ファイヤーウォールの設定

ufwを設定してない人はここは無視。去年までは有効化してなかったのだけど、余りに昨今のセキュリティ事情が危うくなっていうので有効にし始めた。

portの数字だけ開けると、後で見直したときに何で開けているのか分からないので、/etc/ufw/applications.d配下にアプリケーションファイルを作成して、portを開ける。

/etc/ufw/applications.d/packet

[Packet]
title=Packet Quick Share Client
description=Allow Packet to receive files via Quick Share
ports=9300/tcp|5353/udp|5355/udp

Fails to send data from Android to app #35を見ると9300/tcp5353/udp5355/udpが必要とある2。どこのポートを必要としているかはGUFWレポート で確認できる。

$ sudo ufw app list

利用可能なアプリケーション:
  Packet

$ sudo ufw allow Packet
ルールを追加しました
ルールを追加しました (v6)
$ sudo ufw status verbose

状態: アクティブ
ロギング: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
新しいプロファイル: skip

To                         Action      From
--                         ------      ----
9300/tcp (Packet)          ALLOW IN    Anywhere
5353/udp (Packet)          ALLOW IN    Anywhere
5355/udp (Packet)          ALLOW IN    Anywhere
9300/tcp (Packet (v6))     ALLOW IN    Anywhere (v6)
5353/udp (Packet (v6))     ALLOW IN    Anywhere (v6)
5355/udp (Packet (v6))     ALLOW IN    Anywhere (v6)

スマホからの受信

受信するPC端末でPacketを起動する。そして、スマホから共有でQuick Shareを選択して、共有先としてPC端末を選択する。使いづらいと思うのは起動していても、Packetをウィンドウを開いてAcceptしないと受信できず、タイムアウトになってしまう。受信を検知したらPacketのウィンドウがフォーカスされてくれれば良いのだけど、今のところそうなってないようす。

Packet
PC側 承認ダイアログが表示される
Packet
PC側 タイムアウトエラー
Packet
PC側 受信成功

PCからの送信

送信の場合は、Packetウィンドウを開いてドラッグアンドドロップするか Add Files で送信するファイルを選択する。この時、flatpak権限でfilesystemで許可されたところだけで、デフォルトはダウンロードフォルダ配下だけとなる。

Packet

しかし、抜け道というか、 Nautilus Plugin を導入すると、どこからも共有できる。一旦、~/.local/share/nautilus-python/extensionsを経由?するかだろうか。 GSConnectで送信できているだけだった。GSConnectの送信機能がpython3-nautilusインストールで有効化されたっぽい。

Packet
Nautilus Pluginインストール

プラグイン導入時にはsudo apt install python3-dbus python3-nautilusのコマンドを実行する必要がある。

スマートフォン側で 連絡先 の共有から一時的に全員にする必要がある。そして、PC端末から送信を承認するとスマートフォンで受信できる。らしいのだが…

Packet
スマートフォン側
Packet
スマートフォン側

Packet
スマートフォン側

端末も見えて、スマートフォンで承認して送信まで実行できるんだけど、エラーとなる。共有先を全員、ファイヤウォールをオフにしても駄目、原因、解決方法が分からない。

バックグランド実行

Packet
Backgroundを許可する
Packet
設定画面でAllowすればOK

バックグランド実行は、 flatpak権限が、デフォルトでは Background を許可してないので、許可しないと、設定画面でオンにできない。 設定画面でオンにしよとするとダイアログが表示されるので、 Allow すれば許可されてバックグランド実行される。

Packet
設定画面

自動起動はflatpak版でもちゃんとExec=flatpak run --command=packet io.github.nozwock.Packet --backgroundの形でファイルが作成されるのが嬉しい。

Packet
自動起動されるアプリケーション

トレイアイコン化

バックグランド実行してくれるのはいいんだけど、それが視覚的に分からない。トレイアイコン化したいのだけど、 2025-01-14 (0.5.4バージョン) 時点だと、安定板としてリリースされていない。flatpak版だけでなく Releases · nozwock/packetを見ても同じだ。

Packet
リリースされていない

Add tray icon support (#121) · nozwock/packet@1f752bf

修正は既に終っていて、nightly版をインストールしてみたころ、トレイアイコン化されたので、あなたがこの記事を見た頃にはリリースされているかも知れない。

Packet

nightly.link | Repository nozwock/packet | Workflow ci.yml | Branch main

nightly版は安定板と共存できるらしいでの両方インストールしておいて、 0.5.5バージョン がリリースされたら、nightly版を削除しても良いかもしれない。


  1. とはいえ、 LocalSend WebというWeb版がある。しかし、共有先も開いておく必要があるので面倒。 ↩︎

  2. 、自分の環境だと39911/tcpも必要だったの開けたが、Static Network Port を有効で9300と設定にしたら39911/tcpは不要かも知れない。 ↩︎