Ubuntu日和

【第38回】ノートPCでもUbuntuを使ってみよう!

購入後に初めて電源投入してから数時間にはUbuntuがインストールされることになった哀れなノートPC

 前回の記事では、Ubuntuのストレージを暗号化する方法を紹介した。暗号化自体は、デスクトップPCでもノートPCでもサーバーマシンでも、有効な手法だ。ここで1つ疑問が出てくる。

 「 えっ、ノートPCにわざわざLinuxをインストールしている人がいるんですか?

 今回は「そんな人もいるんです。だから石を投げないでください」という話だ。具体的にはUbuntuをノートPCにインストールする上で知っておいたほうが良いことを紹介しよう。

ノートPCにLinuxをインストールするメリット

 古来よりノートPCにLinuxをインストールことは普通に行なわれてきた。しかしながらデスクトップPCに比べるといくつかのハードルが存在する。

  • ディスプレイとマザーボードへの接続が特殊
  • マウスと異なりタッチパッドの接続方法が特殊
  • バッテリ情報の取得方法が特殊
  • Wi-Fi/Bluetoothのチップが特殊
  • ファンクションキーの挙動が特殊
  • そのほか各種ポート・拡張バス・デバイスが特殊

 一般的なWindows/macOSが搭載されたノートPCであれば、このあたりはベンダーが必要なACPIテーブルを用意し、デバイスドライバをインストールしてくれる。よってユーザーは、OSを再度クリーンインストールする時(かOSをバージョンアップする時)ぐらいしか、「デバイスドライバがない」なんてことには遭遇しない。

 それに対してLinuxの場合は、「 どんなデバイス・チップを採用しているのか 」さらに「 それに対してLinux用のドライバはあるのか 」なんて調査から始まる。そしてそんな情報をベンダーがLinuxユーザーのために提供してくれるとは限らない。そこでLinuxユーザーは、実際に買って実機を確認するとか、公開されているBIOS/ドライバ/ファームウェアの中身からデバイスを類推するなんてことを行なわなくてはいけなかった。

 ただしこれはもうほぼ「過去の話」になりつつある。特に「PCIeとUSBの登場および普及」と「IntelによるCentrinoとかUltrabookなどのブランド戦略」によるところが大きい。つまりノートPCの内部接続として標準化されたものを使用したり、積極的にカーネルなどへ自社製品向けのコードをコミットしているIntel製のCPUやWi-Fi、iGPUなどを使うようになったのだ。結果的に最近のノートPCなら、基本的な機能に加えて大抵のデバイスが「インストールしただけで動く」状態だ。

 よって、昨今のノートPCにLinuxを「 インストールするだけ 」ならそこまで難しくない。「だけ」と付けているのはつい最近に、劉デスクから「7年前のノートPCにUbuntu入れてみたけど、ネットに繋いだら固まる」というコメントが寄せられて「ふぁっ!?」ってなったからだ。まぁ、そういうこともあるかもしれない。

 もしノートPCにLinuxをかんたんにインストールできるとなると、どんな用途/利点があるだろうか? もちろん「固まる」ような問題が置きたら、生きる希望が湧いてくるとかそういう先進的な発想は抜きにすると、よくあるのは次のような感じだろう。

  • 古いマシンの再利用
  • UPS付きサーバーとして
  • モバイルモニター付き薄型端末として

 これらはどうしても「ノートPCの余生」的な使い方だ。これはこれで便利で有用ではある。では、買ったばかりのノートPCにLinuxをインストールする利点はあるだろうか。真面目に回答すると、「そんなものは存在しない」。もちろんゼロではないのだが、利点に対してはどうしてもデメリットが付いて回るか、特殊なケースでの利点でしかなくなるのだ。正直な話、ノートPCでUbuntuを使いたかったら、まずはWSLかVirtualBoxを検討することをおすすめする。実際、周囲のLinuxユーザーでも「ラップトップはWindowsやmacOS」という人が多い。

 それを踏まえた上でUbuntuをインストールするとなると、「普段使っているPCと同じ操作性を出先でも」とか「カーネルも含めたカスタマイズ製の高さ」とかだろうか。今なら「AI/ML用」というのも候補にあげても良いかもしれない。まあ、いろいろ異論/反論があることは分かる。

 ちなみにUbuntuをインストールしたところで、外観やハード特性が変わるわけではない点には安心して欲しい。堅牢性は堅牢なままだし、世界最軽量は世界最軽量なままだ。Ubuntuのほうがストレージの使用量が違うので、ひょっとすると重量差が微粒子レベルで存在するかもしれない。

 いずれにせよ、新品のノートPCにUbuntuを入れるのは、現時点では特殊な性癖の持ち主だと思っておけば良いだろう。というところで、今回の予防線をはってハードル下げておく部分は終了だ。

