西川和久の不定期コラム

最新のUbuntu Desktop 22.04 LTSはどこまで仕事に使えるか?モニターのキャリブレーションをやってみた!

Ubuntu Desktop 22.04 LTSでi1 Display Proを使いモニタのキャリブレーション中!

 Chrome OS Flexが出てからいろいろなマシンで試しているが、ちょい使いなら問題ないものの、本格的に仕事で使うには若干不満点がある。「そう言えば……」と、Ubuntu 22.04 LTSがリリースされたことを思い出し、触ったところ、かなり調子いいことが判明した。そこで今回は使用日記をお届けしたい。

Chrome OS(Flex)で仕事をする時困ること

 以前“Google本家からChrome OS Flex登場!いろいろなマシンへ入れてみた”で、いろいろなマシンへChrome OS Flexをインストールし、以降Watch用として「MINISFORUM DeskMini UM270」(Ryzen 7 PRO 2700U)と、「Lenovo ThinkPad T440s」(第4世代Core i5)をそのまま使用中だ。

 本論へ入る前に1つご報告として、Linux環境は「搭載しているCPUがSpectreおよびMeltdownの脆弱性の影響を受けている場合、Linuxは起動しない」と記事に書き、実際ThinkPad T440sは当初“Error starting crostini for terminal: 5”で動かなかったが、最近のバージョンで動くようになった。何の条件を緩和したかは不明で、どこまでが動くのかも分からないが、同種のエラーが出ていた人は、OSアップデートの後、試して欲しい。

 さて話を戻すと、Chrome OS Flexは、Chromeが使え、条件さえ満たせばLinuxも動き、それなりに仕事で使える環境となる。ただ実際に筆者が使う(主にOffice系、開発、原稿/写真編集)となると以下がひっかかり、今一歩踏み切れない状況だ。

1)モニターのキャリブレーションができない
2)/etc/hostsが書換られない
3)Wineが(動くアプリの範囲内で)イマイチ

 1)に関しては、Chrome OS(Flex)上で作動するキャリブレーション用のアプリがなく(後述するFlatpakでのDisplayCALも作動しない)、また仮にあっても、作ったプロファイルをOSへ入れる手段がない。これは写真を編集する上において致命的だ。

 2)は、多くの人は無関係だろうが、Web系の開発時に、例えばサイトの引越しやリニューアルで、サーバーごと替える場合、現在作動しているサイトのIPアドレスと引越し先のIPアドレスは当然異なる。また作業完了するまでDNSを切り替えることもできない。

 このような場合、macOSだと/private/etc/hosts、WindowsだとC:\windows\system32\drivers\etc\hostsへ“新IPアドレス ホスト名(例えばmyblog.net)”を追記すると、そのマシンからのみmyblog.netで新IPアドレスのサーバーへアクセスでき、そこで作業/確認が可能となる(作業完了後、DNSを切り替える)。これがChrome OS(Flex)では/etc/hostsを書換えることができず対応できないのだ。拡張機能で同種のものもあるのだが、うまく行ったり行かなかったり。

 ただどうしてもの場合、手がないわけではなく、Linux側の/etc/hostsは書換えることができるため、Linux用のChromeやEdgeなどをインストールしそれで代替えは可能だ。

 3)は筆者の場合、秀丸(まだChrome OS用で好みのエディタが見つからないため。macOSではmi)と、WinSCP(100以上もあるホストを再登録するのが面倒)が必要となるが、後者がうまく動いたり動かなかったり。この辺りは使うWindowsアプリにもよるだろう。

 と、こんな感じだ。特に1)は致命的で、「正確な色を含めた写真編集できないなら、それができるWindows/macOSで全部やればいいじゃん!」となる。

Ubuntu Desktop 22.04 LTSを試してみた

 先日PC Watch“Ubuntu日和”という新連載が始まり、「そう言えばUbuntu Desktop 22.04 LTSが出たんだっけ!?」と、軽い気持ちでChrome OS Flexが入っていたThinkPad T440sへインストールしてみた。

 インストール方法は記事の趣旨から外れるので、詳細は書かないが、

1)ここからUbuntu Desktop 22.04 LTSのisoイメージをダウンロード
2)Rufusなどを使いUSBメモリへ焼く
3)USBメモリからブートし、インストールする(言語、タイムゾーン、ネットワーク、インストール先のストレージ指定、アカウント……と、簡単に入る)

こんなところだ。キーボードを日本語(OADG)にしておくと半角/全角キーでIMEがトグルする。ザックリ触ってみたがUIを含めなかなか良い。もちろんベースがLinuxなので端末(ターミナル)を開きコマンドラインでの操作もでき(コピペはShift+Ctrl+C/V)、当たり前だがPHP(apt installだとversion 8.1.2)やApache/Nginx、MariaDB、Redis……などサーバー系もインストールOK。開発系には文句なしの環境となる。

 オフィス系に関してはWebを使ったオンライン系はもちろんだが、LibreOffice Community 7系を標準搭載。設定→オンラインアカウントでは、Google、Microsoftなどを一括管理し、設定すると例えばGoogle Driveをファイルアプリに統合できる(Microsoftは残念ながらメールのみ。OneDriveにも対応してほしいところ)。

 なお、AppleのMagic Trackpad 1/2で3本指も含めた操作が完全に可能だ。Windows用の外付けタッチパッドは良いものがないので、デスクトップ用途であればこちらをお勧めしたい。ノートPCのタッチパッドやWebカメラも試した範囲では問題なく作動する。(最近はスキャナでしか使ってないが)複合機@ネットワーク上の「ブラザー MFC-J903N」も認識した。

 ちょっとした環境設定として以下を行なった。1)から4)辺りは割とポピュラーらしい。

