戻る

暫定的にwindowsも動くワークステーションを作る

本当はマウスは使いたくないのです……。
キャラクター端末に向かい,キーボードだけを使って,コンピューターを操作する時こそ,コンピューターを使っている,コンピューターと会話しているって感じになれるのです。
というので,CLI・CUIなワークステーションを作るべく試行錯誤を続けているわけですが……。
目標は高いのです。今,windowsでやれることは全部やりたい。本を読み,カードをとり,文章を書き,調べものをし,合間には映像を見,音楽を聞き,美少女ゲームなんかも……(おっとっと)。
でも……キャラクター端末で,キーボードだけでって,限界ありますよね。
しかも,調べもののためにwebブラウザ開くと,そこはもう当たり前のようにマウス前提の状態になっていて,やむなく,最低限の作業のために,X-window入れて,デフォルトで使えるtwmを使って,いろいろ作業するのですが……。なかなか,満足の行くものにはなりませんし,うまく行ったとしても「私,何のためにこんなことをしているんだろう……」って疑問を感じることもしばしば。
そんな時に,ふと思ったのです。

……どうせ,CUIだけで完結できないのであれば,windowsについてはそれこそMicrosoft Windowsを動かせばいいんじゃないか?と。

とはいえ,今までFreeBSDでは画像まわりや音声まわりが不完全で,対して期待もしていなかったのですが,FreeBSD14.0にvirtualbox載せて,その上でwindows入れてみたら……。それまで聞いたことがなかったwindowsの起動音が普通に聞こえてくるじゃないですか?
生活状況の変化で,旅行時を筆頭に荷物を軽くすることが要求され,これまでのようにコンピューターを何台もかばんに入れ,それでも足りなければ旅行先にあらかじめ送ったり……なんてことができなくなったため,「普段の研究活動をFreeBSDで,その上の娯楽をwindowsで,それが1台で済むなら結構幸せかも」ということになり,FreeBSD+VirtualBox+Microsoft windowsの環境を構築することにしたわけです。

par1 共通事項

pkg

FreeBSDのソフトウェアを導入するには,一つにはコンパイル済みのソフトウェアを導入するpkgコマンドがあり,もう一つにはソースからコンパイルする方法論(ports)があります。pkgコマンドでは導入できないソフトウェアでもportsは準備されていることがあるし,コンパイルの際に自分の環境に合わせて調整することもできますのでportsを知っておく方が応用範囲が広いと思いますが,以下ではとりあえずpkgを使うことにします。
普段は「pkg search 文字列」で検索し,出てきたパッケージ名を「pkg install パッケージ名」でインストールします。(もっとも,パッケージ名の末尾にバージョンを示す数字の列がありますが,それはたいてい入力不要で,「-バージョン」の前までを入れると足ります。)
なお,定期的に「pkg update」でpkgが管理するソフトウェアのデータベースを更新し(もっともある程度古くなるとなんかの折りにデータベースの更新は行われるようです),「pkg upgrade」でインストールしてあるソフトウェアが更新できる場合に更新してくれます。
ソフトウェアを削除する時は「pkg delete パッケージ名」で削除されますが,依存関係でインストールされているソフトウェアは削除されないので,その必要がある時は「pkg autoremove」であわせて削除します。またバージョン違いの古いソフトウェアの方を削除する場合には,「pkg clean」で削除されます。

nano のインストール

pkg install nano
viにはどうしても慣れないし,さりとてemacsは快適に使うためにはいろんな設定が必要なので,最初に入れるエディタとしてnanoを使っています。「nano -w ファイル名」が基本形です。
「最初に入れる」と言いながら,結構愛用しています。

/etc/wpa_supplicant.conf の設定

インストールの際に設定した無線LANの設定が
network{
ssid="(SSID)"
scan_ssid=0
psk="(パスワード)"
priority=(数値)
}
のブロックとして存在しているので,それ以外の接続先情報を加えます。
ちなみにpriorityの数値は大きい順に接続を試みます。

samba のインストール

pkg install samba416
数字の部分はバージョン(たとえば4.16.xxx)を表しているようです。
windowsに対して,ファイルサーバーとして振る舞ってくれます。windows機からはネットワーク共有の感じで使えます。そのことで,他のコンピューターからファイルを転送してくることも容易になります。
インターネットにはいろんな設定が転がっているんですが,とりあえず動くものとしてこんな感じの設定をしています。

公開用ディレクトリーの設定

 mkdir ディレクトリー名
 chmod -R 777 ディレクトリー名

/etc/rc.conf の設定

 samba_server_enable="YES"
 を追加

/usr/local/etc/smb4.conf の設定

[global]
workgroup = [windowsのワークグループ名]
server string = gentoo
netbios name = gentoo
security = user
map to guest = Bad user

[public]
comment = Place Share
path = /place
read only = No
create mask = 0777
guest only = Yes
guest ok = Yes
browseable = yes

