Ubuntu Weekly Recipe

第640回 gioコマンドを使ってコマンドラインからリモートのファイルを制御する

この記事を読むのに必要な時間:およそ 2 分

今回は一連のgvfsコマンドに代わって,gioコマンドを使用する方法を紹介します。

Ubuntu 20.10リリースとその変更点

既報のとおり10月22日にUbuntu 20.10がリリースされました。今回のリリースはあまり大きな変更点はありません。

Ubuntu 20.10ではカーネルのバージョンが5.8になってAMD Ryzen PRO 4000Gシリーズに対応※1⁠,メモリ4/8GBのRaspberry Pi (4)で動作するUbuntu(デスクトップ)インストールイメージがリリースされたなどが特徴でしょうか。前者はさておき,後者に関してはまたいずれ別の機会に紹介しようと思います。

※1
ちなみに筆者はUbuntu 20.04.1 LTSのカーネル5.4とRadeon Software for Linux 20.40でAMD Ryzen 7 PRO 4750Gを動作させていますが,あらゆるハードウェアアクセラレーションをオフにした上で安定動作しています。

地味な変更点としては,gvfs-binパッケージがインストールされなくなりました。このパッケージにはgvfs-openやgvfs-mountといったgvfs関連コマンドが収録されていました。もちろんリポジトリから削除されたわけではないため別途インストールできますが,現在ではlibglib2.0-binパッケージに含まれるgioコマンドが推奨のようです。gvfs関連パッケージはそれぞれ独立したコマンドが収録されていますが,gioコマンドは一つでオプションでさまざまな機能を使い分けます。ちょうどapt-getやapt-cacheコマンドとaptコマンドのような感じであると理解すれば早いかもしれません。

というわけで,今回はgioコマンドについて紹介します。

gvfsとは

そもそもgvfsGVfsとは何なのでしょうか。簡単にいえばローカルとリモートを問わずさまざまなプロトコルで透過的にアクセスするためのしくみです。UbuntuというかGNOMEデスクトップ環境のファイルマネージャーである「ファイル」⁠旧名Nautilus)はもちろん,XubuntuというかXfceのファイルマネージャーであるThunar,Ubuntu MATEというかMATEデスクトップ環境のファイルマネージャーであるCaja,Cinnamonデスクトップ環境のファイルマネージャーであるNemoなど,多くのファイルマネージャーでサポートされています。

LAN内にNASなどがある場合,⁠ファイル」を起動して「他の場所」をクリックすると「ネットワーク」以下に表示されますが,これはgvfsを使用しています。また「サーバーへ接続」「?」アイコンをクリックするとバルーンヘルプが表示されますが,これもgvfsでアクセスできるプロトコルの例です。

gvfs-binパッケージに収録されている各種コマンドやgioコマンドはこのgvfsのコマンドラインフロントエンドですが,ほかにも機能があります。

今回,実際に検証を行っているのはUbuntu 20.10ですが,20.04 LTSでも同様に使用できます。

gioコマンドの使い方

マウントを操作する

では本題に入ります。何はなくともまずはマウントするところから始めます。gioコマンドを使って現在のマウント状況を確認しましょう。

$ gio mount -l

通常は「Drive(数値)」がいくつか表示されるだけでしょう。もしマウント済みの領域があれば「Mount(数値)」が表示されます。また「Volume(数値)」というのもあるようです。

実際にマウントする場合はパスを引数に取ります。

$ gio mount (パス)

具体的には次のようなコマンドを実行します。

$ gio mount -a smb://ds118.local/share/misc/recipe

「-a」「–annonymous」と同等で,すなわちユーザー名もパスワードもなしでログインする場合につけるオプションです。⁠-a」がない場合はログインに必要な情報を対話式で入力します。

アンマウントするには次のコマンドを実行します。

$ gio mount -u (パス)

「-u」「–unmount」です。なおパスは補完されるのでTabキーを押してみましょう。

著者プロフィール

あわしろいくや

Ubuntu Japanese Teamのメンバー。VirtualBoxなどの翻訳を手がける。技術同人サークルteam zpn主宰。ほか原稿執筆を少々。