鳩のだんなのブログ

主にLinuxに関する話題を書いていきます。ソフトウェアの設定方法や使い方などが中心になります。

Fedora 29上にVirtualBoxで仮想マシンを構築

Fedoraも大抵のアプリケーションが整備されて久しく日常生活の大概のことは特に困ることなくできるのですが、世の中にはまだまだプロプライエタリWindowsアプリケーションの使用を強要される場面(例えばe-Taxなど)があります。 単純なプログラムであればwineで対応するのですが、そうでないものについては仮想マシン上にWindowsを用意して対応するようにしています。 ここではFedora 29にVirtualBoxをインストールして仮想マシンを構築する方法を記録しておきます。

VirtualBoxのインストール

OracleRPM用の公開鍵を登録

Oracleから提供されるRPM電子署名を正しく検証できるようにRPMOracleの公開鍵を登録します。

wget https://www.virtualbox.org/download/oracle_vbox.asc
rpm --import oracle_vbox.asc

公開鍵が正しく登録されていることを確認するには、以下のコマンドを実行して 「gpg-pubkey-98ab5139-4bf2d0b0」が登録されていることを確認します。

rpm -qa 'gpg-pubkey*'

登録した公開鍵が正当なものをであることを確認するために鍵のフィンガープリントを確認します。

rpm -qi gpg-pubkey-98ab5139-4bf2d0b0 | gpg --with-fingerprint -

Oracleの公開鍵であれば以下のフィンガープリントになります。 (正当なものについてはVirtualBoxの配布ページを確認してください。)

pub  1024D/98AB5139 2010-05-18 Oracle Corporation (VirtualBox archive signing key) <info@virtualbox.org>
 フィンガー・プリント = 7B0F AB3A 13B9 0743 5925  D9C9 5442 2A4B 98AB 5139
sub  2048g/281DDC4B 2010-05-18

参考: Linux_Downloads – Oracle VM VirtualBox

VirtualBox用のリポジトリを追加

VirtualBoxをdnfでインストールできるようにVirtualBoxリポジトリを追加します。

wget -O /etc/yum.repos.d/virtualbox.repo https://download.virtualbox.org/virtualbox/rpm/fedora/virtualbox.repo

「dnf update」を実行して登録したリポジトリにアクセスされていることを確認します。 その際、下記のように GPG鍵のインポートの確認を問われますが、 フィンガープリントを見てOracleの公開鍵のものであることを確認して「y」を入力しておきます。

GPG 鍵 0x98AB5139 をインポート中:
 Userid     : "Oracle Corporation (VirtualBox archive signing key) <info@virtualbox.org>"
 Fingerprint: 7B0F AB3A 13B9 0743 5925 D9C9 5442 2A4B 98AB 5139
 From       : https://www.virtualbox.org/download/oracle_vbox.asc
これでよろしいですか? [y/N]: y

VirtualBoxへのリポジトリに対してもアップデートが走っていればリポジトリ登録は成功です。

Fedora 29 - x86_64 - VirtualBox                                         2.6 kB/s | 8.8 kB     00:03 

参考: Linux_Downloads – Oracle VM VirtualBox

VirtualBoxをインストール

VirtualBoxリポジトリが登録できればdnfコマンドを使ってVirtualBoxをインストールすることができます。 現時点ではVirtualBoxのバージョンは6.0でした。

dnf install VirtualBox

端末(gnome-terminal)でコマンド「virtualbox」と実行するとVirtualBoxマネージャ=を起動できます。 仮想マシンに対する操作はVirtualBoxマネージャーから行います。

'''sh virtualbox '''

その際、 端末(gnome-terminal)に以下のようなメッセージが表示された場合には使用しているカーネルVirtualBox用のドライバーが存在していません。

WARNING: The vboxdrv kernel module is not loaded. Either there is no module
         available for the current kernel (4.19.12-301.fc29.x86_64) or it failed to
         load. Please recompile the kernel module and install it by

           sudo /sbin/vboxconfig

         You will not be able to start VMs until this problem is fixed.

この場合は、メッセージでも教えてくれている通りroot権限でコマンド「/sbin/vboxconfig」を実行すると VirtualBox用のドライバーをビルドすることができます。 この操作はカーネルのバージョンが更新するたびに実行する必要があります。 なお、VirtualBox用のドライバーのビルドにはカーネルモジュールをビルドするための開発パッケージが必要なので、 インストールされていない場合には事前にインストールします。

dnf install kernel-devel elfutils-libelf-devel
/sbin/vboxconfig

機能拡張「VirtualBox Extension Pack」のインストール

