LocalSend: Linux 開発者向けのファイル共有
[[academy-video-youtube({"vid": "0LTwT-iSs3U", "start_time": "0", "title": "LocalSend: AirDrop for Every Platform", "creator": "Tim Corey", "length": "8m 20s"})]]
複数のマシンにまたがって作業することは、クロスプラットフォーム開発では一般的です。 Windowsデスクトップに保存したコマンドが、Linuxボックスで必要です。 設定ファイルは自分のラップトップ上で存在しますが、VMでテストしています。 一般的な回避策(自分にメールを送る、クラウドストレージにアップロードする、ネットワーク共有を構成する)は、トリビアルであるべきものに摩擦を追加します。
"LocalSend: AirDrop for Every Platform"という動画で、Tim Coreyはクラウドに触れることなく、ローカルネットワーク上の任意のデバイス間でファイルやテキストを転送する無料でオープンソースなツールであるLocalSendを紹介します。 LinuxにFlatpak経由でインストールし、デバイス名を設定し、WindowsマシンとLinuxデスクトップ間でテキストとファイルの送信を行う手順を紹介します。複数のオペレーティングシステムでの作業(または電話とコンピューターの間)を行う場合、これは実用的なツールキットの追加です。
既存のファイル転送オプションの問題
[0:00 - 0:30] ツールを紹介する前に、Timは開発者が使用する一般的な回避策と、なぜ各々が目的に適さないかを説明します。 Microsoft Teamsには自己メッセージングチャンネルがありますが、両端にTeamsがインストールされている必要があります。 自分にメールを送ることは機能しますが、受信トレイが散らかり、余計なステップが追加されます。 ネットワーク共有はジョブを処理しますが、許可の構成が必要であり、異なるオペレーティングシステム間で複雑になります。
開発者が実際に必要としているのは、AppleのAirDropに近いものです: コンテンツを選択し、送信先デバイスを選び、送信します。 LocalSendはそれをWindows、macOS、Linux、iOS、Androidで実現します。
LocalSendとは何ですか?
[1:01 - 1:46] LocalSendはlocalsend.orgで入手でき、外部サーバーを経由せずにLANでデバイス間の共有を処理します。 すべてがあなたのネットワークに留まります。
クラウドベースの代替(OneDrive、Google Drive、Dropbox)と異なるのは、ローカル環境をデータが離れることがない点です。 ソースコード、資格情報、大きなバイナリーファイルで作業する開発者にとって、それは意味のあるプライバシーと速度の利点です。 Timはこのツールがスポンサーされたものではないことを強調しています; このシリーズでカバーされているクロスプラットフォーム開発ワークフローに役立ちます。
Flatpak経由でLinuxにLocalSendをインストールする
[2:46 - 3:54] LocalSendダウンロードページにはすべてのプラットフォーム用のバイナリが用意されています。 Linuxでは、推奨アプローチはパッケージマネージャーを使用することです。 TimはFlatpakインストールを選びます、これは2つのコマンドが必要です。
ウェブサイトはコピーボタンを提供し、完全なインストールコマンドを端末に直接貼り付けることができます。
// Flatpak install (two commands combined)
flatpak install flathub app.localsend.localsend_app// Flatpak install (two commands combined)
flatpak install flathub app.localsend.localsend_appインストーラーは、パッケージを承認するため、そして必要な変更を受け入れるための確認を2回求めます。 その後、LocalSendがインストールされ、起動の準備が整います。
インストール後、クイックアクセスのためにタスクバーに固定します。 Timは端末で起動されたインスタンスを閉じ、アプリケーションメニューから再度開いて独立して実行します。
デバイス名の設定
[4:11 - 4:36] デフォルトでは、LocalSendはランダムなデバイス名(例えば"ファンタスティック・オレンジ")を割り当てます。 コンテンツを送信するときにリストからデバイスを選ぶので、説明的な名前が重要です。 Timは設定を開いて、彼のLinuxデスクトップの名前を"Tim's Linux Desktop"に変更し、LocalSendサーバーを再起動して変更を適用します。
サーバーの再起動は理解する価値があります。 LocalSendは各デバイス上で軽量サーバーを実行し、これによりネットワーク上の他のデバイスがそれを検出します。 すべてのインスタンスは、サーバー(発見可能で受信準備完了)であり、クライアント(他のデバイスをブラウズして送信可能)です。 LocalSendを閉じると、サーバーは停止し、デバイスはネットワークから消えます。
マシン間でテキストを送信する
[4:48 - 5:42] LocalSendがLinuxデスクトップとWindows PCの両方で実行されている状態で、各デバイスが他方のデバイスリストに表示されます。Timは最も単純なユースケースをデモします: WindowsからLinuxにテキストスニペットを送信します。
Windowsマシン上で彼はテキストフィールドに"hello world"と入力し、近くのデバイスリストからLinuxデスクトップを選んで送信します。 テキストはLinuxマシン上で即座に表示され、コピー用のボタンが準備されています。 開発者がシェルコマンド、接続文字列、またはコードスニペットをマシン間で転送するために、メールやクラウドストレージを経由するラウンドトリップを完全に排除します。
マシン間でファイルを送信する
[5:42 - 7:04] ファイル転送も同じ方法で動作します。 WindowsマシンからTimはTIFF形式のヘッドショット画像(925 MB)を選び、Linuxデスクトップに送信します。受信マシンは、ダウンロードが開始される前に受信転送を受け入れるかどうかを確認します。
その受け入れプロンプトは意図されたセキュリティ機能です。 ネットワーク上のデバイスは、明示的な承認なしにあなたのマシンにファイルをプッシュすることができません。 受け入れられると、ファイルは2台のマシン間で直接ダウンロードされます。 クラウドサーバーは関与しないため、転送速度はインターネット接続ではなくLAN帯域幅のみで制限されます。 ギガビットネットワーク上で925 MBのファイルは、クラウドアップロード/ダウンロードサイクルに比べて数秒で完了します。
デスクトップ以外の使用例
[7:24 - 8:00] Timは、動画で示されている2デスクトップの設定以外でLocalSendが有用なシナリオをいくつか強調します。 VMを実行していてホストとの共有フォルダーを構成したくない場合、LocalSendはVM固有の設定なしで転送を処理します。電話からデスクトップへの転送は、OneDriveへの通常のアップロードと再ダウンロードの流れを置き換えます。 そして次のエピソードで紹介予定のDockerおよびSQLワークフローでは、コマンドおよび構成ファイルをマシン間で迅速に移動する方法を用意することで、もう一つの摩擦源を取り除きます。
このツールはファイル、フォルダー、テキスト、クリップボードの内容をサポートします。 必要なときに開き、不要なときに閉じます。 アプリケーションがアクティブでないときはバックグラウンドでサービスが動いていることはありません。
まとめ: 本当の摩擦を取り除く小さなツール
[7:51 - 8:11] LocalSendは、ほとんどの開発者が回避するためだけに使用する問題を解決します。 インストールは1分未満で完了し、インターフェイスはわかりやすく、遭遇する可能性のあるあらゆるプラットフォーム組み合わせをカバーします。 クロスプラットフォームで作業する全員にとって(このC# on Linuxシリーズの前提条件である)、これにより毎日の摩擦のカテゴリーが削減され、時間が経つにつれて積み重なります。
結論
[8:11 - 8:20] まとめると、LocalSendは無料のオープンソースでクロスプラットフォーム対応なファイルおよびテキスト転送ツールであり、クラウド依存なしにローカルネットワークで動作します。 LinuxにFlatpak経由でインストールし、認識しやすいデバイス名を設定し、Windows、macOS、Linux、iOS、およびAndroidデバイスの任意の組み合わせ間でコンテンツを送信し始めます。
クロスプラットフォーム開発環境をセットアップしている場合、これはSDKおよびエディターと一緒にインストールする価値のある最初のユーティリティの1つです。
例:マシン間で頻繁にシェルコマンドやコードスニペットを転送する場合、最初にファイルに保存する代わりにLocalSendのテキストモードを使用します。送信元のマシンにコマンドを貼り付け、送信し、受信側でコピーします。 これは一時ファイルを作成するよりも速く、両方のマシンに孤立したテキストファイルを残すことを避けます。
彼のYouTubeチャンネルでこのビデオをフルで視聴し、クロスプラットフォーム開発ワークフローに関するさらに多くの洞察を得ましょう。

