今回はUbuntu 18.04 LTSでSnapパッケージを使用する上で知っておくと便利なことを紹介します。
Snapパッケージのデフォルトインストール
リリースが近づいてきているUbuntu 18.04 LTSにはさまざまな変更点があります。新規インストールの場合[1]、いくつかのSnapパッケージがデフォルトでインストールされるのは大きな変更点の一つです。思えば前のLTSであるUbuntu 16.04 LTSで初めてSnapパッケージを動作させるためのsnapdパッケージがデフォルトでインストールされるようになり、2年かけてここまで来ました。
インストールされているパッケージ図1のとおり、コア、GNOMEアプリケーションを動かすためのランタイムに、電卓、文字、ログ、システムモニターの4つのパッケージです。
起動してみると、いずれもSnapパッケージか通常のパッケージか見分けがつかないと思います。ついに実用レベルに達したのだと感慨深いものがあります。
既知の問題点
とはいえ問題がないわけではありません。「文字」を起動し、ホームフォルダーを見ると謎のフォルダーが増えています(図2)。これは#1746710としてバグ登録されています。
ワークアラウンドとしては各種フォルダーをいっそ英語にしてしまうという手があります。端末から次のコマンドを実行してください。
「Don't ask me this again」にチェックを入れ、「Update Names」をクリックします(図3)。あとはログアウトして再ログインします(図4)。
リネームした各フォルダーにファイルがない場合は、重複するフォルダーは削除されます。ファイルがある場合は残りますので、英語版のフォルダーにファイルを移動して重複するフォルダーを削除するのがいいでしょう。例えば「ピクチャ」フォルダーにファイルがある場合は「Pictures」フォルダーに移動させ、「ピクチャ」フォルダーを削除します。
Snapパッケージの特徴とコマンド
Snapパッケージは、従来のDebianパッケージと多くの点で異なります。その中でも「チャンネル」(Channels)と「制限」(Confinement)はユーザーとして意識しておくといい大きな違いとなっています。
チャンネル
「チャンネル」は細かいところでいろいろとあるものの、ユーザーとしてはリスクレベルとして"stable", "candidate", "edge", "beta"の4つがあることを覚えておけば充分でしょう。Ubuntuのproposedリポジトリと同じくテスト用のリポジトリが用意されているということですが、特に設定を変更しなくても複数のチャンネルからパッケージをダウンロードし、任意に切り替えることができます。
LibreOfficeを例にすると、本記事の執筆時点ではstableのバージョンは6.0.2.1で、candidateには6.0.3.2があります(図5)。
stableのバージョンをインストールする場合は次のコマンドを実行します。
続けてcandidateのバージョンをインストールするには次のコマンドを実行します。
この状態だとcandidateのLibreOfficeが有効になっています。状態を確認する場合は次のコマンドを実行します。
無効になっているバージョンも表示したい場合は次のコマンドを実行します(図6)。「Rev」はリビジョンですが、これには重要な意味があります。
stableのバージョンに戻したい場合は次のコマンドを実行します。
candidateのバージョンに戻したい場合はリビジョンを指定します。図6のとおり6.0.3.2のリビジョンは59なので、次のコマンドを実行します。
stableのLibreOfficeを削除したい場合は次のコマンドを実行してください。
もし複数のバージョンをインストールしたくない場合は
を実行し、続けてチャンネルの変更を行います。
さらにアップデートします。
これでcandicateのバージョンだけをインストールできます。
制限
「制限」は、Snapパッケージを利用するだけなら「classic」だけを知っておけばいいでしょう。例えばAtomをインストールしようとし、
を実行すると図7のような警告が表示されます。そこで、次のコマンドを実行します。
なお、Atomは例として挙げただけであり、実際の使用のおすすめをするわけではないので注意ください[2]。
UbuntuソフトウェアとSnap
Ubuntu 18.04 LTSのUbuntuソフトウェア[3]は、Snapパッケージのサポートがさらに進んでいます。インストールしたいパッケージ(今回はLibreOffice)の個別ページを開き、下部にスクロールするとチャンネル(Channel)が選択できるようになりました(図8)。特に変更せずに「インストール」をクリックするとstableのバージョンをインストールします。candidateのバージョンをインストールしたい場合はcandidateのバージョンの横にある「Switch」をクリックし、「更新」をクリックします(図9)。これでcandidateのバージョンになります。すなわち前述のsnap switch
コマンドを実行しているのと同じ挙動です。
インストール後「Permissions」をクリックして表示されるメニューでパーミッションを変更することもできます(図10)。
追記
本記事の公開時点ではLibreOfficeのバージョンが6.0.3.2(リビジョン59)になっています。LibreOfficeのほか、ChromiumやFirefoxなどバージョンアップの間隔が短いものであれば各チャンネルのバージョンに違いがあることが多いので、本記事の検証を行いたい場合はそれらのパッケージのバージョンをsnap info
コマンドで確認してみてください。