USBデバイスを使用できるようにするためにはOracleが提供する「VirtualBox Extension Pack」をインストールする必要があります。 「VirtualBox Extension Pack」は公式サイト(https://www.virtualbox.org/wiki/Downloads)からダウンロードすることができます。

wget https://download.virtualbox.org/virtualbox/6.0.0/Oracle_VM_VirtualBox_Extension_Pack-6.0.0.vbox-extpack

VirtualBoxマネージャーを起動して、メニューの「ファイル」→「環境設定」を選択してVirtualBox環境設定を開きます。 左のリストから「機能拡張」を選択して右の追加アイコンをクリックして、 先程ダウンロードした機能拡張のファイル「Oracle_VM_VirtualBox_Extension_Pack-6.0.0.vbox-extpack」を選択します。

f:id:pigeon_husband:20190103110349p:plain
VirtualBox環境設定

なお、 USBデバイスVirtualBoxで使用する場合はユーザーを「vboxusers」に所属させておく必要があります。

virtualbox

仮想マシンの作成

仮想マシンの作成は「VirtualBoxマネージャー」によって行います。 端末(gnome-terminal) でコマンド「virtualbox」を実行 すると「VirtualBoxマネージャー」が起動します。

virtualbox

VirtualBoxマネージャー」の「新規」のアイコンを選択して、 起動したウィザードに従えば仮想マシンの作成を行うことができます。

f:id:pigeon_husband:20190103164846p:plain

Fedora 29を普段使いするための設定(GUI編)

 Fedora 29 を自分の普段使い用に設定した記録です。

11月1日にFedora 29がリリースされたということで、この年末年始を利用してメインPCにインストールしましたが、半年ぐらいしたら次のバージョンがリリースされてまた設定することになるので記録しておきました。とりあえず、GUIに関するところからです。

 

ディスプレイサーバーをWaylandからXorgに変更

Fedora 29をインストールして起動してみると、マウスをアイコンなどにホバーさせると少しの時間フリーズしたり、キーボードで文字を1回タイプすると大量の文字が入力される現象が見られました。

 ログなどを確認してみるとどうやらWaylandが原因らしいので、ディスプレイサーバーを従来のXorgに戻します。

  1. ファイル「/etc/gdm/custom.conf」を開きます
  2. セクション「[daemon]」に以下2行を追加します
    • WaylandEnable=false
    • DefaultsSession=gnome-xorg.desktop
  3. PCを再起動するとディスプレイサーバーがXorgで起動します

「/etc/gdm/custom.conf」の内容

# GDM configuration storage

[daemon]
# Uncomment the line below to force the login screen to use Xorg
WaylandEnable=false
DefaultsSession=gnome-xorg.desktop

[security]

[xdmcp]

[chooser]

[debug]
# Uncomment the line below to turn on debugging
#Enable=true

 

考えてみれば、 旧マシンのFedora 28でも同様の現象が発生していました。古いマシンだったので、てっきりスペック低いためだと思ってが我慢していましたが、おそらくそちらもWaylandが原因だったのでしょう。

Waylandが安定して動作するのはいったいどんな環境なのでしょうか?

 

参考:Configuring Xorg as the default GNOME session :: Fedora Docs Site

 

  GNOME 3のカスタマイズ

FedoraウインドウマネージャーがGNOME 2からGNOME 3に変わってから結構経ちますが、未だにデフォルトのGNOME 3のインタフェースに慣れません。というわけで、自分の使いやすいようにGNOME Shellを拡張機能でカスタマイズします。

 GNOME設定ツール「Tweaks」のインストール

dnfで「gnome-tweaks.noarch」をインストールします。

dnf install gnome-tweaks.noarc

ウィンドウに最小化・最大化ボタンを追加

GNOME 3はデフォルトではウィンドウをクローズするボタンしかありませんので、以下の手順で「最小化」ボタンと「最大化」ボタンを追加します。

  1. gnome-tweaksを起動する
  2. 左のリストから「Window Titlebars」を選択する
  3. 「タイトルバーボタン」の「最大化」と「最小化」のスイッチを「オン」にする

f:id:pigeon_husband:20190101222834p:plain

拡張機能の有効化

 GNOME 3のGNOME Shellはアドオン機能によって、 GNOME 2の頃のGUI の振る舞いが提供されています。以下の手順で拡張機能を有効化します。

  1. gnome-tweaksを起動する
  2. 左のリストから「拡張機能」を選択する
  3. 必要な拡張機能のスイッチを「オン」にする

f:id:pigeon_husband:20190101225408p:plain

有効化する拡張機能は以下のとおりです。

AlternateTab

Alt+Tabでウィンドウを切り替える際にアプリケーション毎にグループ化しないようにします。

Applications Menu

上部パネルにアプリケーションメニューを追加します。

Applications Menuのイメージ

メニューを編集したい場合には「alacarte」というアプリケーションを使用します。以下の手順で導入して使用します。

  1.  dnf で「alacarte」をインストール
  2. コマンド「alacarte」を実行してメニューを編集する
Places Status Indicator

上部パネルに「場所」のメニューを追加します。主要なディレクトリとブックマークに登録したディレクトリにすぐにアクセスできて便利です。

 

Places Status Indicatorの効果
 Window list

 画面の下部にウィンドウ一覧を表示するパネルを追加します。