※ちなみにshutdown→電源投入とか,rebootしないでsmb4.confの内容を反映させるためには,
 /usr/local/etc/rc.d/samba_server start
で起動するか
 /usr/local/etc/rc.d/samba_server restart
で再起動します。

part2 windowsの導入

※なお,CUI・CLIでいいという場合はこの章を飛ばして,「part3 コンソールで動かすソフトウェアの導入」に進んでください。

X.org のインストール

pkg install xorg

※なおxorgを使うユーザーはvideoグループかwheelグループに属している必要があるので,属していなければ,該当ユーザーをどっちかに追加する必要があります。

/etc/rc.conf の設定

dbus_enable="YES"
hald_enable="YES"
を追加
運がよければ(一旦logoutしてloginした後)startxと打つと,他に何も設定していないのに,きちんと動きます。
動かない場合は,いろんな設定を追加していくことになります。

/usr/local/etc/X11/xorg.conf.d/driver-scfb.conf の設定

FreeBSD 14.0 をVAIO SX12に入れた際には,次の手順を踏んでいます。
Section "Device"
	Identifier "Card0"
	Driver     "scfb"
EndSection

Virtual Box のインストール

pkg install virtualbox-ose
pkg install virtualbox-ose-additions

root以外で使用する場合には,rootで,「pw groupmod vboxusers -m ユーザー名」としておく必要あり。

/boot/loader.conf の設定

vboxdrv_load="YES"
を追加

/etc/rc.conf の設定

vboxdrv_load="YES"
を追加

起動

windowsのCDをisoファイルに転換したもの(ちなみにimgに変換できれば拡張子をimgからisoに代えるだけで問題ありません)をホームディレクトリー(引数なしのcdで戻れるところ)に入れた上で,コンソールからstartxと打つと,X-windowの簡素なターミナルがいくつか現れ,その画面でvirtualboxと打つと,VirtualBoxが起動します。
VirtualBoxが起動したらwindowsのisoファイルをCDにマウントし,ネットワークアダプターはブリッジモードにした上で,windowsをインストールします。
なお,windowsを終わらせると,VirtualBoxに戻るので,ファイル→終了でターミナルに戻ります。loginターミナルに移動してexitと打つと,コンソールに戻ります。

part3 コンソールで動かすソフトウェアの導入

SKK

pkg install ja-ddskk

tmux

pkg install tmux

w3m-img

pkg install ja-w3m-img
もしくは
pkg install w3m-img
かつては,emacsでwebを見るなど,コンソールからwebを見る時に必須だったw3mでしたが,少なくともemacsとの関係では24.5以降で標準装備ewwが使用できるようになったため,必須ではなくなりました。しかし,ビューアーとしての使用ではmoreやlessに比べて味がある部分もあるので,(使用頻度が減ったのは確かですが)入れています。

LISP

common lisp系として,clisp,steelbank common lisp,scheme系としてGaucheとguileを入れています。
pkg install clisp
pkg install sbcl
pkg install gauche-meta
pkg install guile
※Kyoto Common Lisp→GNU Common Lispについては,以前はgclでportsに入っていましたが,最近は落ちているようです。
pkg install gcl

Erlang

pkg install erlang

Lisp Flavored Erlang

pkg install lfe

チベット語関係

Tibetan Machine Uni fontが
pkg install tmu
で入ります。
……今のところ,チベット語関係ではフォントがこれで入るだけの模様。

日本語フォント関係

pkg install なんとか
実は急ぐ必要は全くないのですが,素のX-windowのフォントはさすがの私でも耐え難いので
pkg install ja-font-ipa
pkg install ja-font-ipaex
pkg install ja-font-ipa-uigothic
を入れています。

フォントの追加

/usr/local/share/fonts/vt に,b16.fnt,jiskan16u.fnt,jiskan16s.fnt,unifont-8.0.01.fntを配置します。
ちょっと調べてみたらb16.fnt以外のフォントは,いしじま☆だいさんが,bdfから変換したものを提供しているようです。
なもんで,
mkdir /usr/local/share/fonts/vt した上で
cd /usr/local/share/fonts/vt と移動して
fetch http://people.freebsd.org/~emaste/newcons/b16.fnt
fetch http://www.wheel.gr.jp/~dai/fonts/jiskan16u.fnt
fetch http://www.wheel.gr.jp/~dai/fonts/jiskan16s.fnt
fetch http://www.wheel.gr.jp/~dai/fonts/unifont-8.0.01.fnt
と,持ってくることが可能になっています。

/etc/rc.localへ追加

#!/bin/sh

VTFONT="b16.fnt"
#VTFONT="jiskan16u.fnt"
#VTFONT="jiskan16s.fnt"
#VTFONT="unifont-8.0.01.fnt"

if [ -f /usr/local/share/fonts/vt/$VTFONT ]; then
vidcontrol -f /usr/local/share/fonts/vt/$VTFONT
fi

.cshrc の設定

setenv LANG ja_JP.UTF-8
を忘れないように。

(2024.3.12初稿)

戻る