Ubuntu 22.04のVirtualBoxへのインストール手順のメモ
Ubuntu 22.04のVirtualBoxへのインストール手順をまとめてみた。 20.04と大差ないけど、微妙に違う点もあるので。
インストール媒体のダウロードはこちら:
Ubuntu Desktop 日本語 Remixのダウンロード
日本語環境構築するなら本家よりRemix版を使った方がなにかと便利(な気がする)。
本家はこちら
VirtualBox でインストールするときは、メインメモリーを4096MB以上に設定しておくこと
[!NOTE] 推奨環境が4GB以上なので。
ウィンドウマネージャだけ動いている状態で1GBちょい使用だったので、 2048MBでも動くと思う。でも、何か動かしたらすぐ足りなくなりそう。
それにしても、どんどん必要メモリが大きくなるな。
仮想環境で4GBってことは、HostOS環境下には8GB以上は必要ってことだよな。
プロセッサも2個割り当てておいた方が良いのかな?
これは様子見てからどうするか決めよう。
普通にインストール媒体からインストール。
終わったら、リブート。
初期設定は「次へ」を押すだけ 「Ubuntuの改善を支援する」のところは気になるなら「送信しません」に変更。
[!TIP] ウィンドウが画面からはみ出して「続ける」ボタンが押せないときは、Alt+F7キーを押したあと、マウスでドラッグすると ウィンドウを移動できるので、ボタンが見えるようところまで移動してクリックしてちょ。
以下の説明が図付きで分かりやすい:
Windows11上のVirtualBoxにUbuntu22.04LTSをインストール
Windows11って書いてあるけど、Windows10でも同じ。
ここの説明では「不完全な言語サポート」うんぬんの説明があるけど、日本語Remix版でインストールすると、この部分は不要みたい。
まだGuestAdditionをインストールしてないからコピペできないけど、BashのTab補完が効くので、 ちょろっと入力してあとは補完に頼れば大丈夫。
# ブランクスクリーン しない
gsettings set org.gnome.desktop.session idle-delay 0
# 自動画面ロック OFF
gsettings set org.gnome.desktop.screensaver lock-enabled false
GUIで設定する場合は以下の手順で。
[!TIP] ==== 画面ロックの抑制 ==============================================
システムの設定を起動し、左側でプライバシー > 画面 を選択
右側で画面ロックをクリックし、自動画面ロックをoffにする
[!TIP] ==== スクリーンセーバ(ブランクスクリーン)の抑制=====================
システムの設定を起動し、左側で電源管理を選択
右側で画面のブランクのドロップダウンリストで「しない」を選択
裏でソフトウェアの更新が動いていると、ロックファイルがロックされてしばらく適用できないので、
そうなっちゃったらお茶でも飲んでしばらくお待ちください。
ソフトウェアの更新による自動更新を止める方法は後ほど。
お約束。
sudo apt update
sudo apt upgrade
これが入ってないとGuestAdditionのインストールで失敗する
sudo apt install build-essential
なにかと使うのでインストール
sudo apt install net-tools
sudo apt install dconf-editor
sudo apt install gnome-tweaks
更新適用のため。
以前にマウントしたものが残ってたらアンマウントしておくこと(インストール後初めてなのでマウントされてることはないけれど)。
VirtualBox のメニューの「デバイス」→「Guest Additions CDイメージの挿入…」を選択
以下、ごにょごにょ。
[!TIPS] プログラムが自動で始まらない場合は、CDROMのマウント先(たぶん、
/media/<USER>/VBox_GAs_x.x.xx/
)に移動してsudo VBoxLinuxAdditions.run
を実行すれば良い。
GuestAdditionによる更新適用のため。
ここでVirtualboxの拡張機能が使えるようになっているので、
Virtualboxのメニューから「デバイス」→「クリップボードの共有」→「双方向」
を選択。
これでホストとゲストでクリップボードが共有できる。
使うツールがあったら残してちょ。
sudo apt remove thunderbird libreoffice-* simple-scan gnome-todo remmina cheese rhythmbox
# 個別に実行する場合はこちらでどうぞ。
sudo apt remove thunderbird
sudo apt remove libreoffice-*
sudo apt remove simple-scan
sudo apt remove gnome-todo
sudo apt remove remmina
sudo apt remove cheese
sudo apt remove rhythmbox
sudo apt remove aisleriot gnome-mahjongg gnome-mines gnome-sudoku
# 個別に実行する場合はこちらでどうぞ。
sudo apt remove aisleriot
sudo apt remove gnome-mahjongg
sudo apt remove gnome-mines
sudo apt remove gnome-sudoku
sudo apt autoremove
最近はUDEVゴシック がお気に入りなのでインストールしておく。
もちろん、他のフォントでもいいよ。
ブラウザでダウンロードしてもいいけど、あちこちファイルコピーしたり削除したりが面倒なので、
一時ファイルは/tmp
に突っ込んでリブート時にまとめて消してもらおう。
フォントのインストールと言っても、ttfファイルを入手して~/.fonts/
ディレクトリにコピるだけ。
下では全部コピってるけど、もちろん使いたいものだけでもOK。
pushd /tmp
wget https://github.com/yuru7/udev-gothic/releases/download/v1.0.0/UDEVGothic_v1.0.0.zip
unzip UDEVGothic_v1.0.0.zip
mkdir ~/.fonts
cp UDEVGothic_v1.0.0/*.ttf ~/.fonts/
popd
で、入手したフォントを端末のフォントに設定しておこう。
さっきフォントのインストールに使った端末ウィンドウを使うと
エラーで端末ウィンドウが落ちるかもしれないんで一旦終了して新しいウィンドウで。
端末を起動し、右上の「≡」→「設定」を選択
使用中のプロファイル(最初のは「名前なし」)を選択し、
「フォントを指定」にチェックを入れ、その右側でフォントを選ぶ
さっきインストールした「UDEV Gothic JPDOC」を選んでサイズを指定。
ついでに起動時の端末サイズも修正しておくとよい
終わったら×で終了。
もちろん、使うものだけでOK。
sudo mkdir /proj /work /work1 /work2 /NFSROOT
sudo chown $USER:$USER /proj /work* /NFSROOT
クローンしたディスクでGUIからgrubのupdateが行われるとハングアップするので変更しておく
sudo sh -c 'echo "set grub-pc/install_devices /dev/sda" | debconf-communicate'
# 確認
sudo sh -c 'echo "get grub-pc/install_devices" | debconf-communicate'
デフォルトのshがdashなのはなんとなくイヤなので。
pushd /bin
sudo ln -sf bash sh
popd
~/.bashrcに以下を追記。
もちろんお好みで。
「# for pyenv」以降はそれぞれのツールをインストールしたとき用なので、インストールしないならなくて可。
# プロンプトの設定
PS1="\w\$ "
# キーバインドの設定
bind '"\C-n": history-search-forward'
bind '"\C-p": history-search-backward'
# ディレクトリスタックの表示改善
function pushd() {
command pushd $* > /dev/null
command dirs -v
}
function popd() {
command popd $* > /dev/null
command dirs -v
}
function dirs() {
command dirs -v
}
# 表示色変更
export LS_COLORS='di=01;32:ln=01;36:ex=01;31:'
export GREP_COLORS='mt=01;31:ml=:cx=:fn=01;32:ln=32:bn=32:se=36'
# lessのオプション
export LESS="-iMR"
# for pyenv
export PYENV_ROOT=/proj/.pyenv #環境に合わせて修正してね
if [ -e $PYENV_ROOT ]; then
export PATH=$PYENV_ROOT/bin:$PATH
# 仮想環境名をプロンプトに表示しない場合は以下を有効化
# export VIRTUAL_ENV_DISABLE_PROMPT=1
eval "$(pyenv init --path)" # pyenv 2.0以降で必要
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
export PYTHON_CONFIGURE_OPTS="\
--enable-shared\
"
fi
# for nodenv
export NODENV_ROOT=/proj/.nodenv # 環境に合わせて修正してね
if [ -e $NODENV_ROOT ]; then
export PATH=$NODENV_ROOT/bin:$PATH
eval "$(nodenv init -)"
fi
# x11からのログイン以外ならDISPLAYを設定する
# Ubuntu22.04だとwaylandになるらしい
if [ "$XDG_SESSION_TYPE" != "x11" ] && [ "$XDG_SESSION_TYPE" != "wayland" ]; then
export DISPLAY=192.168.78.200:0.0
fi
echo DISPLAY="$DISPLAY"
# direnv 設定
if type direnv > /dev/null 2>&1; then
export EDITOR=vi
eval "$(direnv hook bash)"
# # venvの仮想環境名を表示するための設定
# show_virtual_env() {
# if [ -n "$VIRTUAL_ENV" ]; then
# echo "($(basename $VIRTUAL_ENV))"
# fi
# }
# PS1='$(show_virtual_env)'$PS1
fi
# openVINO の設定はdirenvで
# for openVINO
# source /opt/intel/openvino_2021/bin/setupvars.sh
以下のコマンドで無効化できる
gsettings set org.gnome.mutter auto-maximize false
gsettings set org.gnome.mutter edge-tiling false
以下のコマンドで設定できる
gsettings set org.gnome.desktop.wm.preferences auto-raise false
gsettings set org.gnome.desktop.wm.preferences focus-mode mouse
gsettings set org.gnome.desktop.wm.preferences raise-on-click true
[!NOTE] focus-mode の設定値 mouse と sloppy の違い
mouse は マウスカーソルをウィンドウからデスクトップに移すとフォーカスがはずれる。
sloppy は マウスカーソルをウィンドウからデスクトップに移してもフォーカスされたまま。
以下のコマンドで設定できる
Ubuntu20.04とちょっとキーが変更されてる
ゴミ箱は最初から表示されてないけど…ま、ついでに書いとく。
表示したければ、設定値をtrueにすれば良い。
gsettings set org.gnome.shell.extensions.ding show-home false
gsettings set org.gnome.shell.extensions.ding show-trash false
なんとなく使いにくいので好みのデザインに変更。
#ゴミ箱削除
gsettings set org.gnome.shell.extensions.dash-to-dock show-trash false
# アプリケーションをDockバーの上(または左)に表示
gsettings set org.gnome.shell.extensions.dash-to-dock show-apps-at-top true
# Dockバーを画面下に表示
gsettings set org.gnome.shell.extensions.dash-to-dock dock-position BOTTOM
# アイコンサイズの変更
gsettings set org.gnome.shell.extensions.dash-to-dock dash-max-icon-size 16
ツール本体のインストール
sudo apt install samba
/etc/samba/smb.conf に以下を追加
作らなかったワークディレクトリの部分は削除してね。
他にも共有したいディレクトリがあったら追加してちょ。
ここではOpenVINOのサンプルとか見たかったのでoptを共有してます。
[proj]
path = /proj
guest ok = no
writable = yes
map archive = no
share modes = yes
dos filetimes = yes
force group = yas-i
force create mode = 0664
force directory mode = 0665
[work1]
path = /work1
guest ok = no
writable = yes
map archive = no
share modes = yes
dos filetimes = yes
force group = yas-i
force create mode = 0664
force directory mode = 0665
[work2]
path = /work2
guest ok = no
writable = yes
map archive = no
share modes = yes
dos filetimes = yes
force group = yas-i
force create mode = 0664
force directory mode = 0665
[work]
path = /work
guest ok = no
writable = yes
map archive = no
share modes = yes
dos filetimes = yes
force group = yas-i
force create mode = 0664
force directory mode = 0665
[NFSROOT]
path = /NFSROOT
guest ok = no
writable = yes
map archive = no
share modes = yes
dos filetimes = yes
force group = yas-i
force create mode = 0664
force directory mode = 0665
[opt]
path = /opt
guest ok = no
writable = yes
map archive = no
share modes = yes
dos filetimes = yes
force group = yas-i
force create mode = 0664
force directory mode = 0665
[homes]
comment = Home Directories
browseable = no
# By default, the home directories are exported read-only. Change the
# next parameter to 'no' if you want to be able to write to them.
; read only = yes
read only = no
# File creation mask is set to 0700 for security reasons. If you want to
# create files with group=rw permissions, set next parameter to 0775.
; create mask = 0700
create mask = 0665
# Directory creation mask is set to 0700 for security reasons. If you want to
# create dirs. with group=rw permissions, set next parameter to 0775.
; directory mask = 0700
directory mask = 0775
# By default, \\server\username shares can be connected to by anyone
# with access to the samba server.
# Un-comment the following parameter to make sure that only "username"
# can connect to \\server\username
# This might need tweaking when using external authentication schemes
valid users = %S
ユーザの追加と再起動
sudo smbpasswd -a $USER
sudo service smbd reload
sudo service smbd restart
別のUbuntuマシンとか、RasberryPiとファイル共有したいときに備えて設定しておく。
インストール
sudo apt install nfs-kernel-server
/etc/exportsに以下を追加
/NFSROOT 192.168.0.0/255.255.0.0(rw,sync,no_root_squash)
[!NOTE] もちろん、192.168..に割り当てられたNICが有効化されている必要がある。
デフォルトのNATだけじゃダメよ~。
VirtualBoxの設定のネットワークアダプタでホストオンリーアダプタを割り当てておけば、 同一ホストマシン上の他の仮想マシンと通信できる。
VirtualBoxの設定のネットワークアダプタでブリッジアダプタを割り当てておけば RaspberryPi等ホストマシン外のマシンとも通信できる。
ネットワークアダプタは4つまで設定できるので、両方有効化しておくことも可。
再起動
sudo /etc/init.d/nfs-kernel-server restart
exportできているか確認
sudo exportfs
別のマシンからマウントできるか確認
IPアドレスはip address
とかifconfig
で調べてちょ。
mkdir abc
sudo mount 192.168.56.101:/NFSROOT abc/
# abcの下にリモートのファイルが見えたらOK
マウスカーソル小さくて見失う人は大きくしましょう。
最後の数字がカーソルの大きさなので、お好みのサイズで。
gsettings set org.gnome.desktop.interface cursor-size 48
または「設定」→「ユニバーサルアクセス」→「カーソルの大きさ」で選択
ファイル(nautilus)の設定をお好みに合わせて。
ファイル(nautilus)はすべて終了しておいた方が無難。
# アドレスバーをテキスト形式にする
gsettings set org.gnome.nautilus.preferences always-use-location-entry true
# 詳細表示をデフォルトに
gsettings set org.gnome.nautilus.preferences default-folder-viewer 'list-view'
# 隠しファイルを表示する
# 隠しファイルの表示はちょっと場所が違う
gsettings set org.gtk.Settings.FileChooser show-hidden true
自分のタイミングでソフトのアップデートができないのがストレスなので、以下で自動確認を停止。
もちろん、適時手動でアップデートするのを忘れずに。
Virtualbox環境ではWindowsで設定したのが有効になっているので必要ないが、Native Installの場合は以下のページを参考に入れ替えを設定する。
【Ubuntu 20.04/18.04 LTS】CapsLockとControlキーを入れ替える
リンク先は「Ubuntu 20.04/18.04 LTS」となっているが、Ubuntu22.04でも同じらしい。
Native環境にインストールしてないので未確認だけど…
リブート必要だが、以下のIPv6無効化とまとめてリブートでも可。
IPv6動いていて何度かハマったので無効化しておく。
sysctrlで無効化する方法もあるけど、ちょっと手順が面倒なので、起動オプションで無効化してしまおう。
参考:Ubuntu 20.04 LTS Focal FossaでIPv6アドレスを無効にする方法
/etc/default/grubの以下の部分(10行目あたり)にipv6.disable=1
を追加
元から設定されている”quiet splash”を削除すれば起動時のスプラッシュスクリーンが表示されず、ブートシーケンスのログが表示されるようになるので、お好みで。
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
↓
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash ipv6.disable=1"
# または、ブートシーケンスのログを表示したい場合は以下。
# GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1"
これだけだとまだ設定有効にならない。
以下のコマンドでgrubメニューの更新を行う。
sudo update-grub
リブートする
リブート後、ip address
とかifconfig
でIPv6のアドレスが割り当てられていないことを確認。
マスタイメージを残しておいて、色々な環境をお試しするには仮想マシンをクローンして使うのがおススメ。
VirtualBoxのメインウィンドウでマスタイメージの仮想マシンを右クリック→クローンを選択、名前とパスを設定し、あとはごにょごにょ…
クローンした仮想マシンを起動し、必要な変更を加える。
マシン名とか同じ名前だと色々不都合があるので、変更しておく。
他のクローン仮想環境と同時に使わないならそのままでも良いけど。
IPアドレスも固定で割り振っておくと名前が引けない時にさくっと分かってなにかと便利…なんだけど、最近はWindowsもUbuntuもRaspberryPiもmDNSがサポートされてるから自動割り当てのままでもそんなに不便はないかも。
このコマンドで/etc/hostname
が書き換えられる。
sudo nmcli general hostname hogehoge123
もちろん、vimとかで書き換えても可。
sudo sed -i -e 's/orghostname/hogehoge123/' /etc/hosts
下のコマンドを実行するための接続名を確認しておく。
nmcli connection show
IPアドレスを手動割り当てに変更。
sudo nmcli connection modify "有線接続 2" ipv4.method manual ipv4.addresses "192.168.56.123/24"
sudo nmcli connection down "有線接続 2"
sudo nmcli connection up "有線接続 2"
IPアドレスを手動割り当てに変更。
sudo nmcli connection modify "有線接続 3" ipv4.method manual ipv4.addresses "192.168.78.123/24" gw4 "192.168.78.1" ipv4.dns "192.168.78.1"
sudo nmcli connection down "有線接続 3"
sudo nmcli connection up "有線接続 3"
[!TIP] IPアドレスの変更をGUIで行うには以下。
システムの設定を起動(gnome-control-centerを実行)
左側のネットワークを選択し、対象のNICの設定を変更する
まとめて実行するならこちら。
ホスト名、接続名、IPアドレスなどは適宜変更。
# マシン番号の設定とホスト名の設定
number=30
new_hostname=skull${number}
# HOSTNAMEの変更
sudo nmcli general hostname ${new_hostname}
sudo sed -i -e "s/ubuntu-22.*$/${new_hostname}/" /etc/hosts
# HOST ONLY ADAPTERの設定変更
sudo nmcli connection modify "有線接続 2" ipv4.method manual ipv4.addresses "192.168.56.${number}/24"
sudo nmcli connection down "有線接続 2"
sudo nmcli connection up "有線接続 2"
# BRIDGE ADAPTERの設定変更
sudo nmcli connection modify "有線接続 3" ipv4.method manual ipv4.addresses "192.168.78.${number}/24" gw4 "192.168.78.1" ipv4.dns "192.168.78.1"
sudo nmcli connection down "有線接続 3"
sudo nmcli connection up "有線接続 3"
sudo apt update
sudo apt upgrade
VirtalBoxのバージョンが変更されているときは、GuestAdditionのバージョンアップも忘れずに。