Linux向けのノートPCの選び方

 さて、新しいノートPCにUbuntuをインストールするとして、どのように選べば良いだろうか。具体的には次のような順番で選ぶと良いだろう。

  • Ubuntu CertifiedなノートPC
  • Ubuntuモデルを出しているブランドの類似モデル
  • 国内外でユーザーが多いモデル
  • 検索してUbuntuを含むLinuxをインストールしている人がいるモデル

 Ubuntuでは「Ubuntu Certified」と銘打って、Ubuntu(具体的にはCanonical)が認定を行なったマシンを公開している。これは主にサーバーマシン向けの仕組みだが、ノートPC(Laptop)も結構な種類がある。例えばUbuntu 22.04 LTSに対応したモデルだと、「Lenovo ThinkPad T14 Gen 4」なんて標準的なものから、Ryzen+GeForceな「HP ZBook Power G10 A」まで、多種多様だ。主にHPやDell、Lenovoに対応していて、カーネルもこれらのデバイスをサポートしたもの(OEMカーネル)が用意されている。

Ubuntu Certifiedのサイトでは、認定済みのデバイスを検索できる

 OEMカーネルに関しては、Ubuntuをインストールする際に自動的に判定されるようにもなっているが、手動でインストールすることも可能だ。Ubuntu 22.04 LTS向けだと「sudo apt install linux-oem-22.04c」と実行すると、OEMカーネルがインストールされる。これらのUbuntu Certifiedなマシンについては、Ubuntuが提供している各種パッケージにおいてもサポートされていることがあるため、問題に遭遇する可能性は一番低くなるだろう。

 またUbuntu Certifiedかどうかに関係なく、HP/Dell/Lenovo以外のベンダーも、UbuntuがプレインストールされたノートPCを販売している。残念ながら国内では買えないケースが多いが、海外と国内でOSだけ異なるモデルを販売していることもあるため、それを採用するという手もある。

 国内外でユーザーが多いモデルであれば、「誰かがなんとかしてくれている」ケースも多い。少なくともインストールして起きた問題をインターネット上に公開していることが多いので、とりあえず「モデル名 linux」で検索してみると良いだろう。AppleのMacBook系はノートPCと比べると少し特殊な扱いではあるが、ユーザーが多いせいかそれなりに情報が豊富だ。特にApple Siliconに移行してからは「Asahi Linux」という専用のディストリビューションもできている。Ubuntuにこだわらず、「そのマシンで使っている人が多いLinuxディストリビューション」を選ぶのも良い選択肢だろう。

 今回は富士通クライアントコンピューティングの超軽量モバイルノートPC「LIFEBOOK WU-X/H1」に、Ubuntuをインストールすることにする。HPやDellに比べてユーザーが多いわけではないが、Hothotレビューでも紹介されているように、最軽量なモデルということもあってユーザーはそれなりに多く、そのうちいくらかはLinuxをインストールしている。さらに大きな問題に遭遇していなさそうなのもポイントの1つだ。ちなみにWU-X/H1はWeb直販モデルとなる。ハードウェア自体はUH-X/H1と同じだ。実際持ってみると、心配になるほど軽い。ACアダプターも小さくて軽いので、アダプタ込みの持ち運びもアリだろう。

 「 Ubuntuのどのリリースをインストールするか 」も悩むポイントだ。新しいノートPCだと新しいデバイスが使われていることが多いため、新しいカーネルやソフトウェアでないときちんと動かないケースもある。Ubuntuなら、2年に1回リリースされて5年以上サポートされる「LTSリリース」と、半年に1回リリースされて9カ月しかサポートされない「通常リリース」の2種類が存在する。LTSで動くようなら問題ないが、発売されたばかりのモデルなら通常リリースをインストールしておいて、次のLTSがリリースされてそれにアップグレードしたら、以降はLTSのみで運用するのもいいかもしれない。

 今回は2023年の10月にリリースされた通常リリース版である「Ubuntu 23.10」をインストールすることにした。次のLTSは2023年4月なので、半年待てばLTS版が出ることになる。

