Qubes OS 4.2: Fedora テンプレートを新規インストール

Qubes OSの4.2系で新規にFedoraテンプレートをインストールして、既存のキューブをその新しいテンプレートベースにスイッチする方法を解説します。

今回の記事では元の Fedora 38 から Fedora 39テンプレートに切り替える作業を行っていきます。記事執筆時点の最新のQubes ISO - Version 4.2.1では既に fedora 39のテンプレートが入っているので下記の作業は必要ありません。

Qubes Template Manager で fedora-39-xfce をインストール

画面左上Q から Qubes Template Manager を起動します。

Qubes Template Manager を起動
Qubes Template Manager を起動

下にスクロールして fedora-39-xfce を見つけたらその行を選択します。一番左側の列 Status のところが Available になっていますが、ここをクリックして現れるドロップダウンメニューから Install をクリックします。

fedora-39-xfce をインストールできるように選択する
fedora-39-xfce をインストールできるように選択する

ウィンドウメニューの Apply を押すとインストールしてよいか聞かれるのでOKを押します。

Fedora39 xfce テンプレートをインストールしてよいか聞かれる
Fedora39 xfce テンプレートをインストールしてよいか聞かれる

以下はダウンロード・インストール中の表示です。

fedora-39-xfceテンプレートをダウンロード・インストール中
fedora-39-xfceテンプレートをダウンロード・インストール中

ダウンロード完了後もインストール作業にしばらく時間がかかります。

インストールが終わったら OK ボタンを押して終了させます。

fedora-39-xfce のインストールが終わったら OK ボタンを押して終了
fedora-39-xfce のインストールが終わったら OK ボタンを押して終了

fedora-39-xfce テンプレートのアップデート

つづいてfedora-39-xfce テンプレートをアップデートします。Qubes Updateツールを開いてください。fedora-39-xfce にチェックを入れて Updateボタンを押します。

Qubes Update ツールでfedora-39-xfce テンプレートをアップデート
Qubes Update ツールでfedora-39-xfce テンプレートをアップデート

fedora-39-xfce テンプレートの日本語化

新しくインストールしたfedora-39-xfce テンプレートは元からあったfedora-38-xfce テンプレートとは独立したものなので 元のテンプレートにインストールしたパッケージは再度インストールし直さないといけませんし、各種設定もやり直す必要があります。この節では日本語化の作業をやっていきます。基本的には以前日本語化の解説で書いたことをやり直すだけです。

まず fedora-39-xfceテンプレートのターミナルを開きます。

次のようにして日本語のロケールを入れます。

[user@fedora-39-xfce ~]$ sudo dnf install glibc-langpack-ja

テンプレートのロケールを日本語に設定します。

[user@fedora-39-xfce ~]$ sudo localectl set-locale ja_JP.UTF-8

fedora-39-xfceテンプレートを再起動してターミナルを開くと日本語表示に切り替わります。

日本語のフォントをいくつかインストールします。

[user@fedora-39-xfce ~]$ sudo dnf install google-noto-sans-cjk-jp-fonts google-noto-serif-cjk-jp-fonts google-noto-sans-mono-cjk-jp-fonts vlgothic-fonts vlgothic-p-fonts -y

日本語入力システムの fcitx5-mozcを入れます。

[user@fedora-39-xfce ~]$ sudo dnf install fcitx5-mozc -y

Fcitx5の環境変数を /etc/environment.d以下のファイルに書いておきます。

[user@fedora-39-xfce ~]$ sudo mkdir /etc/environment.d
[user@fedora-39-xfce ~]$ sudo nano /etc/environment.d/50-fcitx5.conf

nanoで以下のようなファイル 50-fcitx5.confを作成します。

XMODIFIERS=@im=fcitx
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx

新テンプレートの/etc/skel/に旧テンプレートから日本語設定をコピー

fedora-38-xfceテンプレートで以前作業したのと同様に /etc/skel/ 以下のディレクトリにFcitx5関連の設定ファイルのひな型を置きます。これによりキューブを新規に作成したときにその新しいキューブのホームディレクトリにFcitx5関連の設定ファイルが自動で設定されます。

Qubes OSをインストールしたときに元のfedora-38-xfce テンプレートに設定しておいた /etc/skel/.config以下のファイルを新しい fedora-39-xfceテンプレートにコピーすることにします。

古い fedora-38-xfce テンプレートのターミナルを起動して、以下のように qvm-copy をします。