0)sudo apt updateとsudo apt upgrade
1)$ LANGUAGE=C LC_MESSAGES=C xdg-user-dirs-gtk-update
※これを行なわないとHome下のDocumentsフォルダなどが日本語名になっている
2)言語サポートアプリ実行(先に行わないと3が動かない)
※Mozcの設定などに必要なモジュールの自動インストール
3)設定→キーボード→入力ソース(日本語Mozc)→設定→キー設定の選択/編集で全てのHenkanとMuhenkanを“IMEを有効化”と“IMEを無効化”へ(お好みで)
4)$ sudo apt install ubuntu-restricted-extras
※フォントや動画用のコーディックなど、著作権上の制限があってインストーラに含まれないものをインストール
5)Linux版のChromeをインストールし、標準のFirefoxを削除
6)openssh-serverやnet-toolsなどはお好みでapt install

 これでChromeを使い、GoogleアカウントでログインすればいつものChrome環境が同期され、即普段の操作が可能となる。

 Wineに関しては普通にsudo apt install wineとすると6系が入ってしまうので以下を実行する。

$ dpkg --print-architecture
amd64
$ sudo dpkg --add-architecture i386
$ dpkg --print-foreign-architectures
i386

$ wget -nc https://dl.winehq.org/wine-builds/winehq.key
$ sudo mv winehq.key /usr/share/keyrings/winehq-archive.key
$ wget -nc https://dl.winehq.org/wine-builds/ubuntu/dists/jammy/winehq-jammy.sources
$ sudo mv winehq-jammy.sources /etc/apt/sources.list.d/
$ sudo apt update
$ sudo apt install --install-recommends winehq-staging
※現在Ubuntu 22.04用のstableがないためstagingを使用
$ wine --version
wine-7.7 (Staging)

$ winecfg
※必要なモジュールを自動でインストール。アプリケーション→WindowsバージョンをWindows 8へ。画面→画面の解像度を必要に応じて合わせる

$ wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
$ chmod +x winetricks
$ sudo mv winetricks /usr/bin/
$ winetricks fakejapanese
※文字化け防止用

 これでOK。Chrome OS Flexではもう一手間必要だったIMEのインライン変換対応については、何もせずにそのままで問題ない。秀丸はもちろん、作動がイマイチだったWinSCPも快適に作動する。またファイルアクセスが速いのか(?)、Chrome OS Flexでは10分以上かかったwinetricks fakejapaneseもあっと言うまに完了。

 ChromeやVisual Studio Codeの作動もキビキビ、ファイルアプリを使ったNASへのアクセスなども問題なし。先の/etc/hostsも書換られる。この時点で筆者の用途としては完全にChrome OS(Flex)を超えてしまった!「ごめん舐めてた、Ubuntu Desktop」(笑)。

なかなかカッコいいUI。Wineで秀丸、WinSCPも起動。PhotoshopはWeb版
(macOSなどから)RDPリモート接続もできる。ただしバグがあるのか? 共有をON/OFFしたり、リモートデスクトップ/リモートコントロールをON/OFFしたりする内に動くようになる
RAW現像はDarktableを使用。sudo apt install darktableでインストールできる
標準搭載のLibreOffice Communityと、設定→オンラインアカウント(同期できる内容はサービスによる)

設定→カラーにキャリブレートの項目が!

 さて最後の砦、モニターのキャリブレーションだが、試しにと、i1 Display ProをUSBへ接続したところ、なんと設定→カラーが自動的に起動。そこに“キャリブレート(C)...”の項目があるではないか! メッセージに従い、操作を続け、「さぁ測定開始♪」と思ったところエラーで落ちた。

 当初はディスプレイドライバの問題かと思ったが、後日、ほか2種類のマシンで試したもののまったく同じだったので、根本的なバグのようだ。ここは是非とも修正して欲しいところ。

i1 Display Pro
i1 Display Proを接続すると自動的に設定→カラーが起動
キャリブレート(C)...をしてみると(キャリブレーション品質/中)
キャリブレーション装置。i1 Display Proを認識
ディスプレイの種類 / LCD
白色点のプロファイル作成 / D65
ディスプレイの明るさ
プロファイル名
キャリブレーションの表示。ここでi1 Display Proをセット
キャリブレーションの表示。残念ながら失敗する

DisplayCALで再挑戦!

 先のエラーを直そうと、いろいろ検索したところ、別のキャリブレーションアプリ、DisplayCALを発見! それを試すことにした。apt installでは入らないので、Flatpakを使用する。手順は以下の通り。

