アフィリエイト広告を利用しています

2019年11月04日

OpenBSD: VirtualBox 画面の解像度の操作によるフルスクリーン表示

VirtualBox の仮想マシン上にインストールした OpenBSD の設定を少しづつ行っている. 何度かインストールをやり直した.

・ 最初は OpenBSD 6.5 をインストールしたが, 最新の OpenBSD 6.6 のインストール (アップグレードではない) をあらためて行った.

・ 仮想マシンのプロセッサーの個数を, デフォルトの 1 から 2 にした. マルチプロセッサー対応のカーネルを使うためである.

・ OpenBSD 6.5 ですでに startx の setuid ビットが落とされているため, 一般ユーザーはそのままでは startx によって X セッションを開始することができない. ログインマネージャーである xenodm を使用するようにした.

以下では, VirtualBox 側の設定についてメモをしておく.

ゲスト OS として OpenBSD を起動すると X は 1024x768 の解像度のウィンドウで表示が行われる.

しかし VirtualBox が提供しているフルスクリーンモード機能をオンにしても, ゲスト OS のウィンドウがモニター画面全体に広がるだけで X の表示領域自体は 1024x768 のサイズのままである. これは VirtualBox の仕様でデフォルトの解像度が 1024x768 になっていることによる.

所持しているモニターの解像度は 1280x1024 なので, フルスクリーンモードがこの解像度で動作するように X を動かしたい.

ゲスト OS が Windows と Linux の場合には, あらかじめ提供されている Guest Additions という拡張機能モジュールをインストールすることができる. これをインストールするとホスト/ゲスト間でのクリップボードの共有の他, 本当の意味でのフルスクリーンモードが使えるようになる.

しかし *BSD 用にはこのモジュールが提供されていない. したがって今回の場合, 手作業で 1280x1024 サイズでのフルスクリーンモードの設定を行う必要がある.

この作業を以下を参考にして行った.

・ VirtualBox ユーザーマニュアル
VirtualBox: full-screen resolution for OpenBSD (FreeBSD?)
Customized resolution for OpenBSD in VirtualBox

ゲスト OS のビデオドライバーとして VESA を使用するのだが, これに関してユーザーマニュアルに次の記述がある.

Apart from the standard VESA resolutions, the VirtualBox VESA BIOS
enables you to add up to sixteen custom video modes which will be
reported to the guest operating system.

Additional video modes can be configured for each VM using the extra
data facility. The extra data key is called CustomVideoMode<x> with
x being a number from 1 to 16. Note that modes will be read from 1
until either the following number is not defined or 16 is reached.

つまり, VietualBox の VESA BIOS に対する拡張データとして, 16 個までユーザー側でビデオモードを追加することができる. それは CustomVideMode<x> (<x> は 1 から 16 までの数字) という名前で指定する.

マニュアルでは

VBoxManage setextradata "VM name" CustomVideoMode1 "1400x1050x16"

という設定例が挙げられている. VBoxManage は VirtualBox が提供している仮想マシン管理用のユーティリティーコマンドである.

このコマンドの例で指定されている "1400x1050x16" の意味は "〈横の解像度〉x〈縦の解像度〉x〈デプス (bpp)〉" である.
これを自分が使っているモニター (EIZO FlexScan M170) に当て嵌めると "1280x1024x24" となる. したがって

VBoxManage setextradata "VM name" CustomVideoMode1 "1280x1024x24"

のように実行すればよい.

(1) ゲスト OS が停止した状態で VBoxManage を実行する. ここでは仮想マシンが "mybsd" という名前で作成されていると仮定する.

$ VBoxManage setextradata mybsd CustomVideoMode1 "1280x1024x24"


(2) ゲスト OS を起動する. /etc/xorg.conf を次の内容で作成する.

Section "ServerLayout"
Identifier "X.org Configured"
Screen 0 "Screen0" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
ModulePath "/usr/X11R6/lib/modules/"
FontPath "/usr/X11R6/lib/X11/fonts/misc/"
FontPath "/usr/X11R6/lib/X11/fonts/TTF/"
FontPath "/usr/X11R6/lib/X11/fonts/OTF"
FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
EndSection

Section "Module"
Load "dbe"
Load "dri"
Load "extmod"
Load "glx"
Load "freetype"
EndSection

Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
EndSection

Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "wsmouse"
Option "Device" "/dev/wsmouse"
Option "ZAxisMapping" "4 5 6 7"
EndSection

Section "Monitor"
Identifier "Monitor0"
HorizSync 24.8-80
VertRefresh 50-75
VendorName "EIZO"
ModelName "FlexScan M170"
EndSection

Section "Device"
Identifier "Card0"
Driver "vesa"
VendorName "InnoTek"
BoardName "VirtualBox Graphics Adapter"
BusID "PCI:0:2:0"
EndSection

Section "Screen"
DefaultDepth 24
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1280x1024"
EndSubSection
EndSection

ここではキーボードとマウスの InputDevice セクションを記述しているが, これは無くてもフルスクリーン表示は行える. この xorg.conf は上に挙げた参考サイトに載っていたものをほぼそのまま使っている.

(3) xenodm を再起動して xorg.conf を読み込む.

# rcctl restart xenodm


(4) フルスクリーンモードをオンにする.

これで広い画面で作業ができるようになる.
posted by 底彦 at 10:22 | Comment(0) | TrackBack(0) | 日常生活
この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

この記事へのトラックバックURL
https://fanblogs.jp/tb/9377982

この記事へのトラックバック
ファン
検索
<< 2024年10月 >>
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
最新記事
最新コメント
眼科の定期検査 〜 散歩 by コトタマ (02/15)
眼科の定期検査 by 三文字寄れば文殊のヒフミヨ (09/21)
本を読んで過ごす by 底彦 (12/13)
本を読んで過ごす by ねこ (12/12)
数学の計算をする by 底彦 (12/04)
タグクラウド
カテゴリアーカイブ
仕事(59)
社会復帰(22)
(44)
コンピューター(211)
(1425)
借金(8)
勉強(13)
(13)
数学(97)
運動(8)
日常生活(1392)
(204)
健康(37)
読書(20)
プロフィール

ブログランキング・にほんブログ村へ
にほんブログ村
にほんブログ村 メンタルヘルスブログ うつ病(鬱病)へ
にほんブログ村
にほんブログ村 科学ブログ 数学へ
にほんブログ村
にほんブログ村 IT技術ブログ プログラム・プログラマーへ
にほんブログ村