[user@fedora-38-xfce ~]$ sudo qvm-copy /etc/skel/.config/*

コピーのTargetは fedora-39-xfceテンプレートを選んでください。

コピーのTargetは fedora-39-xfceテンプレート
コピーのTargetは fedora-39-xfceテンプレート

つぎに新しい fedora-39-xfceテンプレートのターミナルで /etc/skel/以下に .configディレクトリを作成します。

[user@fedora-39-xfce ~]$ sudo mkdir /etc/skel/.config

fedora-38-xfceからコピーされたファイル類を /etc/skel/.config以下に移動させます。

[user@fedora-39-xfce ~]$ sudo mv ~/QubesIncoming/fedora-38-xfce/* /etc/skel/.config/

lsコマンドでうまく移動できたことを確認します。

[user@fedora-39-xfce ~]$ sudo ls -RaF /etc/skel/.config/
/etc/skel/.config/:
./  ../  autostart/  fcitx5/  mozc/

/etc/skel/.config/autostart:
./  ../  org.fcitx.Fcitx5.desktop

/etc/skel/.config/fcitx5:
./  ../  conf/  config

/etc/skel/.config/fcitx5/conf:
./  ../  cached_layouts

/etc/skel/.config/mozc:
./  ../  config1.db

/etc/skel/.config以下の権限をユーザーからルートに修正します。

[user@fedora-39-xfce ~]$ cd /etc/skel/.config/
[user@fedora-39-xfce .config]$ sudo chown -R root:root *

fedora-39-xfce テンプレートをシャットダウンさせます。

このあとfedora-39-xfce テンプレートに基づいて新しくキューブを作成して、日本語入力ができるか確認するとよいでしょう。

fedora-39-xfce テンプレートに基づく新キューブを作成
fedora-39-xfce テンプレートに基づく新キューブを作成

fedora-39-xfceに fedora-38-xfceと同等のパッケージをインストール

fedora-38-xfce テンプレートで sudo dnf install ... とやってインストールしたパッケージは fedora-39-xfce テンプレートで再度入れ直す必要があります。元のfedora-38-xfceテンプレートのターミナルから sudo dnf historyを実行するとdnf の履歴が出ます。その履歴を参考にして新しいテンプレートへのインストールをやり直してください。

Qubes Global Config の変更

新しいキューブを作成しようとして Create New Qubeツールなどを起動すると、現時点のデフォルトでは古いfedora-38-xfceのテンプレートを使用する設定になっていると思います。 以下ではこれを新しい fedora-39-xfceテンプレートに変更します。

まずQubes Global Config ツールを起動します。Default template: の行のところでドロップダウンメニューを開いて fedora-39-xfce を選択します。

Qubes Global Config ツールで Default template をfedora-39-xfceに変更
Qubes Global Config ツールで Default template をfedora-39-xfceに変更

OKボタンをクリックします。

キューブのテンプレートの変更

Qubes OSインストール時のデフォルトではvault, work, personal, untrustedの4つのAppキューブがfedora-38-xfceベースになっていたのでそれらをfedora-39-xfceベースに修正します。また sys-netもfedora-38-xfceからfedora-39-xfceベースに変更します。あまり知られていないキューブとしてdefault-mgmt-dvm1というものがありますが、これもfedora-39-xfceベースに修正します。

やや特殊なのが sys-firewallとsys-usbです。これらは default-dvmというディスポーザブル・テンプレートにもとづくディスポーザブルとして起動しています。default-dvm を fedora-39-xfce ベースに変更するだけで、sys-firewall と sys-usb どちらとも自動的に fedora-39-xfce ベースに切り替わります。しかしデスクトップパソコン使用者などのUSBキーボードしか持っていない人は相当の注意が必要です。というのもテンプレートを変更するには一旦キューブを停止する必要があるのですが、sys-usb を止めてしまうとPCに入力する手段が一切無くなり身動きがとれなくリスクがあるのです。

ネットワークの遮断

キューブのテンプレートを変える場合は、そのキューブをいったんシャットダウンする必要があります。sys-netなどのネットワーク系のキューブの設定をいじるために、ネットワークを利用しているworkなどのAppキューブをすべてシャットダウンさせてください。そのあと sys-whonix, sys-firewall, sys-net の順にシャットダウンしてください。

テンプレートスイッチャーで各キューブのテンプレートを変更する

画面左上Q - 歯車アイコン - Qubes Tools - Qubes Template Switcher の順に選んでいってテンプレートスイッチャーを起動させます。

テンプレートスイッチャーを起動させる
テンプレートスイッチャーを起動させる

テンプレートをfedora-39-xfce に変更すべきキューブは左側のチェックボックスにチェックを入れます。上から順に default-dvm, default-mgmt-dvm, personal, sys-net, untrusted, vault, work のキューブにチェックを入れてください。ただしデスクトップPCユーザー(つまりUSBキーボード利用者)は default-dvm のチェックは外してください。下のところの "Change all selected to" のドロップダウンメニューから fedora-39-xfce をクリックします。そのあと OKボタンを押すとテンプレートが変更されます。

テンプレートスイッチャーで各キューブのテンプレートを変更
テンプレートスイッチャーで各キューブのテンプレートを変更

キューブを停止させないと上のチェックボックスをオンにできません。もしもテンプレート変更に失敗した場合は、動いているキューブがないか確認して停止させてください。

USBキーボード利用者の default-dvm のテンプレート変更方法

sys-usb と sys-firewall は ディスポーザブルのキューブです。そのテンプレートは default-dvm です。このせいで default-dvm のテンプレートを変更するときは sys-usb と sys-firewall の両方を停止させないといけません。

しかし USBキーボードを使用しているがPS/2接続などのUSB以外のキーボードがない場合、sys-usbを普通に停止してしまうとキー入力ができなくなってパソコンから締め出されてしまいます。万が一そうなった場合はパソコンの電源ボタンを長押ししてパソコンを強制終了させてから再びQubes OSを起動させてください。

USBキーボード利用者がdefault-dvm のテンプレートを変更するときはすべてのキューブのシャットダウン - default-dvmのテンプレート変更 - sys-usb の起動を一回のコマンドで一気に実行する必要があるのです。

USBキーボード利用者は default-dvm のテンプレートを fedora-39-xfce に変更するために次のような特殊なコマンドを dom0 のターミナルから入力してください。

[ft7777@dom0 ~]$ qvm-shutdown --wait --all; qvm-prefs default-dvm template fedora-39-xfce; qvm-start sys-usb

fedora-38-xfce テンプレートの削除

fedora-38-xfceテンプレートを削除するには、以下のようにdom0から qvm-template remove とするか、または Qubes Template Manager で fedora-38-xfceの行にあるstatus 欄をクリックして remove を選び Apply を押すとよいようです。

[ft7777@dom0 ~]$ sudo qvm-template remove fedora-38-xfce

  1. default-mgmt-dvmはdom0から各キューブを管理するときに使用されるディスポーザブルキューブのテンプレートです。詳細はこちらを参照