2017年11月6日月曜日

VagrantでPyCharmとGnome Desktop環境、XRDPがインストールされた仮想マシン(CentOS7.4)を構築する

PyCharmはPython用の統合開発環境です。

仮想マシンの構築方法

以下のVagrantfileを使用して、PyCharmとGnome Desktop環境、XRDPをインストールした仮想マシンを構築できます。
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はVagrant、パスワードもVagrantでログオンできます。
PyCharmを起動するには、デスクトップにあるPyCharmという名称のアイコンをダブルクリックします。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-7.4"
  config.vm.hostname = "co74pycharm"
  config.vm.network :public_network, ip:"192.168.1.111"
  config.vm.network "private_network", ip: "192.168.55.111", :netmask => "255.255.255.0"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co74pycharm"
     vbox.gui = true
     vbox.cpus = 4
     vbox.memory = 4096
    vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
  config.vm.provision "shell", inline: <<-SHELL
yum -y install wget
# 日本語のロケールを設定
localectl set-locale LANG=ja_JP.UTF-8


# GUIに関連するパッケージをインストール
sudo yum -y groupinstall "Server with GUI"
#sudo yum -y groupinstall "GNOME Desktop"
# 不要なダイアログを表示されないようにする
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-welcome-tour.desktop"
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-software-service.desktop"
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-settings-daemon.desktop"
sudo systemctl disable initial-setup-graphical.service
sudo systemctl disable initial-setup-text.service

sudo systemctl set-default graphical.target

# いったんAutomatic Loginモードに変更
cp /etc/gdm/custom.conf /etc/gdm/custom.conf.org
cat << EOF > /etc/gdm/custom.conf
# GDM configuration storage

[daemon]
AutomaticLogin=vagrant
AutomaticLoginEnable=True
[security]

[xdmcp]

[chooser]

[debug]
# Uncomment the line below to turn on debugging
#Enable=true
EOF
cat << EOF >> /home/vagrant/.bashrc
if [[ -v DISPLAY ]]; then
   setxkbmap jp -model jp106
fi
EOF
service gdm restart
sleep 10
sudo -u vagrant sh -c "export DISPLAY=:0 && gsettings set org.gnome.desktop.input-sources sources \\"[('ibus', 'kkc'), ('xkb', 'us')]\\""
sudo -u vagrant sh -c "export DISPLAY=:0 && gsettings set org.gnome.desktop.wm.keybindings switch-input-source \\"['space']\\""
sudo -u vagrant sh -c "export DISPLAY=:0 && gsettings set org.gnome.settings-daemon.plugins.keyboard active false"

# Automatic Loginモード終了
cp -f /etc/gdm/custom.conf.org /etc/gdm/custom.conf
service gdm restart


# XRDPをインストールして、リモートデスクトップでログインできるようにする。
yum -y install epel-release
yum -y install xrdp tigervnc-server

chcon -t bin_t /usr/sbin/xrdp
chcon -t bin_t /usr/sbin/xrdp-sesman
sed -i "s/max_bpp=32/max_bpp=24/" /etc/xrdp/xrdp.ini
systemctl start xrdp.service
systemctl enable xrdp.service

# PyCharm community editionのダウンロード
wget https://download.jetbrains.com/python/pycharm-community-2017.2.3.tar.gz
tar xvfz pycharm-community-2017.2.3.tar.gz
mv pycharm-community-2017.2.3 /opt/pycharm-community

# PyCharmのショートカットを作成
mkdir -p /home/vagrant/デスクトップ/
chown vagrant:vagrant /home/vagrant/デスクトップ/
cat << EOF > /home/vagrant/デスクトップ/pycharm.desktop
#!/usr/bin/env xdg-open

[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=sh -c "setxkbmap jp -model jp106 && /opt/pycharm-community/bin/pycharm.sh"
Name=PyCharm
Icon=/opt/pycharm-community/bin/pycharm.png
EOF
chmod +x /home/vagrant/デスクトップ/pycharm.desktop
chown vagrant:vagrant /home/vagrant/デスクトップ/pycharm.desktop

SHELL
end

○デスクトップ画面


○PyCharmの画面


関連情報

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

0 件のコメント:

コメントを投稿