2020-12-13

Linux ディストロ探訪(24) 〜 Pop!_OS 〜

Linux ディストロとして人気が高い Ubuntu には多くの派生ディストロが存在します。Ubuntu のデスクトップ環境は GNOME が採用されていますが、別のデスクトップ環境を試したい場合、Kubuntu (KDE)、Xubuntu (Xfce)、Lubuntu (LXQt) などの派生ディストロを利用することができます。

Ubuntu の派生ディストロというと、このようにデスクトップ環境が異なるものが挙げられますが、それだけではありません。今回は、デスクトップ以外の特徴を持った Ubuntu 派生のディストリビューション Pop!_OS を紹介します。

Pop!_OS のデスクトップ画面

Pop!_OS とは

Wikipedia のサイトにある Pop!_OS の説明を要約しました。

Pop!_OS は Ubuntu をベースにした Linux ディストロで、アメリカの Linux コンピュータメーカー System76 によって開発およびメンテナンスされています。System76 は Pop!_OS をプリインストールした PC を販売していますが、Pop!_OS のインストール用 ISO イメージは無料で公開されています。

Pop!_OS は AMD と Nvidia 両方の GPU をサポートしています。そのため Pop!_OS は、ゲーム用に設定するのが簡単なディストリビューションとみなされています。

特徴

  • カスタマイズされたGNOMEシェルインターフェイス。
  • GPU によるビデオモードを切り替えるため、ハイブリッド、ディスクリート、iGPU(CPU統合GPU)のみ、の 3 つの表示モードがあります。
  • Clear Linux ディストロで開発された電源管理パッケージを利用できます。
  • プロプライエタリなデバイスドライバ、特に Nvidia のドライバは Wayland をサポートしていないため、X.Org Server のみを使用しています。
  • TensorFlow や CUDA 対応のプログラムを、Pop!_OS のリポジトリからインストールできます。

インストール

インストーラは elementary OS と提携して構築したカスタムインストーラーです [2]

Pop!_OS by System76 から Pop!_OS 20.10 (pop-os_20.10_amd64_intel_3.iso) をダウンロードして、Fedora 33 上の GNOME Boxes の仮想環境へインストールしました。

まずは言語、キーボードのレイアウトの設定をします。

 

インストール先のストレージ選択と暗号化して保護した際のパスワードを設定をします。

 

インストールが始まります。修了後、再起動します。

 

再起動後、設定したパスワードを入力して、暗号化した保護を解除します。

 

タイムゾーン、ユーザーアカウントなどを設定します。

リフレッシュ・インストール

仮想環境にインストールした時には無かったのですが、テスト用 PC にインストールしてみたところ /recovery というパーティションが作られていました。

下記リンクによると、この /recovery パーティションは、Pop!_OS インストールディスクのフルコピーだそうです。

Pop!_OS のライブディスクコピーを USB ドライブから起動した時と全く同じように使用することができ、既存の Pop!_OS になにか障害が起きた時に、リカバリーモードから修復または再インストールすることができるとのことで、その際、ホームディレクトリ内のユーザーデータやデータはそのまま残るとのことです。

そう書かれていても、テスト機にインストールした Pop!_OS は、起動すると GRUB のメニュー画面が表示されずに、Windows の BitLocker のように、暗号化したストレージのパスワードを入力する画面になります。パスワードを入力するとログインの画面になってしまうため、リカバリーモードに入る方法が判りませんでした。

単に自分の理解が足りないだけなのかもしれませんが、試行錯誤を繰り返したところ、リフレッシュ・インストールのやり方をひとつだけ確認できました。

ストレージの暗号化をせずに Pop!_OS をインストールした場合、再度インストール時に使用した USB メモリを挿入して USB メモリにあるインストールイメージを起動すると、インストール時に下記のようにリフレッシュ・インストールをする選択ができます。

デスクトップのタイル表示

Pop!_OS のデスクトプ環境は GNOME ですが、トップバーにあるをクリックして、タイル表示に切り替えることができます。

デスクトップ画面をタイル表示に切り替えた例

TensorFlow や CUDA 対応のプログラム

Pop!_OS が GPU に対応していてゲーム指向の Linux ディストロとみなされているということは、GPU 利用した機械学習やディープラーニングにも利用できると言えます。実際、System76 は独自のリポジトリを用意して、GPU に対応した TensorFlow や CUDA を提供しています。パッケージ名は system76- から始まります。

例えば、CUDA を利用した TensorFlow を利用するには、以下のようにしてパッケージをインストールできますが、テスト機は GPU を搭載していないので、そもそも正常に動作しません。GPU を搭載している環境に Pop!_OS をインストールした場合には、単に sudo apt install tensorflow-cuda-latest とするだけでインストールできるのかもしれません。