1)$ sudo apt install flatpak
2)ブラウザで flathub.org/apps/details/net.displaycal.DisplayCAL からダウンロード
3)$ flatpak install net.displaycal.DisplayCAL.flatpakref

これでOK。i1 Display Proを接続した状態でDisplayCALを起動する。

$ flatpak run net.displaycal.DisplayCAL

 英語メニューだが、操作はさほど難しくない。手順は以下の通り。

SettingsをOffice & Web(D65, Gamma 2.2)へセット(通常用途の場合)。Display &instrumentは特に触らず
CalibrationはWhite LevelをCustomにして輝度を指定する。通常100から120だが、筆者の作業用としては眩しいので60としている(100と2つ用意し切替)
Profillingは特に触らず、[Calibrate & profile]をクリック
測定パネルを中央に置き、i1 Display Proをセット
[Start measurement]が有効になったらクリックして、モニターのR/G/Bと輝度を合わす(ノートPCの場合は後者しか触れない)。適当に合ったら[Stop measurement]で停止、[Continue on to calibration]でキャリブレーション開始

 測定結果は以下のようになる。使ったモニターはデルの「U2414H」と古く、第3のモニターで使い込んでることもあり、色域カバー率sRGB 89.3%……この程度だろう。また[Start measurement]操作中に分かると思うが、輝度が変わるとR/G/Bの調整も変わるため、複数の明るさに対応したい場合はその分、複数のiccファイルを作る必要がある。

完了するとこのようなパネルを表示。U2414Hは古いモニターなのでsRGBカバー率89.3%……こんなものだろう
測定結果1(Show profile information)/補正カーブ。結構揃っている
測定結果2(Show profile information)/色域
[Install Profile]がエラー(エラーとなるが関連ファイルの保存が必要なので実行)

 これで通常だとVerification(補正した値が正しいかの検証)となるのだが、[Install Profile]がエラーで、肝心のプロファイルがOSに設定されておらず、ここは一手間必要となる。

 作られたiccファイルは「~/.var/app/net.displaycal.DisplayCAL/data/DisplayCAL/storage/」にあるが、.varと隠しフォルダになっているので、操作しやすいよう、lnコマンドでリンクを張る。これでHome直下のiccフォルダとして扱える。後は設定→カラーでプロファイルを追加し有効にする。

$ ln -s .var/app/net.displaycal.DisplayCAL/data/DisplayCAL/storage/ ~/icc
設定→カラーを開きプロファイルを追加(A)で、先のiccファイルを追加
チェックを付け有効にする

 これでモニタがキャリブレーション後の設定に変わるのでVerificationを実行。結果はhtmlで得ることができる。右端が全部グリーンになっているので初期設定の誤差範囲に収まっているのが分かる(範囲外だと赤になる)。これなら写真編集も十分可能! RAW現像アプリがDarktableとLightroomっぽいので、AdobeのCamera Rawっぽいのが欲しいところか。

Verification結果(一部)。右端が全てグリーンなので初期設定の誤差範囲で収まっている

 と書いたが、後日探したところRawTherapeeというのを発見。Flatpakで入るので試すとイメージにピッタリ! これで行くことにした。

$ flatpak install com.rawtherapee.RawTherapee.flatpakref
※先のサイトでダウンロード後
$ flatpak run com.rawtherapee.RawTherapee

 また派生アプリで「ART」と言うのがあり(サイトにはa fork of RawTherapeeとの記述が)、こちらはLinux版とWindows版が用意されている。

 試したところLinux版は“GLib-GIO-ERROR **: Settings schema 'org.gnome.settings-daemon.plugins.xsettings' does not contain a key named 'antialiasing'”で動かなかったものの、Windows版はWineで作動した。ちょっと複雑な 気分だ(笑)。

RAW現像アプリのRawTherapee。AdobeのCamera Rawに雰囲気が近く筆者の好み

 余談になるが、「Ubuntu日和【第2回】Windowsに対するUbuntuの利点」で、「UbuntuがWindowsに対して特別優れている点はあまりない」とあるが、開発メインであれば、上記のような環境に加え、ターゲットとなるサーバーと同じベースの上で動くデスクトップと言うのが特別優れている点ではないだろうか(WindowsでもWSLやVM上でLinuxは動くが)。とは言え、この辺り最近はDocker(LinuxではI/Oが軽いが)/Amazon ECSを使ったりするので何ともなのだが……(笑)


 以上のようにUbuntu Desktop 22.04 LTSは、Chrome OS(Flex)では不満だった/etc/hostsの書き換え、Wineの安定作動、そしてモニターのキャリブレーションが可能となり、筆者の用途であれば、Chrome OS(Flex)を超え、完全にWindows/macOSの代替えになることが判明した。現在、Ryzen 5 4500Uを搭載したNUCやThinkPad 13/T440sで快適に作動している。特にThinkPadに関してはWindows 11へアップグレードできないので、Ubuntuのまま常用する予定だ。

 使用しているマシンにSSDを追加して入れたり、VM上で動かすなどいろいろ手はあるので、この連載を読んで「お!」っと思った方は、是非Ubuntuを試していただきたい。