2018年1月7日日曜日

VagrantでTigerVNC ServerとFreeplane、Xfceデスクトップ環境がインストールされた仮想マシン(Ubuntu16.04)を構築する

Freeplaneでマインドマップを描画することができます。

〇Freeplaneの画面


仮想マシンの構築方法

以下のVagrantfileを使用して、TigerVNC ServerとFreeplane、Xfceデスクトップ環境をインストールした仮想マシン(Ubuntu16.04)を構築する事ができます。
仮想マシン構築後、VNCクライアントから192.168.1.113:5901にアクセスします。パスワードはvagrantです。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/ubuntu-16.04"
  config.vm.hostname = "ub1604vncxfcefreeplane"
  config.vm.network :public_network, ip:"192.168.1.113"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "ub1604vncxfcefreeplane"
     vbox.gui = true
     vbox.cpus = 4
     vbox.memory = 4096
  end
  config.vm.provision "shell", inline: <<-SHELL
sed -i.bak -e "s#http://archive.ubuntu.com/ubuntu/#http://ftp.riken.jp/pub/Linux/ubuntu/#g" /etc/apt/sources.list
localectl set-locale LANG=ja_JP.UTF-8 LANGUAGE="ja_JP:ja" 
localectl set-keymap jp106
apt-get update
DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade
#apt-get -y install fcitx-mozc xubuntu-desktop language-pack-ja tightvncserver expect
apt-get -y install fcitx-mozc xubuntu-desktop language-pack-ja vnc4server expect
im-config -n fcitx

# set passwd for vnc
cat << EOC > /tmp/initpass.sh
/usr/bin/expect << EOF
spawn "vncpasswd"
expect "Password:"
send "vagrant\\r"
expect "Verify:"
send "vagrant\\r"
expect "Would you like to enter a view-only password (y/n)?"
send "n\\r"
expect eof
exit
EOF
EOC
chmod +x /tmp/initpass.sh
sudo -u vagrant -H /bin/bash -c "/tmp/initpass.sh"

sudo -u vagrant -H /bin/bash -c "/usr/bin/vncserver"
#sudo -u vagrant -H /usr/bin/vncserver -kil :1

echo 'xfce4-session &' >> /home/vagrant/.vnc/xstartup
chown vagrant:vagrant /home/vagrant/.vnc/xstartup

cat << EOF > /etc/systemd/system/vnc@.service
[Unit]
Description=tightvncserver
After=syslog.target network.target
[Service]
Type=forking
User=vagrant
PAMName=login
PIDFile=/home/vagrant/.vnc/%H:%i.pid
ExecStartPre=/bin/bash -c "/usr/bin/vncserver -kill :%i || exit 0"
ExecStart=/usr/bin/vncserver -geometry 1280x800 -depth 24 :%i
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
EOF
systemctl enable vnc@1.service
systemctl dbus start

cat << EOC > /tmp/startvnc.sh
/usr/bin/expect << EOF
spawn systemctl start vnc@1.service
expect "Password:"
send "vagrant\\r"
expect eof
exit
EOF
EOC

chmod +x /tmp/startvnc.sh
sudo -u vagrant -H /bin/bash -c "/tmp/startvnc.sh"


# install java
apt-get -y install openjdk-8-jdk

# Freeplaneのダウンロード
wget -O freeplane.deb 'https://sourceforge.net/projects/freeplane/files/freeplane%20stable/freeplane_1.6.11%7Eupstream-1_all.deb'
dpkg -i freeplane.deb

SHELL
end

関連情報

・Freeplaneに関する他の情報はこちらを参照してください。

・プロジェクトWebサイト
https://www.freeplane.org/wiki/index.php/Home

0 件のコメント:

コメントを投稿