「Linuxデスクトップ元年」から20年経った

僕にとってはLinuxデスクトップ元年は学部4回生だった1999年あたりにきて、一瞬(研究室でMacbookを買ってもらって結局firefox+emacs+端末しか触らなくなったという)浮気した時期があったものの20年ほど主なデスクトップ環境としてはLinuxだけを使う生活をしています。

たまにバグレポートをするくらいで積極的に開発に参加しているわけではない身ですが、いろいろなものが順当に進化しているなと思っています。

あとこれは僕がたまたまそうなだけで一般的には言えない話なのですが、仕事でLinuxに詳しくなったのがそのまま日常生活に有益だし、その反対もあるのでLinuxデスクトップすごくいいです。日常でちょっとハマッた時に仕事の知見がつかえるのはかなりお得感があります。

ちょうど2019年も今日で終わりですので、僕の記憶からここ20年くらいのLinuxデスクトップについての思い出や感想をつらつら書いていきます。裏をとらずに記憶や気分で書くので間違いも多いかと思います。気になることがあればコメントください。

  • デスクトップ環境の大幅な進化

    • 20年前だとまだSolarisはCDEがデフォルトだった気がします。僕もfvwm2とか愛用してました。友人がビルドしたKDE 1を見て「すげーwindowsの真似すげー」って叫んだ日を覚えています。
    • GNOMERHELやSLES, Solarisの標準的なデスクトップ環境になって(人的に)強化され、3.x初期には機能劣化があったものの順当に成長して日常的に使って困ることはほとんどない環境になっています。
    • KDEは何回かトライしたのですが最近は触っていません。カスタマイズ沼は好きなんですがね……。
  • 綺麗なフォント

    • 良い日本語アウトラインフォントがなかったのが昔話になったの、本当にありがたいです。
    • IPAフォント関係者の皆様ありがとうございます。本当に助かりました。
    • Notoフォント関係者の皆様ありがとうございます。ウェイトもたくさんあって素晴らしいです。
  • StarOfficeOpenOfficeLibreOffice

    • 学生や前職のあいだはオフィススイートを使うことはほぼなくて、Red Hatに入社してから使うようになりました。StarOffice(日本では商標の関係でStarSuite)は機能はともかくクラッシュ頻度がやばかったですね。LibreOfficeになる前後あたりから本当にすごく良くなった気がします。
    • 直接関係ないですがRed Hat社内にはlibreoffice-list というメーリングリストがあって「このファイルがバグった。たすけてー」って投げられるの最強の福利厚生だと思ってます。
  • ブラウザ上で動くもの、ブラウザをベースとしたアプリケーションの進化と普及

    • これはLinuxデスクトップが良くなったという話ではないのですが、日常的に「ドキュメント書くのもメールもチャットもカレンダーもビデオ会議も他社サービスのコンソールも社内システムもみんなブラウザで1日ブラウザばっかり使ってた……」というような日が増えてきました。
    • LinuxにはFirefoxChromiumChromeもあるので「Safari/Edgeでの見た目を確認したい」というケースでなければ日常ほとんど困ることはありません。環境チェックが厳しいサイトはひっかかることがあるのですが、できればe-taxみたいに「警告はわかったけど強行する」みたいな選択肢がほしいです。
    • 2015〜17年ごろは Adobe flashのバージョン差異のため動作しないサイトを見ることがたまにありました。flashそのものが2020年に終わるということで現在ではこの問題も事実上なくなりつつあります。
  • systemdやNetworkManagerによる足回りの整備

    • systemdによる世界征服が順調に進んできた結果デスクトップ環境にも各種の恩恵があります。
    • サスペンド/ハイバネート/電源管理 の標準化
    • オンデマンドなサービス起動(systemd+udevでハードウェア挿抜によるサービス起動、systemdのsocket activationでサービス呼び出し時にはじめてサービス起動、など)
    • systemd-logindによるmulti-head環境対応
    • 多数の無線基地局の接続情報を管理しつつダイナミックに実際の設定を変更するNetworkManager
  • ソフトウェア開発環境としてのLinux地位向上

    • (Red Hatがリードできなかったのはくやしいですが、) Ubuntuが精力的にデスクトップ環境としての地位を固めていったおかげで「IaaS上ではLinux上で動作させるソフトウェアを開発するのに手元がWindows/Macじゃなくていいよね」という風にかわってきたように感じます。
    • 特にREST API叩きながらアレコレする時に、API提供する側のサンプルがsh+curlだったり、各種Public CloudサービスのドキュメントにLinux/Windows/Macの手順が併記されているのを見るとそのように思います。
    • JetBrainsのIDE群がLinuxに対応してるのも大きいですね。
  • Waylandがついにきそう

    • 長い、本当に長い開発期間を経て各種ディストリビューションでWaylandがデフォルトになっています。
    • まだスクリーンキャプチャあたりに過渡期感がありますが、既に一般的なデスクトップ用途ならWaylandの方がいいんじゃないかと思うようになっています。
  • かな漢字変換、入力メソッド

    • 僕自身は1996年くらいからずっとSKKを使っているのであまり何も困ってはいないのですが、mozcのメンテナンスが止まってしまい、日本語かな漢字変換が潤沢に提供されているとは言いにくい状態です。辞書のメンテナンスひとつとっても膨大な開発者の労力が必要なので、AndroidやChromiumOSなどの開発努力にのっかれるような工夫があるといいのかもと思ったりはします。
  • Steamによるゲーム

    • さすがにWindowsに勝てる気はしませんが、20年前には思いもしなかったほど状況がよくなりました。
    • ValveのSteamがLinux対応したことと、ゲームエンジンLinux対応も進んでいるおかげでかなり大量のゲームが存在します。昨日もOxygen Not IncludedやFaster than lightで遊びました。
  • flatpak, snapdなどによる配布

    • Linuxにはさまざまなディストリビューションがあり、間違いなくLinux利用者にはよいことなのですが、デスクトップアプリケーションを開発する側からみると「それぞれのパッケージング技術、ポリシー、リリースタイミング、現在のライブラリバージョンなどがバラバラなのに対応するのは大変しんどい」という点が大きな問題です。
    • ArchのAURや、Gentooなどのようにユーザが自前でビルドするのだと割りきってしまえればいいのですが個人的には選んでダウンロードしてすぐ使いたいです。
    • flatpak, snapdなどコンテナ技術を参考にした配布方式が登場したことで、ディストリビューションのパッケージや、新旧バージョンの競合を心配せずに複数ディストリビューションへ対応したバイナリを配る基盤がととのいつつあります。
    • 間にディストリビューションが介在しないこのモデルは、ユーザがサポート窓口などを必要とする場合にはうまくマッチしませんが、upstream開発者とエンドユーザの距離が近くなること自体は最新版へのフィードバックが増えることに繋がります。エンドユーザむけ掲示板などとの組み合わせでうまい形で広まるといいなと思っています。
  • オンラインサービス・デバイスとの連携

    • ブラウザ上で各種の操作ができるのはいいのですが、オンラインサービスと連携して動作する点は不安のあるところです。
    • たとえばGNOME Online AccountsではGoogle, Facebook, Microsoft, Nextcloudなどとの連携が可能で Google DriveをNetwork Driveのように扱うこともできますが、数えきれないほど沢山あるオンラインサービス(の内デスクトップと連携できるといいもの)から考えるとほんのわずかです。
    • またデバイスも、wacom製以外のペンタブレットでは設定ツールがないなど対応が手薄です。
    • オンラインサービス・デバイス側に十分なモチベーションがない限りこの手の問題は解決しませんので、たくさんのユーザに使ってもらい、シェアをとっていく活動は大事です。

来年こそみんなにとってのLinuxデスクトップ元年がきますように (-人-)