bitwalk@pop-os:~$ sudo echo "deb http://apt.pop-os.org/proprietary bionic main" | sudo tee -a /etc/apt/sources.list.d/pop-proprietary.list
deb http://apt.pop-os.org/proprietary bionic main
bitwalk@pop-os:~$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key 204DD8AEC33A7AFF
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
Executing: /tmp/apt-key-gpghome.99oX34Uu4i/gpg.1.sh --keyserver keyserver.ubuntu.com --recv-key 204DD8AEC33A7AFF
gpg: 鍵204DD8AEC33A7AFF:"Pop OS (ISO Signing Key) "変更なし
gpg: 処理数の合計: 1
gpg:              変更なし: 1
bitwalk@pop-os:~$ sudo apt update
...
(途中省略)
...
パッケージはすべて最新です。
bitwalk@pop-os:~$ sudo apt install tensorflow-cuda-latest
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  autoconf autogen autogen-doc automake autotools-dev cmake cmake-data cpp-7 freeglut3 freeglut3-dev g++-7 gcc-7
  gcc-7-base gcc-8-base guile-2.2-libs libasan4 libcilkrts5 libegl-dev libgc1 libgcc-7-dev libgl-dev libgl1-mesa-dev
  libgles-dev libgles1 libglu1-mesa-dev libglvnd-dev libglx-dev libice-dev libjsoncpp1 libltdl-dev libmpx2
  libopengl-dev libopengl0 libopts25 libopts25-dev libpthread-stubs0-dev libpython2-stdlib libpython2.7-minimal
  libpython2.7-stdlib librhash0 libsigsegv2 libsm-dev libstdc++-7-dev libtool libubsan0 libx11-dev libxau-dev
  libxcb1-dev libxdmcp-dev libxext-dev libxmu-dev libxmu-headers libxt-dev m4 mlocate python python2 python2-minimal
  python2.7 python2.7-minimal system76-cuda system76-cuda-9.2 system76-cudnn-9.2 tensorflow-1.9-cuda-9.2
  x11proto-core-dev x11proto-dev x11proto-xext-dev xorg-sgml-doctools xtrans-dev
提案パッケージ:
  autoconf-archive gnu-standards autoconf-doc gettext cmake-doc ninja-build gcc-7-locales g++-7-multilib gcc-7-doc
  gcc-7-multilib libice-doc libtool-doc libsm-doc libstdc++-7-doc gfortran | fortran95-compiler gcj-jdk libx11-doc
  libxcb-doc libxext-doc libxt-doc m4-doc nocache python2-doc python-tk python2.7-doc
以下のパッケージが新たにインストールされます:
  autoconf autogen autogen-doc automake autotools-dev cmake cmake-data cpp-7 freeglut3 freeglut3-dev g++-7 gcc-7
  gcc-7-base gcc-8-base guile-2.2-libs libasan4 libcilkrts5 libegl-dev libgc1 libgcc-7-dev libgl-dev libgl1-mesa-dev
  libgles-dev libgles1 libglu1-mesa-dev libglvnd-dev libglx-dev libice-dev libjsoncpp1 libltdl-dev libmpx2
  libopengl-dev libopengl0 libopts25 libopts25-dev libpthread-stubs0-dev libpython2-stdlib libpython2.7-minimal
  libpython2.7-stdlib librhash0 libsigsegv2 libsm-dev libstdc++-7-dev libtool libubsan0 libx11-dev libxau-dev
  libxcb1-dev libxdmcp-dev libxext-dev libxmu-dev libxmu-headers libxt-dev m4 mlocate python python2 python2-minimal
  python2.7 python2.7-minimal system76-cuda system76-cuda-9.2 system76-cudnn-9.2 tensorflow-1.9-cuda-9.2
  tensorflow-cuda-latest x11proto-core-dev x11proto-dev x11proto-xext-dev xorg-sgml-doctools xtrans-dev
アップグレード: 0 個、新規インストール: 70 個、削除: 0 個、保留: 0 個。
1,845 MB のアーカイブを取得する必要があります。
この操作後に追加で 6,562 MB のディスク容量が消費されます。
続行しますか? [Y/n] y
取得:1 http://apt.pop-os.org/proprietary bionic/main amd64 system76-cuda amd64 0pop2 [20.5 kB]
...
(以下省略)

まとめ

項目 説明
ディストリビューション Pop!_OS
プロジェクトサイト https://github.com/pop-os
デスクトップ環境 GNOME
対応プラットフォーム x86_64
パッケージ管理 APT, deb
日本語入力 ibus-mozc
寸評

自社が販売する PC にプリインストールするために Ubuntu ベースの Linux ディストロ Pop!_OS を作り、GPU 対応のパッケージを共有するなどの付加価値をつけて、Ubuntu との差別化を図っています。そしてオープンソースだから他のユーザーにも Pop!_OS を公開しています。

アメリカ合衆国コロラド州デンバーに拠点を置く System76 社は非公開企業なので、どのぐらい収益が上がっているのかは判りませんが、日本にも進出するぐらい大きくなって、もっとプリインストールされた Linux PC が普及すればいいなと思っています。

参考サイト

  1. Pop!_OS by System76
  2. Learn about the new Pop!_OS flavor of Linux from System76 | Opensource.com [2018-01-17]
  3. Install CUDA and cuDNN - System76 Support
  4. (2) Pop OS/ Python / Tensorflow setup : pop_os [2018-20-21]

ブログランキング・にほんブログ村へ
にほんブログ村

0 件のコメント: