LoginSignup
5
2

More than 5 years have passed since last update.

NetBSD上に最小限のデスクトップ環境を用意する+VNCでアクセスできるようにする

Last updated at Posted at 2018-12-01

NetBSD Advent Calendar 2018、1日目の記事です。日もとっぷり暮れてしまってからの投稿です...。
今日はNetBSDをデスクトップ用途で使う場合の設定手順を紹介しようと思います。

背景

sshとかで端末にログインして作業するような生活をしていると、「GUIは無くてもまあ何とかなる」と思ってしまうことがあります。とはいえ、古いノートPCにNetBSDをインストールして利用するような場合にはGUI環境があれば良いなと思うこともあります。

もちろんNetBSDでもGUIな環境は構築できますが、毎回手順を忘れてググるのと、微妙にハマったりすることがあるので、備忘録的な意味も兼ねて設定手順を記録しておきます。

手順を試してみた環境

今回はNetBSD-8.0(amd64)な環境で手順を試しています。

今回のゴール

今回構築するGUI環境では、以下ができればOKとします。

  • X11の設定手順が行えること
  • デスクトップ環境が利用できる状態になること
  • 日本語入力が行えること
  • VNCでリモートからアクセスできるようになること

事前準備

GUI環境の設定に際して、以下の項目は事前に設定を済ませた状態にしておきます。

必要なパッケージ

まずは今回の設定に必要となるパッケージをインストールします。

$ # Xfceデスクトップ環境用のパッケージ
$ sudo -i pkg_add -v xfce4 xfce4-panel xfce4-wm-themes xfce4-icon-theme
$
$ # 日本語フォント
$ sudo -i pkg_add -v ja-sazanami-ttf
$
$ # 日本語入力用のパッケージ
$ sudo -i pkg_add -v scim-uim scim-anthy
$
$ # VNCサーバ
$ sudo -i pkg_add tigervnc
$
$ # メモ帳的なアプリケーション
$ sudo -i pkg_add -v leafpad
$
$ # Webブラウザ
$ sudo -i pkg_add -v firefox

また、 pkgse というパッケージをインストールしておくと、Yumで言うところの yum search 的なことができて便利です。

$ sudo -i pkg_add -v pkgse

X11の設定

X11の設定は、以前の記事にもあるように、以下の手順で /etc/xorg.conf を用意すればOKです。

$ sudo Xorg -configure
$ sudo X -config /root/xorg.conf.new
$ sudo cp /root/xorg.conf.new /etc/xorg.conf

X11起動時にXfceを起動させる

X11の起動は xinit コマンドで行いますが、その際に $HOME/xinitrc を用意しておくとX11の起動と共にXfceが立ち上がります。

私の環境では以下のような $HOME/.xinitrc を用意しています。

# .xinitrc

[ $HOME/.Xmodmap ] && xmodmap $HOME/.Xmodmap

export LANG=ja_JP.UTF-8

# ASCII文字の0x07(BEL)が来ても音を鳴らさないようにする
xset b off
# デスクトップの背景色を紺色にする
xsetroot -solid midnightblue

# プロジェクタでデスクトップを移す際の画面サイズ設定
# (ノートPCとかでない限り不要な設定かも)
#xrandr --addmode VGA 1280x800
#xrandr --addmode VGA 1024x768

# 日本語入力周りの設定
export GTK_IM_MODULE=uim
export QT_IM_MODULE=uim
uim-xim &
uim-toolbar-gtk &
export XMODIFIERS="@im=uim"

# Xfceを起動する
exec xfce4-session

日本語入力まわりの設定

今回の日本語入力設定では、 uimanthy を使用します。

日本語入力ON/OFFキーの変更

Anthyのデフォルト設定では、日本語入力のON/OFFを行うキーシーケンスが Shift+SPACE になっています。知らないと微妙にハマる(日本語入力ONの状態から戻せなくなる)ので、自分の使いやすいキーシーケンスに変更しておきます。今回は Shift+O に設定してみます。

以下のコマンドでUIMの設定画面を開きます。

$ uim-pref-gtk

img001.png

Anthyのオン・オフのキーシーケンスを設定します。キーを取得した後に「追加(A)」を押さないと設定が有効にならないので注意してください(忘れがちです...)。
img002.png

設定が完了したら、最後に「適用」または「OK」ボタンを押します(これも忘れがちです...)。
img003.png

これで日本語入力が行えるようになりました。
img004.png

VNCの設定

次はVNCの設定です。コンソールから xinit コマンドを実行するとX11起動→Xfce起動となりますが、VNCのデフォルト設定では $HOME/.xinitrc を読み込みません。
そのため、以下の手順でVNCサーバ起動時に $HOME/.xinitrc のが参照されるようにします。

VNCでもXfceが起動するようにする

具体的にはVNC(tigervnc)の設定ファイルである $HOME/.vnc/xstartup.xinitrc を実行するように設定します。なので、 $HOME/.xinitrcchmod +x しておきます。

#!/bin/sh

unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
OS=`uname -s`
if [ $OS = 'Linux' ]; then
  case "$WINDOWMANAGER" in
    *gnome*)
      if [ -e /etc/SuSE-release ]; then
        PATH=$PATH:/opt/gnome/bin
        export PATH
      fi
      ;;
  esac
fi
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
$HOME/.xinitrc

VNCサーバを起動します。

$ vncserver -depth 24 :0

VNCにセキュアに接続する

VNC自体は暗号化の機能を提供しないため、ローカルマシンの仮想マシン上で動かすような場合を除き、何らかのセキュリティ確保が必要です。一番手っ取り早い対応方法は、sshのトンネリング機能を利用するというものです。

以下の手順で5900番ポートの通信はsshによって暗号化されます。この方法であれば、クラウド上のインスタンスで動作しているVNCサーバにも安全に接続できます。

$ ssh -L 5900:localhost:5900 <ホスト名>

まとめ

NetBSDで最小限のデスクトップ環境を設定する手順を紹介しました。
後は必要に応じてパッケージでGUIなアプリケーションをインストールすれば通常利用においてはあまり困らないかと思います。

明日の記事ではNetBSDを利用したUSBメモリのちょっとした利用Tipsを紹介できればと思います。

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2