デュアルブートは「オワコン」か?

 ノートPCにUbuntuをインストールする上で、最初に出てくる問題が「プレインストールされたWindowsどうする? 」という点だ。これは次のような選択肢が出てくる。

  • WindowsとUbuntuのデュアルブートにする
  • Windowsをどこかに退避させる
  • Windowsの存在はなかったことにする

 「デュアルブート」はストレージを分割し、それぞれにWindowsとUbuntuを入れ、ブートローダーでどちらを起動するか切り替える方式だ。太古の昔より、WindowsマシンにLinuxをインストールする方法として採用されてきた。しかしながら現代では、メリットよりもデメリットが大きく、あまりおすすめできない方式なのだ。

 まず最初に、UEFIやセキュアブート、BitLockerや高速ブートなど、ブートシステム部分が高機能化/複雑化している点だ。昔はブートローダーがちょこっとがんばれば、LinuxでもWindowsでも起動できたのだが、現在ではこれらの機能も含めてきちんと動くようにするとなると相当頑張らないといけない。

 さらにリカバリ領域がパーティションとして用意されるようになったこと、Windowsに必要な領域は増えているのにSSD化に伴いストレージサイズが減る傾向になったことも、デュアルブートにとっては向かい風となっている。特にUbuntuの場合、ストレージがBitLockerで暗号化されている場合、Ubuntuをクリーンインストールするしか手がなくなる。

1GBのESPと3GBのリカバリ領域を残しつつ、CドライブをWindows側に影響が出ない程度に削減するのは結構難しい

 特別な事情がない限り、デュアルブートは避けたほうが良いだろう。もしWindowsもUbuntuも使いたいということであれば、デュアルブートではなく仮想マシンを活用することをおすすめする。

 ただUbuntuをインストールする場合も、何らかの方法でWindowsを退避させておくことも重要だ。これは何らかの理由でメーカーの保証を受ける必要が出てくるかもしれないからだ。一番お手軽なのは、「リカバリディスク」を作っておくことだろう。最近は32GiBのUSBメモリでも2,000円以下で購入できるため、ちょっとコンビニまで行って買ってきたUSBメモリでリカバリディスク作って、机の奥に放り込んでおくだけでOKだ。

 もう少し金銭的余力があるなら、ノートPCのストレージをまるごと載せ替えるという手もある。つまりWindowsがプレインストールされたSSDを退避/保管しておいて、別途用意したSSDで運用する方式だ。ただしこれはSSDの交換をサポートしているノートPCのみに限られる。あとノートPCの場合は、搭載できるSSDのフットプリントに制約があるかもしれない点にも注意が必要だ。交換できない場合は、USB接続のストレージを用意してそこにまるごとバックアップしてしまおう。

 例えば本連載の第20回では、「Clonezilla」を利用したストレージバックアップの方法を紹介している。これはClonezilla入りのLiveイメージでUSBから起動し、外付けのSSDにイメージ単位でバックアップを取る方法となる。

 メーカー保証が切れているようなマシンなら、Windows領域を消してしまうのも手だろう。もったいない気もするが、時には退路を断つことも必要なのだ。

 なお、Windowsのバックアップを取る前に、初期設定/Windowsアップデート/各種ハードウェアの動作確認は済ませておこう。そうしないと初期不良なのかUbuntuの問題なのか切り分けが難しくなるからだ。もちろんUbuntuをインストールして本格的に使い始めたことで初期不良が発覚するということもなくはないのだが、そこはもう運が悪かったと諦めて欲しい。そもそもメーカーがプレインストールしたOS以外を使うこと自体が、メーカーの保証対象外であることは念頭に置いておくように。

