環境
- Windows 10 Home 64bit(接続元)
- TigerVNCクライアント
- 接続元-接続先間でVNC(ここではGUI)接続を実現
- Teraterm
- VNC接続の際にSSHポート転送機能を利用
- TigerVNCクライアント
- Ubuntu 20.04 64bit(接続先)
- TigerVNCサーバ
- 接続元-接続先間でGUI接続を実現
- Octave(Ver 5.2.0)
- 主に数値解析を目的とした高レベルプログラミング言語環境
https://www.gnu.org/software/octave/index - 無料
- 主に数値解析を目的とした高レベルプログラミング言語環境
- dynare(Ver 4.6.0)
- 様々な経済モデルを処理するためのソフトウェアプラットフォーム
https://www.dynare.org/ - Octaveのアドインとして機能
- 無料
- 様々な経済モデルを処理するためのソフトウェアプラットフォーム
- TigerVNCサーバ
手順
1. クラウドサーバ(Virtual Server for Classic)を注文
- サイト
- タイプ・スペック
- 仮想サーバのタイプ:一時
- ロケーション: TOK05 東京
- プロファイル: 平衡型 | B1.2x4(vCPU 2 RAM 4GB SANストレージ 25GB)
- OS: Ubuntu 20.04 LTS Focal Fossa Minimal Install(64bit)
- パブリック・セキュリティー・グループ: allow_outbound
- クラウドサーバに端を発したパブリックインターフェースを介した外部への通信(パブリックアウトバウンド)とその応答のみを許可
- アップリンク・ポート速度: 100Mbps
2. SSL-VPN通信でプライベート側からサーバにsshなどで接続し、Octave・dynareなどをインストール
apt update -y
apt upgrade -y
apt install octave dynare liboctave-dev x13as -y
3. 続けてGUI環境を導入すると共にVNC接続できるよう設定
apt install tasksel -y
tasksel install ubuntu-desktop
systemctl set-default graphical.target
reboot # 再起動後、サーバに再接続
apt install tigervnc-standalone-server -y # TigerVNCサーバをダウンロード
adduser vncuser
usermod -a -G sudo vncuser
su vncuser
vncpasswd # パスワードを入力後、以下のように出力されるのでnを入力
Would you like to enter a view-only password (y/n)? n
sudo vncserver -localhost no
sudo vncserver -list # 例えば以下のように出力される
X DISPLAY # RFB PORT # PROCESS ID
:1 5901 1917
4. クライアント側でSSHポート転送機能を有効化、また、VNC接続できるよう設定、その上でVNC接続を実行
- Teratermをダウンロード(ない場合)
- サイト
- 設定(SSHポート転送を有効化)
- TigerVNCクライアントをダウンロード
- サイト: vncviewer64-1.12.0.exe
- 設定
5. terminalを起動させてviなどで今回実⾏する実物的景気循環モデル(Real Business Cycle Model)のファイルを作成
コード
rbc.mod
var c k y A; // 消費、資本、生産量(=需要量)、技術的ショック
varexo e; // ホワイトノイズ
parameters alpha beta delta rho sdG;
alpha=0.37; // 資本の弾力性
beta=0.98; // 主観割引率
delta=0.06/4; // 資本減耗率
rho=0.8; // ショックの持続性
sdG = 0.25; // ショック値
model;
1/exp(c) = beta*(1 - delta + alpha*exp(A(+1))*exp(k)^(alpha-1))*1/exp(c(+1));
exp(y) = exp(c) + exp(k) - (1 - delta)*exp(k(-1));
exp(y) = exp(A)*exp(k(-1))^(alpha);
A = rho*A(-1) + e;
end;
check;
shocks;
var e = sdG^2;
end;
stoch_simul(periods=350);
6 terminalからOctaveを起動(octave --gui)
7 OctaveのCommand Windowでdynareを実⾏(dynare rbc.mod)
実行結果
8 VNC接続を終了(vncserver -kill :1、1はX DISPLAY番号、vncserver -listで確認可)
参考
Ubuntu 20.04にVNCサーバーをインストールする⽅法
https://tutorialcrawler.com/ubuntu-debian/ubuntu-20-04%E3%81%ABvnc%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/
VNC 利⽤⼿順まとめ
https://qiita.com/ryo-sato/items/7cf2da401dd13dd4f36d