Annual Report of the Ubuntu Weekly Recipe 2021

2021年最後の[Ubuntu Weekly Recipe](https://gihyo.jp/admin/serial/01/ubuntu-recipe/)は、[第697回「AMD Ryzen 7 5800Xで学ぶ，Ubuntuにおけるシステムの動作確認」](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0697)でした。というわけで今年もまた、2021年に掲載されたUbuntu Weekly Recipeの記事をまとめてみます。

これまでのAnnual Reportは次の記事を参照してください。

* [2020年](https://qiita.com/m-shibata/items/32352f6e55123d9a46b7)
* [2019年](https://qiita.com/m-shibata/items/a012113932156017424b)
* [2018年](https://qiita.com/m-shibata/items/4e713232bb6a7ec4d251)
* [2017年](https://qiita.com/m-shibata/items/b63307cf1b9397238e8d)
* [2016年](https://qiita.com/m-shibata/items/2b59a16e9838e276e457)
* [2015年](https://qiita.com/m-shibata/items/c8645b5eb544af46ba5c)
* [2014年](https://qiita.com/m-shibata/items/f8ddea35a138b64bb998)

## 2021年のUbuntu

2021年も世の中は引き続き「新型コロナウィルスに翻弄された年」でした。とは言え、昨年ほどの狂騒感はなく、やるべきことをやるという感じで過ごした人も多いと思います。Ubuntuも、いつもどおり半年に一回のリリースを継続しました。今年は次のLTSである22.04までのつなぎということで、大きめの対応を駆け込みで取り込むフェーズです。

しかしながら[Ubuntu Weekly Topics](https://gihyo.jp/admin/clip/01/ubuntu-topics)を一通り眺めてみてもあまり大きな動きはなかった雰囲気です。いやほんと、何もなさすぎじゃない？

* [Ubuntu Core 20がリリースされた](https://gihyo.jp/admin/clip/01/ubuntu-topics/202102/05)
* Ubuntu 21.04からWaylandが標準のセッションになった
* Ubuntu 21.04からテーマの色が黒系から明るい系になった
* Windows 11/[WSLg](https://gihyo.jp/admin/clip/01/ubuntu-topics/202106/04)の登場に伴い、WSLでもGUIアプリが簡単に動くように
* [Ubucon Asia 2021](https://2021.ubucon.asia/ja/)が開催された
* とうとうFirefoxがsnap版になった

大きいニュースだとこれくらいでしょうか。

標準のセッションをWaylandにする件は、もともと20.04で予定されていました。しかしながら諸々間に合わなかったために、22.04までを目標にリスケジュールされたものです。結局、メジャーなディストリビューションの中では後発の対応になってしまいました。その代わり、大半の人は特に意識することなく移行できたかと思います。しかしながら現在はもうLTSユーザーのほうが圧倒的なマジョリティなので、20.04からへの22.04アップグレードの際にいろいろ問題が出てくるんじゃないかという心配はあります。

そして本来のUbuntuよりもユーザー数が多そうな気がするのがWSL（Windows Subsystem for Linux）です。今年秋のWindows 11からは、GUIに対応したWSLgがサポートされるようになりました。つまりUbuntuのリポジトリにあるデスクトップアプリも比較的簡単に動かせるようになったのです。Windows 10でもInsider Previewを有効化すればWSLgが使えますし、今後はWSLがLinuxにおけるメインプラットフォームになっていくのかもしれません。RecipeでもはやいことWSLgについて紹介したいところです。

Ubuncon Asiaは長い間開催が望まれつつもできなかったイベントです。韓国のLoCoチームが主体となって、各地域に呼びかけ開催できることに相成りました。この手の国際イベントは、いろいろお金がかかるのですが、昨今はオンラインイベントが一般的になってきたこともあって、比較的手間・お金を圧縮できます。それでも開催者・スタッフの負担は半端ないものですし、無事に終了して良かったと思います。おつかれさまでした。次回は自分も何か発表したいところ。

そしてUbuntu 21.10からは**Firefoxがsnapパッケージになりました**。過渡期ということでDebianパッケージ版も用意はされているものの、Ubuntu 22.04 LTSのタイミングで削除されると思われます。もともとDebianパッケージのウェブブラウザーサポートはいくつかの問題をかかえていました。

* ウェブブラウザーのリリース期間が短く、ディストリビューション側の負担が大きい
* セキュリティ脆弱性に対するユーザーへのインパクトが大きい
* 巨大プロジェクトになった結果、各種ライブラリの依存関係の解決が難しい
* ディストリビューション側で不具合サポートするには複雑すぎる
* 上記をUbuntuがサポートするリリースごとに行わなくてはならない
* Upstream側は各ディストリビューション固有の状態まではフォローできない

一言で言うと「手に余る存在」ということです。よってUpstreamがリリースのタイミングでバイナリをビルドし、それをどのリリースを使っているUbuntuユーザーも使えるようにし、サポート自体はバイナリをビルドしたUpstream側で行えると、理想的にはお互いの負荷を大きく減らせます。そこで出てくるのが「ユニバーサルパッケージングシステム」です。要するに単一のバイナリがUbuntuのリリースをまたいで、さらにはLinuxディストリビューションをまたいで利用できれば、それだけでサポートを単純化できます。

つまりsnap化そのものは方向性として間違っていないのです。もちろんFlatpakにするという手もあるのですが、そのあたりは政治的な事情が絡んできます。それよりも問題は「snap版のFirefoxはもろもろ問題を抱えている」にも関わらず「[9月半ばになって移行を強行した](https://discourse.ubuntu.com/t/24210)」点にあります。コミュニティから「これが動かない、あれも動かない、こういう用途に影響が出る」という報告が出ても「将来対応する」の一点張りで、正直傍から見ても「丁寧」とは程遠い対応でした。

現時点で判明している具体的な問題を列挙していきましょう。

* **Firefoxの起動時間が数倍増える：**特に日本語環境のような大きなフィントがインストールされていたり、フォントをたくさんインストールしている環境だとさらに増えます。
* **パッケージがバックグラウンドでアップデートされるとFirefoxがクラッシュする：**たぶん一番遭遇するのがこれです。snapd/Firefox側で対応を検討していますが目処はたっていません。
* **クラッシュから復帰させると文字化けする：**Firefoxを再度手動で再起動するしか方法はありません。
* **GNOME Shellの拡張機能がインストールできない：**CLIを使ってインストール・管理する必要があります。
* **KeePassXCが使えない：**パスワードマネージャーであるKeePassXCのsnap版が使えないという問題が報告されています。これはsnap版のChromiumも同様で、22.04に向けて調査中というステータスです。
* **スペルチェック機能が動かない：**hunspellを利用したスペルチェック機能が動きません。すでにパッチがでているため、本誌が発売される頃には解決している可能性があります。
* **3DアクセラレーションやVA APIが動作しない：**リリース当初はGoogle Earthが動かない、再生時にVA APIが動かないなど問題があったようです。現時点ではほぼ解決済みですが、まだ動かないサイトもあるかもしれません。
* **スマートカードとの連携ができない：**サイトのログインなどでスマートカード（pcscd）が必要な場合、snap版パッケージだと動かないようです。これはヨーロッパ圏の政府系サイトにアクセスできないことを意味するため、対応が急がれています。他にもKerberos/SPENGOなど認証系で動かないものが存在するようです。
* **Evince上のURLをFirefoxで開けない：**PDFをEvinceで開いた時、そこに掲載されているURLをクリックしてもFirefoxでページを開けません。これはAppArmorの設定の問題のようです。ただしVS Code等でも同様の事象が報告されているため、他にも問題があるかもしれません。
* **サイトをローカルに保存できない：**環境によっては「名前を付けてページを保存」が機能しないことがあるようです。
* **ネットワークストレージを参照できない：**権限の都合でネットワークストレージなどマウントされたフォルダーを参照できません。

いくつかは修正されてはいるもの、結構クリティカルな問題も残っています。正直この状態で22.04に移行するのはかなり不安満載なのですが、今後のブラウザーサポート考えると移行は決定事項だと思っておいたほうがいいでしょう。つまりあとはどれだけコミュニティががんばって修正するかどうかです。**ウェブブラウザーをよく使っている人はできるだけいまのうちに動作確認と不具合報告をよろしくお願いいたします。**

ちなみに「パッケージがバックグラウンドでアップデートされるとFirefoxがクラッシュする」という点については、次の設定によって「Firefoxプロセスが動いている間はアップデートしない」状態となり、回避が可能になります。

```
$ sudo snap set core experimental.refresh-app-awareness=true
```

この場合、アップグレードが可能なタイミングでFirefoxプロセスを一旦終了するようにしてください。セキュリティアップデート適用後に再起動する際、再起動後にFirefoxを起動するのをしばらく待つと良いでしょう。

---

さて、2021年のUbuntu Weekly Recipeは、2014年ぐらいから恒例となっているいくやさんによる第648回「[デスクトップ環境の2020-2021年](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0648)」から始まりました。Ubuntu/GNOMEだけでなく、他のデスクトップ環境についても総ざらいしているので、Ubuntuや他のフレーバー、Ubuntu以外のLinuxディストリビューションのユーザーも、自分の使っているデスクトップ環境が一年でどう変わったのか振り返ってみるのも良いのではないでしょうか。

2020年はこの第648回から第697回までの計50回の掲載でした。昨年の47回と比べて3回分増えています。実は1回執筆者がいなくてスキップしたのですが、その代わり他の連休時になるべく書くようにした結果としての増加です。ただ、そろそろ連載維持がつらくなってきたので、やはり新しい人が欲しいところ。


## RecipeっぽいRecipe

「[Ubuntu Weekly Recipe](http://gihyo.jp/admin/serial/01/ubuntu-recipe/)」は「 __Ubuntuの強力なデスクトップ機能を活用するための、いろいろなレシピをお届けします。__ 」とあるように、本来はUbuntuの（主としてデスクトップの）ソフトウェアやカスタマイズ方法を紹介する連載でした。今ではデスクトップやサーバーに関係なくUbuntu特有の機能を突っ込んで紹介したり、リリースごとの変更点のまとめ、イベントレポートなど執筆陣が思いついたものを自由に掲載していますが、今でもこのタイプの紹介記事はそれなりに存在します。

いくやさんによる第653回の 「[Déjà Dupで簡単バックアップ 2021年版](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0653)」 第669回の「[Ubuntuとデスクトップフォルダー機能](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0669)」、第671回の「[パッケージのアップデートとアップグレードを制御する](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0671) 」、第682回の「[GNOMEのオンラインアカウント機能を極める](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0682)」なんかは、「The 定番」とも言える内容ですね。2008年から続く長い連載なので「過去に紹介はしたけれども、最近はまた状況が違う」みたいなソフトウェアも増えてきました。これからも過去記事のアップデート版を提供したいところです。

新型コロナの話が大きく報じられるようになってからおよそ2年。そろそろ皆様も「在宅勤務」のほうが当たり前になってきた頃だと思うものの、リモートワークネタは未だに人気のトピックです。会社にあるデスクトップPCを操作したいなら、いくやさんによる第661回の「[リモートデスクトップビューアー，Remminaを使用する](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0661)」が参考になると思います。また、21.04からはWaylandが本格採用されたとあって、Unixでは定番の「X転送 over SSH」をWayland環境で行う方法を第666回の「[Waypipeを用いてWayland環境で「X転送 over SSH」っぽいことをしてみる](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0666)」で紹介してみました。あとは第664回の「[スマートフォンをWebカメラとして使う](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0664)」もリモートワークネタですね。

在宅勤務において重要なのは、いかに個人のPC環境を充実させるか、です。いや、別に充実させる必要はないのですが、**「在宅勤務のため」って言えば家庭内の決裁がおりやすく**なります。よって在宅勤務において環境の充実はとても重要なのです。たとえば水野さんによる第672回の「[UTMを使ってM1 Mac上でUbuntuを動かす](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0672)」のように高性能なコンピューターを購入するとか、村田さんによる第681回の「[BluetoothヘッドセットでHD Voiceを使う](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0681)」のようにリモートミーティング向けに音声入出力デバイスを充実させるとか、いくつもの方法が考えられます。他にもいくやさんによる第685回の「[音楽プレイヤーRhythmboxのさまざまな機能](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0685)」も、ある意味「環境の充実」と言えるかもしれませんね。

ビジネス関連だと「DX（Digital Transformation）」とか「RPA（Robotics Process Automation）」とか「Metaverse」とかもホットなワードでしょうか。Unixなんて昔からデジタルファーストな文化ですし、RPAも当たり前に行われているため今更感はあります。MetaverseについてもUbuntuだと最初からUniverseやMultiverseが使われていますしね！（注：実はMetaverseがなんのかよくわかっていません）

そんな中、小林さんの第662回の「[Docker+Selenium ServerでWebブラウザ自動操作環境を作る](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0662)」は、ウェブブラウザーというクロスプラットフォームな仕組みを元にしているので、OS問わずRPAの恩恵を受けられる仕組みと言えます。

日本のユーザー向けだといくやさんによる第689回の「[Ubuntu 21.10でFcitx 5を使用する](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0689)」も気になるでしょう。UbuntuデスクトップはインプットメソッドフレームワークとしてGNOMEと親和性の高いIBusを採用していますが、おそらくIBus以上に人気があるのがFcitxです。Fcitx 5はWaylandに主眼をおいて開発されているため、WaylandにおいてはIBusよりも使いやすいですし、拡張性も高くなっています。今後Ubuntu 22.04 LTSがリリースされた暁には、インストール後の最初のステップとしてIBusからFcitxに切り替えるのもいいかもしれません。

Ubuntuの利点のひとつがaptによるパッケージ管理システムです。また、PPAを含むサードパーティのリポジトリによって、さまざまなパッケージを同じインターフェースでインストールできることもメリットの一つになっています。そんな中、サードパーティのリポジトリを追加する際によく使われたapt-keyコマンドが「廃止予定」という扱いになりました。そこでその理由や代替手段を紹介しつつ、最近のaptコマンドに関する情報を複数の回に分けて紹介してみました。

- 第675回の「[apt-keyはなぜ廃止予定となったのか](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0675)」
- 第676回の「[aptコマンドの最新機能あれこれ](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0676)」
- 第677回の「[aptで使うsources.listのオプションいろいろ](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0677)」

その他分類が難しいところとしては、いくやさんによる第667回の「[Warpinatorでお手軽LAN内ファイル転送](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0667)」、第655回の「[オブジェクトストレージ，MinIOを使用する](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0655)」、第657回の「[オブジェクトストレージ，MinIOを使用する［クライアント編］](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0657)」などがあります。要するにローカルネットワークでファイルをたくさんやりとりする人向けの情報ですね。

個人向けのパッケージをビルドすることが多い人は、同じくいくやさんによる第659回の「[systemd-nspawn+pbuliderでパッケージのビルド環境を整える](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0659)」が参考になるかもしれません。ちょっと変わったところでは第652回の「[キミはMirを憶えているか](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0652)」もありますが、これはタイトルがオチです。


## 買ってみた・インストールしてみた

Recipeの定番記事の一つが「新しいデバイスを買ってみた・Ubuntuをインストールしてみた」です。今年も「おうち活動」が多かった結果として、ガジェットや家具を購入した人が多かったんじゃないでしょうか。

このあたりについて、ここ数年はいくやさんの独擅場みたいな状況です。毎年のように複数台のPCを揃えているな、この人。

- 第651回の「[AMD Ryzen 3 PRO 4350Gで省エネコンパクトPCを構築する](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0651)」
- 第691回の「[Intel Core i3-10105で省エネコンパクトPCを構築する](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0691)」
- 第697回の「[AMD Ryzen 7 5800Xで学ぶ，Ubuntuにおけるシステムの動作確認](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0697)」

最後の第697回では少し趣向を変えて、Windowsっぽい**GUI映え**するツールをいくつか紹介してみました。

今年ぐらいから2.5GbEのデバイスががくんと値段が下がってきましたね。いわゆる「マルチギガビット・イーサネット」ってやつです。そこでいくやさんが、2.5GbEのスイッチや、それを経由したWi-Fi 6デバイスの計測などを紹介しています。

- 第693回の「[Ubuntuでも2.5GbEを使用する](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0693)」
- 第696回の「[UbuntuでもWi-Fi 6を使用する](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0696)」

「巣ごもり需要」を反映して、スマートデバイスもいろいろでています。少し気色の変わったネタとして、第668回の「[CATTでCLIからGoogle系スマートデバイスにキャストする](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0668)」では、ChromecastにCLIからいろんなファイルをキャストしてみました。PCで作業しながらテレビ等に何か再生させたいときに役に立つのではないでしょうか。

第684回の「[UbuntuからRaspberry Pi Picoを使う](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0684)」では、マイコンであるRasPi Picoで遊んでいます。Picoは非力なマイコンであるためUbuntuを動かすことはできませんが、UbuntuでプログラムしたデータをPicoで動かすことは可能です。単体では無線通信に対応していないため、IoTとして使うにはいろいろ対応が必要ではあるものの、なかなかおもしろいデバイスでした。RasPiだと、新機種であるZero2は、CPUがグレードアップしたためようやくUbuntuも動かせそうな雰囲気です。今後日本でも購入可能になると思いますので、その際には是非本連載でも紹介したいところです。

## サーバーとしてのUbuntu

Ubuntuが一躍人気ディストリビューションの一角を占めるようになったのは、紛れもなくデスクトップ版のUbuntuの使いやすさによるものです。しかしながらサーバー版のUbuntuも現在はCentOSやDebianと肩を並べる勢いで利用されています。そんなUbuntuサーバーのノウハウの紹介も、反応が良いカテゴリーの記事です。

最近はコンテナネタが鉄板ではあるものの、それだけだと飽きてしまいます。そこで少し方向性を変えたのが第670回の「[Kubernetes IDEであるLensをMicroK8sで使う](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0670)」です。要するにK8s環境をデスクトップのGUIで操作しようというものですね。K8s単体ならWeb UIのDashboardがありますが、スタンドアローンのアプリケーションであるのと、クラスターに対応しているのが特徴です。

コンテナまわりだと第686回の「[Bubblewrap/bwrapを使って管理者権限なしで非特権コンテナーを作る](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0686)」で紹介したBubblewrapもなかなか面白いツールです。ユーザー権限でコンテナーが作れること、デスクトップ版のUbuntuなら最初からインストールされていることから、うまく使えば便利なスクリプトが作れるのではないでしょうか。

サーバーのメンテナンスにおいてあまり遭遇したくないのが、カーネルのクラッシュです。クラッシュしてしまえばもう再起動するしか方法がないわけですが、クラッシュした理由をはっきりさせておかないと将来また再現する可能性が残ります。そんなクラッシュを解析する方法を第673回の「[カーネルのクラッシュ情報を取得する](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0673)」や第674回の「[カーネルのクラッシュ情報を解析する](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0674)」で紹介してみました。

Software Definedなんちゃらってのが増えてきた結果、ネットワーク機器の多くも外部からソフトウェア的にコントロールできるようになってきました。そうするとそのインターフェースはある程度共通化しておかないと、相互運用性に難が出てきます。ネットワークの多ポートL2/L3スイッチのOSインストーラーとしてデファクトスタンダードの位置にいるのがONIE（Open Network Install Environment）です。これはGRUBのメニューをうまく使うことで、NOSをインストール・アンインストールしたり、ファームウェアのアップグレードする仕組みを提供しています。そのONIEを仮想マシンで動かそうというのが、第665回の「[ホワイトボックススイッチのインストール環境であるONIEを仮想マシンに構築する](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0665)」です。

あとは例のごとくLXDネタは今回も書きました。そろそろ新刊を出せるぐらいのボリュームにはなったのですが、まとめる時間がないのと、機能追加が激しすぎて、書くペースが追いつかないのです。誰か助けて。

- 第678回の「[distrobuilderでLXD/LXC用のカスタムイメージを作成する](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0678)」
- 第679回の「[LXD上にWindowsをインストールする](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0679)」
- 第680回の「[LXDコンテナ上のWindowsでWSL環境を整える](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0680)」
- 第683回の「[LXDコンテナ上にUbuntuのフルデスクトップ環境を構築する](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0683)」

第679回ではとうとうコンテナから脱却して**「LXDの上でWindowsを動かす」**状態に到達しました。このためにWindows 10のライセンスを新規に購入しています。おかげで懸案だった「WSLをRecipeで紹介する」話もなんとか達成できました。次はvTPMでWindows 11を動かすという話ですね。

## テーマ特化な連載記事

Recipeの記事は、おおよそ一回あたり数千から一万文字ぐらいの分量になっています。技術的な記事を書いた方ならわかると思いますが、これくらいの文字数だとちょっと丁寧に説明するだけであっという間に超えてしまいがちです。雑誌や書籍といった物理的な制約が存在する記事の場合、レイアウトやデザインにあわせて内容の取捨選択を行うことになります。しかしながらRecipeの場合は物理的な制約の少ないウェブ記事なので、著者が書きたいだけ書けるというメリットがあるのです。

とは言え、たくさん書いたからと言って原稿料が増えるわけでもありませんし、制約がないせいで内容が薄くなったり、発散してしまいがちです。読者としても一回の分量が長くなると読む気力が削られることでしょう。そもそも週刊連載で一回のボリュームを大きくすると執筆者・編集者への負担が大きくなります。つまり誰も幸せにならない可能性が高いのです。しかしながら特定のテーマに対して、一回では語りきれない量の話題が存在することもよくある話です。そんな事情を反映してか、最近のRecipeには「特定のテーマ」を複数回にわけて掲載する記事も存在します。

今年前半は「snapcraftパッケージングシリーズ」と勝手に題して、Ubuntu Coreで独自イメージを作る方法をまず紹介し、その後EPUBリーダーであるThorium Readerをsnap化し、Snap Storeに公開するところまでを解説しました。

- 第649回の「[Ubuntu Coreの独自イメージを作成する](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0649)」
- 第650回の「[Ubuntu Coreのインストールを自動化する](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0650)」
- 第654回の「[snapパッケージング入門](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0654)」
- 第656回の「[EPUBリーダーをsnapパッケージ化する](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0656)」
- 第658回の「[自作のsnapパッケージをコンテナ化する](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0658)」
- 第660回の「[自作のsnapパッケージをSnap Storeに公開する](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0660)」

Throium ReaderはElectronアプリケーションなので、おおよそDebianパッケージ化が難しいElectronアプリはどれでも上記の手順でビルドできます。ぜひチャレンジしてみてください。ちなみに上記で作ったパッケージは、だいたいアクティブデバイスベースで1000台ぐらいにはインストールされているようです。その北アメリカやヨーロッパで、日本を含むアジアはインドを除いてほとんどインストールされていない感じでした。

もうひとつの長編シリーズになったのがeBPFネタです。

- 第688回の「[eBPFのコンパイラーに対応したツールでさまざまな挙動を可視化する](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0688)」
- 第690回の「[BCCでeBPFのコードを書いてみる](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0690)」
- 第692回の「[sysfsやbpftoolを用いたeBPFの活用](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0692)」
- 第694回の「[libbpfとclangでポータブルなBPF CO-REバイナリ作成](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0694)」
- 第695回の「[入門BPF CO-RE](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0695)」

ここまで伸びるのは予想外で、最初は1回で終わらせる予定でした。書けば書くほど、書かなきゃいけないことが雪だるま式に増えていって、最後の回は無理やり終わらせた感じです。最後のタイトルはアクセス数を狙って付けてみたのですが、シリーズの中では一番反応が良くなかった感じです。逆に一番よかったのは2回目の第690回。いまだにどんな話が読者受けするのかよくわかりません。


## リリースごとの紹介記事

Ubuntuは半年毎にリリースしているので、半年毎に「 __今回のUbuntuリリース！__ 」みたいな記事が書けるわけです。昨年は1回しか掲載しなかったのですが、今年はきちんといくやさんが2回やってくれています。

- 第663回の「[Ubuntu 21.04の主な変更点](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0663)」
- 第687回の「[Ubuntu 21.10の変更点](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0687)」

ちなみに今年はDebian 11がリリースされた年でもありましたが、残念ながら紹介記事を掲載することはできませんでした。


## 今年のRecipe一覧

今年掲載された50回はすべてUbuntu Japanese Teamの投稿でした。チーム内の担当回数としては、柴田が29回、いくやさんが18回、水野さんと小林さんと村田さんがそれぞれ1回という内訳です。個人で半分以上はちょっと多いのでもう少しチームメンバーにお願いしたいところ。来年は新年早々に第700回を迎えることになります。

- 第648回 [デスクトップ環境の2020-2021年](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0648)（2021年1月6日：あわしろいくや）
- 第649回 [Ubuntu Coreの独自イメージを作成する](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0649)（2021年1月13日：柴田充也）
- 第650回 [Ubuntu Coreのインストールを自動化する](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0650)（2021年1月20日：柴田充也）
- 第651回 [AMD Ryzen 3 PRO 4350Gで省エネコンパクトPCを構築する](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0651)（2021年1月27日：あわしろいくや）
- 第652回 [キミはMirを憶えているか](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0652)（2021年2月3日：柴田充也）
- 第653回 [Déjà Dupで簡単バックアップ 2021年版](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0653)（2021年2月10日：あわしろいくや）
- 第654回 [snapパッケージング入門](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0654)（2021年2月17日：柴田充也）
- 第655回 [オブジェクトストレージ，MinIOを使用する](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0655)（2021年2月24日：あわしろいくや）
- 第656回 [EPUBリーダーをsnapパッケージ化する](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0656)（2021年3月3日：柴田充也）
- 第657回 [オブジェクトストレージ，MinIOを使用する［クライアント編］](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0657)（2021年3月10日：あわしろいくや）
- 第658回 [自作のsnapパッケージをコンテナ化する](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0658)（2021年3月17日：柴田充也）
- 第659回 [systemd-nspawn+pbuliderでパッケージのビルド環境を整える](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0659)（2021年3月24日：あわしろいくや）
- 第660回 [自作のsnapパッケージをSnap Storeに公開する](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0660)（2021年3月31日：柴田充也）
- 第661回 [リモートデスクトップビューアー，Remminaを使用する](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0661)（2021年4月7日：あわしろいくや）
- 第662回 [Docker+Selenium ServerでWebブラウザ自動操作環境を作る](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0662)（2021年4月14日：小林準）
- 第663回 [Ubuntu 21.04の主な変更点](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0663)（2021年4月21日：あわしろいくや）
- 第664回 [スマートフォンをWebカメラとして使う](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0664)（2021年4月28日：柴田充也）
- 第665回 [ホワイトボックススイッチのインストール環境であるONIEを仮想マシンに構築する](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0665)（2021年5月6日：柴田充也）
- 第666回 [Waypipeを用いてWayland環境で「X転送 over SSH」っぽいことをしてみる](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0666)（2021年5月12日：柴田充也）
- 第667回 [Warpinatorでお手軽LAN内ファイル転送](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0667)（2021年5月19日：あわしろいくや）
- 第668回 [CATTでCLIからGoogle系スマートデバイスにキャストする](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0668)（2021年5月26日：柴田充也）
- 第669回 [Ubuntuとデスクトップフォルダー機能](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0669)（2021年6月2日：あわしろいくや）
- 第670回 [Kubernetes IDEであるLensをMicroK8sで使う](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0670)（2021年6月9日：柴田充也）
- 第671回 [パッケージのアップデートとアップグレードを制御する](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0671)（2021年6月16日：あわしろいくや）
- 第672回 [UTMを使ってM1 Mac上でUbuntuを動かす](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0672)（2021年6月23日：水野源）
- 第673回 [カーネルのクラッシュ情報を取得する](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0673)（2021年7月7日：柴田充也）
- 第674回 [カーネルのクラッシュ情報を解析する](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0674)（2021年7月14日：柴田充也）
- 第675回 [apt-keyはなぜ廃止予定となったのか](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0675)（2021年7月21日：柴田充也）
- 第676回 [aptコマンドの最新機能あれこれ](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0676)（2021年7月28日：柴田充也）
- 第677回 [aptで使うsources.listのオプションいろいろ](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0677)（2021年8月4日：柴田充也）
- 第678回 [distrobuilderでLXD/LXC用のカスタムイメージを作成する](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0678)（2021年8月11日：柴田充也）
- 第679回 [LXD上にWindowsをインストールする](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0679)（2021年8月18日：柴田充也）
- 第680回 [LXDコンテナ上のWindowsでWSL環境を整える](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0680)（2021年8月25日：柴田充也）
- 第681回 [BluetoothヘッドセットでHD Voiceを使う](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0681)（2021年9月1日：村田信人）
- 第682回 [GNOMEのオンラインアカウント機能を極める](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0682)（2021年9月8日：あわしろいくや）
- 第683回 [LXDコンテナ上にUbuntuのフルデスクトップ環境を構築する](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0683)（2021年9月15日：柴田充也）
- 第684回 [UbuntuからRaspberry Pi Picoを使う](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0684)（2021年9月22日：柴田充也）
- 第685回 [音楽プレイヤーRhythmboxのさまざまな機能](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0685)（2021年9月29日：あわしろいくや）
- 第686回 [Bubblewrap/bwrapを使って管理者権限なしで非特権コンテナーを作る](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0686)（2021年10月6日：柴田充也）
- 第687回 [Ubuntu 21.10の変更点](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0687)（2021年10月13日：あわしろいくや）
- 第688回 [eBPFのコンパイラーに対応したツールでさまざまな挙動を可視化する](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0688)（2021年10月20日：柴田充也）
- 第689回 [Ubuntu 21.10でFcitx 5を使用する](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0689)（2021年10月27日：あわしろいくや）
- 第690回 [BCCでeBPFのコードを書いてみる](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0690)（2021年11月4日：柴田充也）
- 第691回 [Intel Core i3-10105で省エネコンパクトPCを構築する](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0691)（2021年11月10日：あわしろいくや）
- 第692回 [sysfsやbpftoolを用いたeBPFの活用](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0692)（2021年11月17日：柴田充也）
- 第693回 [Ubuntuでも2.5GbEを使用する](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0693)（2021年11月24日：あわしろいくや）
- 第694回 [libbpfとclangでポータブルなBPF CO-REバイナリ作成](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0694)（2021年12月1日：柴田充也）
- 第695回 [入門BPF CO-RE](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0695)（2021年12月8日：柴田充也）
- 第696回 [UbuntuでもWi-Fi 6を使用する](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0696)（2021年12月15日：あわしろいくや）
- 第697回 [AMD Ryzen 7 5800Xで学ぶ，Ubuntuにおけるシステムの動作確認](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0697)（2021年12月22日：柴田充也）


## まとめ

今年のUbuntu Weekly Recipeはいかがでしたでしょうか。読んだ記事・読んでない記事・書いた記事の振り返りとして参考になれば幸いです。