インストールしたあとに確認すべきこと

 さて、晴れてノートPCにUbuntuをインストールできるようになったわけだが、インストール自体は普通のPCと変わりはない。インストールしたあとに、まず最初にどのデバイスが動いて、どのデバイスが動かないかを確認しておこう。もちろんインストーラのLive環境で確認できるものは、その時点で確認したほうが良い。とは言え、日頃から自作PCなどに触れている読者であれば釈迦に説法だろう。ここではあまり細部に踏み込まず、Ubuntuならどうするかについて言及していく。

デバイスの確認

 Ubuntuを含むLinuxの場合、そもそも搭載されているデバイスが認識されているのかという問題がある。このあたりいろいろな方法はあるものの、Ubuntuの場合は「とりあえずCLIで情報をダンプしたファイルを取っておけ」というのが定番だ。この方法なら、わざわざ新しいパッケージをインストールする必要もないし、デスクトップでもサーバーでも同じ方法が使える。テキストデータとして出力されるので、Gistやgitリポジトリ等に保存しやすいし、grepコマンド等での検索/整形も容易だ。というわけで、定番で追加インストールが不要なものだけをいくつか紹介しておこう。

 デバイスの認識は原則としてLinuxカーネルやそのモジュールが行なう。カーネルは起動時のログを、ログバッファに溜め込んでいて、それは「dmesg」コマンドで表示可能だ。これを読めるようになると、どんなデバイスがどの順番で認識されて、その際にどのドライバがロードされたかがわかるようになる。最初のうちは「よく分からない文字列の羅列」だが、慣れてくると少しずつ読めるようになるので、気になる挙動が出てきたときはざらっと眺めておくと良いだろう。特に何かデバイスを接続した時は末尾に新しい情報が追加されるので、USBデバイスなどでは特に参考になるかもしれない。

カーネルの起動ログであるdmidecode
$ sudo dmesg
[    0.000000] Linux version 6.5.0-10-generic (buildd@lcy02-amd64-118) (略)
[    0.000000] Command line: BOOT_IMAGE=/vmlinuz-6.5.0-10-generic root=/dev/mapper/ubuntu--vg-ubuntu--lv ro quiet splash vt.handoff=7
[    0.000000] KERNEL supported cpus:
[    0.000000]   Intel GenuineIntel
[    0.000000]   AMD AuthenticAMD
[    0.000000]   Hygon HygonGenuine
[    0.000000]   Centaur CentaurHauls
[    0.000000]   zhaoxin   Shanghai
(中略)
[    0.000000] SMBIOS 3.4.0 present.
[    0.000000] DMI: FUJITSU CLIENT COMPUTING LIMITED FMVUH01003/FJNB2FF, BIOS Version 1.09 09/08/2023
(中略)
[   11.052537] Bluetooth: RFCOMM TTY layer initialized
[   11.052561] Bluetooth: RFCOMM socket layer initialized
[   11.052576] Bluetooth: RFCOMM ver 1.11
[   12.056993] rfkill: input handler disabled

 Windowsで言うところの「デバイスマネージャー」のCLI版とも言うべき存在が「lshw」コマンドだ。これはシステムで認識されているハードウェアを一覧表示するのに便利なコマンドで、HTMLやJSONなどにも変換できる。とりあえず使い方を覚えておくと良いだろう。まずは「-short」オプションでシンプルに表示させるのがおすすめだ。

