Linux ディストロとして人気が高い Ubuntu には多くの派生ディストロが存在します。Ubuntu のデスクトップ環境は GNOME が採用されていますが、別のデスクトップ環境を試したい場合、Kubuntu (KDE)、Xubuntu (Xfce)、Lubuntu (LXQt) などの派生ディストロを利用することができます。
Ubuntu の派生ディストロというと、このようにデスクトップ環境が異なるものが挙げられますが、それだけではありません。今回は、デスクトップ以外の特徴を持った Ubuntu 派生のディストリビューション 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 が普及すればいいなと思っています。 |
参考サイト
- Pop!_OS by System76
- Learn about the new Pop!_OS flavor of Linux from System76 | Opensource.com [2018-01-17]
- Install CUDA and cuDNN - System76 Support
- (2) Pop OS/ Python / Tensorflow setup : pop_os [2018-20-21]
にほんブログ村
0 件のコメント:
コメントを投稿