Chienomi

Manjaro/Arch Linux, DiscordがAURから消滅 Snappy利用に …Snappy?

manjaro

  • TOP
  • Old Archives
  • Manjaro/Arch Linux, DiscordがAURから消滅 Snappy利用に …Snappy?

重要な追記

新しい記事に状況の更新が書かれている

あらまし

Manjaro Linuxの2019-08-07のツイートによれば

We are happy to announce the availability of @discordapp @ManjaroLinux. Read more about it on our forums: https://t.co/XbuhEJCFUC https://t.co/MH7Pjhn6EH

というわけで、なんかDiscordの扱いが変わったらしい。

というわけでAURを見てみると…AURからDiscordがなくなっている! Extra行きでもない!!

で、フォーラムを見てみると「Snappy使えよ」ということになっている。

Snappy?

Sanppy

SnappyについてはWikipediaに既に記事がある

Snappyとはカノニカルが設計・開発したソフトウェアデプロイメントシステムかつパッケージ管理システムであり、元々はUbuntu Phoneオペレーティングシステム用に設計・開発された。

a-ha?

ちゃんとArchwikiにも記事がある。 そして、snapcraftのサイトにManjaroについての記述がある

が、どれも後述するようにちょっと微妙である。

簡単に言えば、パッケージがライブラリとか全部含めてSquashFSにしてあるのでディストリビューションごとの調整とかいらないよ、という話である。

はっきりいってしまえば、いわゆるポータブルアプリである。 こういうの、前からちょいちょいあった。そして、いろんな意味で微妙なのである。

一番の理由は容量をえらいとる、というのがある。 管理がばらつくとか、制御しづらいとか、パッケージの信頼性が担保しにくいとか、他にも理由はたくさんある。

インストール

必要なのはcommunityパッケージのsnapd

$ sudo pacman -S snapd

snapdをenableしろと言っているが、snapdが必要なのはパッケージ操作時のみ。

$ sudo systemctl start snapd

Discordをインストール。結構長い。

$ sudo snap install discord

パッケージ操作はもうしないのでsnapdは止めてしまって良い

$ sudo systemctl stop snapd
$ sudo systemctl stop snapd.socket

起動と感触

Snappyを使って起動する。snapdは必要ない。

$ snap run discord

起動すると、フォント選択とフォントレンダリングに少し違和感があること、カーソルが異なるものになってしまうことが気になる。 あと、Cinnamon上でアプリケーションアイコンが表示されない(systrayには表示される。これは.desktopファイルの設定によらず改善しない)。

また、アプリケーションアイコンのコンテキストメニュー(通称デスクトップメニュー)に機能しない “New Window” がある。

使えないわけではないけど、やっぱりいまいちだ…

(2019-08-12 追記)

システムを再起動したところ

  • アイコンは出るようになった
  • discordコマンドで実行できるようになっている (/var/lib/snapd/snap/bin/discordを呼んでいる)
  • カーソルとフォントは相変わらず
  • .desktopメニューに“New Window”があるのは相変わらず。[Desktop Action]は定義されてないけれど
  • systrayのDiscordアイコンクリック時に“Top Secret Control Panel”が出る。これは右クリックの挙動で、クリック時はwindow activateされるのが正しいはず

Snappyについて

Manjaroの場合AURにDiscordがあったので、それを前提にするのであれば大幅な後退であるというのが基本的な印象だ。

しかし、それはちょっと傲慢過ぎる。

Arch LinuxやManjaro Linuxの場合、ほとんどのソフトウェアはAURにあり、そのいずれも(Launchpadと比べても)クオリティが高く調整が行き届いている。 だが、現実には依然としてバイナリのみの配布となっていて、Ubuntu向けdebパッケージのみが配布されているケースはかなり多い。Discordもそうである。

このようなソフトウェアの存在のために現実的にはUbuntuパッケージが使えるUbuntu系列のディストリビューション、AURで調整されているArch系列のディストリビューションぐらいしか選べないという状況が出来上がる。せいぜいがFedora。 実際にopenSUSE, Mageia, Sabayon Linux, PCLinuxOSを使っていたときは使えるソフトウェアに著しい制限がかかる状況であった。

そうした状況は健全とはいい難いため、そのようななんらかのポリシーによって限定的なパッケージでバイナリ配布されるソフトウェア1が広くディストリビューションを限定せずに利用できる、という意味ではSnappyによってサポートされるというのは悪い話ではない。

だが、Snappyに統一されるべきかというと、ちょっと首肯は難しい。 Snapcraftがどれだけメンテナンスされるか、きちんとチェックされるかというところで、やはり信頼感はかなり差がある。Launchpadが結構ひどく、AURがほとんどのパッケージはちゃんとしていることを考えるとやはりAURで欲しい。クオリティ的にもSnappyがいまいちであることを考えるとSnappyを理由にAURからドロップするのは結構残念な気持ちになる。

余談だが、Ubuntu向けdebパッケージで提供されるっていうのは結構扱いにくい。debパッケージはちょっと特殊なので、PKGBUILDを書いてリアッセンブルするのが割と手間なのだ。specを変換するだけのRPMのほうがずっと楽だろう…と私は思うのだが、なぜかAURのパッケージ群はRPMがあるソフトウェアでも大抵debをリアッセンブルしているので、ひょっとしたらこれは私の認識が正しくないのかもしれない。


  1. 「バイナリ配布だから限定的なパッケージである」という理解は間違っている。例えばFirefoxはLinux向け完パケバイナリが存在し、ポータブルアプリとして実行可能である。↩︎