shortオプションでの表示例の抜粋
$ sudo lshw -short
H/W path        デバイス    クラス      詳細
=====================================================
                                system         FMVUH01003 (SK00)
/0                              bus            FJNB2FF
/0/0                            memory         128KiB BIOS
/0/4                            processor      13th Gen Intel(R) Core(TM) i5-1335U
/0/4/a                          memory         512KiB L1 キャッシュ
/0/4/b                          memory         4MiB L2 キャッシュ
/0/4/c                          memory         12MiB L3 キャッシュ
(中略)
/0/100/1c                       bridge         Intel Corporation
/0/100/1c.7                     bridge         Alder Lake PCH-P PCI Express Root Port #9
/0/100/1c.7/0   mmc0            bus            RTS525A PCI Express Card Reader
/0/100/1f                       bridge         Raptor Lake LPC/eSPI Controller
/0/100/1f/0                     system         PnP device PNP0c02
/0/100/1f/1                     system         PnP device PNP0c02
/0/100/1f/2                     generic        PnP device FUJ0309
/0/100/1f/3                     system         PnP device PNP0c02
/0/100/1f/4                     system         PnP device PNP0c02
/0/100/1f.3     card0           multimedia     Raptor Lake-P/U/H cAVS
(後略)

 ほかにもPCIeデバイスに繋がったデバイスを確認できる「lspci」や、USBデバイス用の「lsusb」なんてものもある。SMBIOSのDMIテーブルを見るための「dmidecode」なんてコマンドもある。

PCIデバイスのリスト
$ lspci
00:00.0 Host bridge: Intel Corporation Raptor Lake-P/U 2p+8e cores Host Bridge/DRAM Controller (rev 01)
00:02.0 VGA compatible controller: Intel Corporation Raptor Lake-P [Iris Xe Graphics] (rev 04)
00:04.0 Signal processing controller: Intel Corporation Raptor Lake Dynamic Platform and Thermal Framework Processor Participant (rev 01)
00:06.0 PCI bridge: Intel Corporation Raptor Lake PCIe 4.0 Graphics Port (rev 01)
00:08.0 System peripheral: Intel Corporation GNA Scoring Accelerator module (rev 01)
00:0a.0 Signal processing controller: Intel Corporation Raptor Lake Crashlog and Telemetry (rev 01)
00:0d.0 USB controller: Intel Corporation Device a71e (rev 01)
00:14.0 USB controller: Intel Corporation Alder Lake PCH USB 3.2 xHCI Host Controller (rev 01)
00:14.2 RAM memory: Intel Corporation Alder Lake PCH Shared SRAM (rev 01)
00:14.3 Network controller: Intel Corporation Raptor Lake PCH CNVi WiFi (rev 01)
00:15.0 Serial bus controller: Intel Corporation Alder Lake PCH Serial IO I2C Controller #0 (rev 01)
00:15.1 Serial bus controller: Intel Corporation Alder Lake PCH Serial IO I2C Controller #1 (rev 01)
00:15.3 Serial bus controller: Intel Corporation Alder Lake PCH Serial IO I2C Controller #3 (rev 01)
00:16.0 Communication controller: Intel Corporation Alder Lake PCH HECI Controller (rev 01)
00:1c.0 PCI bridge: Intel Corporation Device 51b8 (rev 01)
00:1c.7 PCI bridge: Intel Corporation Alder Lake PCH-P PCI Express Root Port #9 (rev 01)
00:1f.0 ISA bridge: Intel Corporation Raptor Lake LPC/eSPI Controller (rev 01)
00:1f.3 Multimedia audio controller: Intel Corporation Raptor Lake-P/U/H cAVS (rev 01)
00:1f.4 SMBus: Intel Corporation Alder Lake PCH-P SMBus Host Controller (rev 01)
00:1f.5 Serial bus controller: Intel Corporation Alder Lake-P PCH SPI Controller (rev 01)
00:1f.6 Ethernet controller: Intel Corporation Device 0dc6 (rev 01)
01:00.0 Non-Volatile memory controller: Micron Technology Inc 2450 NVMe SSD [HendrixV] (DRAM-less) (rev 01)
07:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS525A PCI Express Card Reader (rev 01)
USBデバイスのリスト
$ lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 003: ID 06cb:0168 Synaptics, Inc.
Bus 003 Device 002: ID 04f2:b7cb Chicony Electronics Co., Ltd Integrated Camera
Bus 003 Device 004: ID 8087:0033 Intel Corp.
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

機能テスト

 どんなデバイスが載っているか分かったら、きちんと動くか確認しよう。今どきのノートPCだと以下のデバイスあたりが確認ポイントになるだろう。

  • タッチパッド
  • 画面解像度・明るさ
  • タッチパネルディスプレイ
  • Wi-Fi/LAN/Bluetooth
  • バッテリ
  • スピーカー
  • マイク
  • カメラ
  • イヤフォンジャック
  • ファンクションキー
  • HDMI/DisplayPort/VGA
  • USB-C/Thunderbolt
  • SD/microSDカードスロット
  • 指紋センサー
  • WWAN機能(SIMスロット等)
  • USB PD

  タッチパッド が動かないと、常にマウスを持ち歩かないといけないはめになる。はやめに確認したいポイントだ。Ubuntuの場合「設定」の「マウスとタッチパッド」でマウスとタッチパッドの挙動を変更し、テストできる。まずはここから確認すると良いだろう。キーボード入力中にタッチパッドが反応してしまわないかどうかも確認ポイントの1つだ。

2本指スクロールの方向なども変更できるため、好みに合わせて調整してしまうと良い

  画面解像度と明るさ も重要だ。こちらはGPU次第な部分もあるため説明は長くなってしまうが、とりあえず「設定」の「ディスプレイ」を確認しておこう。IntelやAMDのGPU搭載モデルならまず問題なく動くことが多いが、NVIDIAは少し微妙だ。第15回あたりでそのへんを軽く紹介しているので、そちらも参照してほしい。

 明るさについては、ファンクションキーや画面右上のシステムステータス領域から変えられるかどうかを確認しておこう。ここはハードウェア依存の場合が多く、上手く動かない可能性がある。特殊なケースだと、起動時のPCロゴが表示されるタイミングなら明るさを調整できるなんてこともあったので、上手く動かないなら試してみるといいかもしれない。

システムステータス領域の画面の明るさ調整バー

 特殊ケースとしては、10型以下の小型PC系はタブレットと同じ液晶を採用した結果、縦置き(ポートレートモード)が正位置だったりする場合がある。その結果、カーネル側でなにか特殊な処理をしないと画面が90度傾いてしまうことがあるので注意して欲しい。初期のGPD Pocketなどがそんな感じだった。

 コンバーチブルなノートPCに多い タッチパネル については、デバイス依存な部分が多いものの動くことは期待される。対応しているデバイスであれば、10点マルチタッチにも対応するし、任意の機能を割り当てることも可能だ。

  Wi-Fi/LAN/Bluetooth あたりは、実際にデバイスやAPに接続して繋がるかどうかの確認をすれば良いだろう。ほかの機能と同時に使うと切れやすいなんて可能性もあるが、そのあたりになるとソフトウェア側では回避は難しくなる。使いながら特性を把握して、個別になんとかするしかないだろう。最初から動かない/性能が出ない場合は、ファームウェアが古いか設定が足りない場合が多い。2.5GbEのLANアダプタによっては、複数のデバイスクラスを持っていて、正しく切り替えないと性能が出ないなんてこともよくある。

  バッテリ もノートPCの生命線だ。まず問題なく認識するはずだが、セカンドバッテリを備えているマシンの場合、2台目がきちんと見えているか、1台目と逆になっていないかも確認ポイントとなる。「設定」の「電源管理」からはバッテリの状態だけでなく、CPUパフォーマンスの調整や省電力管理機能の設定が行えるのでそちらも見ておこう。

ちなみにパフォーマンスはシステムステータスから変更できる。ボタンを押せば省電力とバランスの切り替え、矢印を押せば画像のように選択画面になる

  スピーカー/マイク/カメラ/イヤフォンジャック あたりは、実際に動かしてみるのが一番だ。最近だとリモートミーティング用のWebアプリが充実しているため、それで試すのが一番だろう。好みのそれでミーティングを開始して、相手方に音声とかカメラの様子を確認してもらうと良い。ぼっちの場合は、録画/録音機能を活用しよう。

 Ubuntuは一応、Jack Detection(イヤフォンジャックにサウンドデバイスを接続すると、スピーカーをオフにしイヤフォン側にのみ出力する機能)に対応している。イヤフォンジャックを使うならそちらも試してみると良い。

音声の出力先はシステムステータス領域のボリュームの右にある矢印をクリックすることで変更できる。Bluetoothデバイスもこちらで確認すると良いだろう

 前述したように ファンクションキー については動くかどうか未知数だ。これはどちらかというと機種よりはベンダーによって分かれるケースが多い。実際のところLinuxユーザーにとってファンクションキーは「自由設定欄」扱いなこともあるため、ラベル通りに動かなかったら自由な機能を割り当ててしまうという手もある。

  HDMI/DisplayPort/ミニD-Sub15ピン 出力が動かないことはまずない。まずないはずなのだが、たまに変な挙動をするので侮れない。特にプレゼン時は「 テスト時は問題なかったのに本番の時だけなんかおかしくなる 」という理不尽な結果に見舞われる気がする。実際に接続してうまくいかない場合は、まずは「設定」の「ディスプレイ」で認識されるか確認しておこう。USB-C/DisplayPort Alt ModeやHDMI Audioも基本的に動くと思ってもらって良いだろう。

ディスプレイ設定では画面解像度等に加えてセカンドディスプレイの位置やミラーリングも設定できる。もちろん画面解像度や画面の向き/拡大などもディスプレイごとに設定可能だ

  USB-CやThunderbolt に関しては、比較的標準化されており特殊なドライバは不要なため、そのまま動く可能性は高い。Thunderboltは特殊なサービスが動いており、機器が接続されていたら「設定」の「プライバシー」に「Thunderbolt」という設定項目が表示されるようになる。

 機種によっては追加されることがある SD/microSDカードスロット 指紋リーダー WWAN機能(SIMスロット等) については未知数だ。最近だと前者の2つは動くことが多い感触があるが、最後のWWAN機能については試したことがないのでなんとも言えない。WWAN機能は海外の情報がそのまま日本で使えるとは限らない点も、ややこしい要因となる。あまり期待しないほうが良いだろう。

  USB PD については給電/受電ともにコントローラ側でネゴシエーションするため、Ubuntuが入っているかどうかに関係なく動く可能性が高い。一応、カーネル側からも操作はできるようになっているが、あまり触ることはない。きちんと動いているか気になるようならUSBテスターで試してみると良いだろう。AVHzY CT-2やCT-3とかは、なぜかみんな持っていることになっている。

例えばACアダプタはこんな感じだった

 ちなみにLIFEBOOK WU-X/H1の場合、microSDカードスロットと指紋センサーについては、問題なく動いている。ファンクションキーも含めて取り立てて問題らしいものは見つかっていない状況だ。

負荷試験

 最初のうちに多少負荷をかけておいて、それでもきちんと動くかは見ておきたいところ。特にCPU/SSD/ネットワークあたりは、「負荷をかけるとシステムが落ちる/固まる」なんてことも起こりうるので、出先で不幸に見舞われないためにも、あらかじめ限界を知っておくことも重要だ。あとはバッテリの持ち具合も見ておくと良いだろう。

 一番手っ取り早いのがWebブラウザのベンチマークを動かすことだろう。普段使うサイトを開いて、ファンが必要以上に回り続けたりしないか、バッテリが必要以上に減っていないか見ることになる。Speedometerのようなベンチマークを動かすのも1つの手だが最近のCPUだと負荷とは言えないぐらいなので、YouTubeなどで4K動画を流すほうが効果的かもしれない。

 真面目に負荷をかけたければ、第31回で紹介したようにstress-ngを使うのがおすすめだ。GUIが良ければGnome Stress Testingもあるが、これはFlatpakパッケージとなるためUbuntuではひと手間以上かかるのが惜しいところ。一応次の手順でインストールはできる。

Flatpak版のGSTをインストールするには、まずFlatpak環境の準備が必要だ
$ sudo apt install flatpak
$ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
$ flatpak install flathub com.leinardi.gst
(依存関係にあるランタイムの表示)
Do you want to install it? [Y/n]: (Enterを入力)
(インストールするパッケージの一覧表示)
Proceed with these changes to the system installation? [Y/n]: (Enterを入力)
$ flatpak run com.leinardi.gst
GSTなら負荷をかけながら、電圧や温度の変動も見られるため、より全体的にシステムの負荷状況を把握できる。

 バッテリの消費電力については「電源の統計」を起動して、「ノートPCのバッテリ」を選択し、「履歴」タブを表示すると良いだろう。時間ごとにいろいろ操作を変えながらグラフを見ると、何が影響しているかよくわかってくる。

「電源の統計」は古くからあるツールだがデザインとしてはあまり使いやすい感じはしない。データ点は表示しないほうが見やすい

 青い線が放電で、赤い線が充電となる。今回の例だと画面を半分の明るさ程度・電力モードをバランスにして、負荷試験行ったり、適当なインターネット動画再生し続けた結果、1時間40分ぐらいで半分程度になった感じだ。おそらく普通に使う分には最低でも3時間以上はもってくれるだろう。重量優先で25Whな小型バッテリのモデルにしたので、これくらいは想定の範囲内となる。

 ストレージのテストに関してはいろいろな方法があるが、初心者におすすめなのは「KDiskMark」だ。その名の通りCrystalDsikMarkっぽい見た目を備えたアプリで、バックエンドとしてサーバー等でも使われている「fio(Flexible I/O Tester)」を使用している。fioはさまざまなパラメータを自分で設定する必要があるが、KDiskMarkはある程度定番のパラメータセットを備えているため、ボタン1つで計測開始できる。

 aptコマンドでdebパッケージをインストールできるが、KDE関連の多くのパッケージをインストールする必要がある。このあたりsnapパッケージだとワンパッケージ化されているため、不要な時の削除が多少は楽になり、一時的にインストールしたい場合に便利だ。

snapでKDiskMarkをインストール
$ sudo snap install kdiskmark

 ただしsnapパッケージ版は、権限の都合でストレージのキャッシュを破棄できない。何回か同じ内容で計測するのであれば、都度以下のコマンドを実行しよう。

ストレージキャッシュの開放
$ echo 3 | sudo tee /proc/sys/vm/drop_caches

 今回だと先ほどのlspciコマンドでも表示されていたように、「Micron Technology Inc 2450 NVMe SSD [HendrixV] (DRAM-less)」となる。PCIe Gen4の接続の256GBモデルで、結果は次のような感じだ。

「All」ボタンを押すだけで、ホームディレクトリ以下の計測を開始してくれる。

 ちなみにsnapパッケージの削除は次のようなコマンドとなる。

KDiskMarkとKDEフレームワークパッケージの削除
$ sudo snap remove --purge kdiskmark
$ sudo snap remove --purge kde-framework-5-core18

 コロナ禍では出かけること自体が減り、出先でノートPCを使うことが少なくなっていた。しかしながら、なんとなくIT系の勉強会やイベントも復活しつつあり、オフラインでの発表なんかもこれから回復していくことだろう。どうせ出先でPCを使うなら、普段と同じUbuntuを使いたいはずだ。新しいノートPCを購入したら、ぜひUbuntu化にもチャレンジして痛い目を見て欲しい。