やまちゃんのオーディオブログ

真空管アンプ、最近は資金調達のためのFX,MetaTrader4ネタもやっています。

mt4 fx自動売買 mql4

linuxの格安vps webarenaでmt4,セキュアにリモートデスクトップ(ubuntu,vnc,超軽量lxde利用)4 vncを使って、仮想デスクトップと接続する(パスワードのみで接続)。

投稿日:2020年7月15日 更新日:

目次

0 導入編
1 vpsであるwebarenaでインスタンスを作成する。
2 ubuntuのターミナルに暗号化した通信ssh(Secure Shell)でログインする。
3 ubuntuのターミナルから、wineをインストールする(mt4をインストールせず、仮想デスクトップだけを利用する方は飛ばしてください)
4 vncを使って、仮想デスクトップと接続する(パスワードのみで接続)。
5 秘密鍵を利用して、ポートフォア―ドを利用し、仮想デスクトップvncとセキュアに接続する。
6 ファイアーウォールの設定、ポート番号の変更をしてセキュリティを強化する。
7 仮想デスクトップvncで、セキュアな接続においてクリップボードを使えるようにする(適切に設定しなければ使えません)。
8 mt4をインストール

4 vncを使って、仮想デスクトップと接続する(パスワードのみで接続)。
(1)前提論
まずそもそも、vncというのはなんぞやというところから説明します。まず、linuxでは、Xwindowsとよく耳にすると思いますが、マウス操作が可能なデスクトップ環境を、クライアント(自宅のパソコン)に表示させる方法であって、bitmap形式でその画像を管理する方法の1つで、よく知られた方式の1つのようです。ここでは、自宅のWINDOWSマシンから遠隔操作するため、ultraVNCというソフトを使います。他にも、WINDOWSのリモートデスクトップを使う方法があり、接続方法もいろいろあります。
vncを使うのは、後でインストールするデスクトップ環境のlxdeをインストールした場合に、私が初めに接続できたという点で、容易な方法であることや、調べてみると、反応が比較的速い方法のようだからです(外部サイトの「SSHのX11Forwarding を使ってセキュアなリモートでGUIを操作する」の一番後ろのほう参照)。

ただし、vncは、bitmapを使っているので、画面を大きく、ビット深度を深くすると、ギガをかなり消費するようでして、このvnsを使い始めてから、月末に初めてfujiwifiのギガが足りなくなりました。通信がおかしいことが、ギガ不足が原因とは知らず、焦りました。

なお、画面の解像度の拡大縮小は簡単にはできなくて、sshコンソールで、コマンドラインないしファイルの設定により、数値入力で設定する必要があり、ウインドウで拡大縮小設定をすると、画面全体がピンボケになります。bitmap形式を扱っているので?

ここで、この記事では、セキュリティが甘いことを知りながら、あえて、まず、パスワードのみで接続する方法について説明します。

通信の確立をする際には、皆さんも経験済みとは思いますが、双方のパソコンの状態という少なくとも2つの要因があるだけでなく、通信経路など、動作しないたくさんの要因があり、全部を一足飛びにやると動かなくて、原因の究明が大変です。ラズベリーパイでも、sshで接続するだけでも、接続がうまくいかずに、設定が一苦労だったことを思い出します。

なので、これが動いた、あれが動いたと少しずつ確認し、経験していくことが重要と考えるので、簡単に接続できる方法から説明していきます。
セキュリティを強化すればするほど、動かない要素が増え、原因の究明が大変になっていきます。

なので、一度で、システムを確立できるとは思わないほうが良いかと思います。
何度か、インスタンスをつぶして、作り直す作業が必要です。そのうち、素早くシステム構成ができるようになっていきます。

 

(2) デスクトップ環境をインストールする。
ubuntuは、最小限としては、ターミナルのコマンドラインでOSとして成立するが、マウス操作が可能なデスクトップ環境を表示する方法としては、たくさんの種類があり(外部サイト「【Linux入門】重たいデスクトップランキング: Ubuntu Flavor で見るデスクトップ環境」参照)、そのデスクトップ環境を表示させる画面形成のソフトが、公開されています(これに対し、vncは、そのサーバーが作った画面を、クライアントにも表示させる通信手段のようです。)。このサイトでは、そのデスクトップ環境のソフトの中で、もっとも軽量なデスクトップとしては、lubuntuが挙げられているが、いろいろ試したところ、lxdeがさらに軽量であるように思われたので、これを入れます。
そもそも、mt4をインストールするには、ブラウザがあれば足り、ブラウザからソフトをダウンロードできれば足ります。

私が、なぜにlxdeがlubuntuより軽量と考えたかというと、いろいろと打開策を見出すうちに、lxdeを入れてから後にlubuntuを入れると、メニューの項目が増えたことから、lxdeとlubuntuは画面の構成がほぼ同じで、同系列だけれども、lxdeのほうが軽量ではないかと思ったからです。

そこで、lxdeをインストールします。

sudo apt-get install lxde

すぐにインストールが終わります。lubuntuのインストールは、以下ですが、

sudo apt install -y lubuntu-desktop

lxdeは、lubuntuよりもさらに、メニューが少なく、軽量ではないかと。。。

(3)vncをインストールする。
vncは、先ほど述べたように、vpsサーバーが、その上記lxdeなどで作成したデスクトップ環境の画像データを、おうちのクライアントパソコンに通信で写して、表示させる手段です。これにより、自宅で、vpsサーバーに対し、マウスでのグラフィカルな操作が可能になります。
vncは、もともと、セキュアな手段を持っていませんので、何もしなければ、パスワードで接続することになります。

(ⅰ)vncサーバーをインストールします。
ここでは、Tera Termから、「vnc4server」をインストールします。

sudo apt-get install vnc4server

インストールできれば、vps(サーバー)上に画面を構成できます。おそらくサーバー内に、仮想の画面を、メモリ内にbitmap画像として、構築しているのではないかと思います。vncは、その画面を通信により、クライアントに提供している?

(ii)vncサーバーの利用方法
vnc
サーバーとして働くようでして、クライアント(おうちのPC)は、当該vncサーバー(vpsで動作するデスクトップ画面提供システム)に対し、クライアントに対応した画面を形成するように要求でき、別々のクライアントから、各々別々の画面を立ち上げることができます。
sshのターミナルであるtera termから、例えば、単に

vncserver

とすれば、vps(サーバー)上で、新たな画面を作成します。画面の番号は空いている番号を小さい番号順に作成するようです。

ただし、最初にこのコマンドを打つときは、その現在のユーザー(ここでは「ubuntu」)に対し、パスワードの設定が求められます。

<<ここで、(以前にやった暗号鍵を通さずに)パスワードのみでログインできてしまうので、ここでは、6文字以上8文字以下で、複雑なパスワードを設定しておくべきです。ネット上ではロボットが巡回してセキュリティの甘いサイトを自動的に乗っ取ろうと画策しており、vncのポート(5901番以降)はそのようなロボットの検索対象となっています。1分も立たないうちに、パスワードをたくさん試行することがなされるようですから、パスワードでのログインは厳重にしておくべきです。セキュリティが高いパスワードを作りたいときは、「パスワード作成」などとネット検索すれば、より強いパスワードを作成してくれるサイトが見つかります。
windows10には、付属の付箋ソフトがあるので、そこにパスワードを記載しておけば、手書きでメモする必要もなく、紛失を回避できます。>>

vncの使用方法としては、種々のサイトでまず新規のユーザーを作れと、解説しているかと思います。私も初めはそうしていました。

しかし、ここでは、ユーザーを「ubuntu」としてよいです(後述で修正)。

将来的には、後で述べるように暗号鍵でセキュアに接続するので、その暗号鍵での接続には、以前に述べたようにユーザーを「ubuntu」とすることが求められ(新規ユーザを作り、新規の暗号鍵で接続する方法があるようですが)、したがって、簡易にセキュアに接続するには、ユーザーを特に追加することなく、ユーザー「ubuntu」の状態で、vncserverというコマンドを入力し、vncのパスワードを設定しておくのがよいです。

2020/7/16 追記
すいません。修正します。今後ともパスワードでのみ接続される方は特に、ubuntuは準スーパーユーザなので、システムに不当なアプリを入れられないよう、「adduser xx」で準スーパーユーザでないユーザを作成し、以下に進んでください。また、後述のvncserverコマンドでパスワードを入力した直後から、暗号かぎを用意しているにもかかわらず、そのユーザーについては、vncでパスワードでログインできてしまいます。ユーザー「ubuntu」でvncのパスワードを入力した場合は、準スーパーユーザであることを考慮して、次章まで動作を確認したら、念のため、いったん、インスタンスを廃棄し、6章のとおり、5901ポートを閉じたうえで、やりなおすのがよいと思います。

 

脱線が長くなりましたが、上記の通り、vncのパスワードを設定した場合、画面の番号を指定して接続する場合には、sshのターミナルから、

vncserver :1

とすれば、画面番号1の画面を作成します。1の部分を変えれば任意の画面番号を作成します。

(iii)自宅パソコン(クライアント)には、クライアントのソフトをインストールします。
ここでは、WINDOWSのUltraVncをインストールしてみましょう。
これをインストールすると、windowsのスタートメニューの「U」にたくさんアイコンが並んでいますが、

「UltraVnc Viewer」とのみ記載されているものを選びます。


サーバで作成したこのような画面については、クライアントからは、UltraVncのソフトを立ち上げ、indigoにログインした画面で表示されるvpsのインスタンスのアドレスを「123.456.789.012」とすれば、「123.456.789.012:1」と入力すれば、接続できます。または、vnsのポート番号は、(初期設定で)5901から始まる値となっており、ポート番号5901などを用いて、「123.456.789.012:5901」などと入力して、接続できます。5901から始まるポートは、サーバで作成したこのような画面の番号と対応しており、例えば、画面5には、ポート番号5905からアクセスできます。
アドレスを入力すれば、次の画面で、パスワードを入力でき、これを入力すれば、vpsサーバー上のvncと接続できます。

また、画面を初期化するなどの場合、

vncserver -kill :1

とすれば、画面番号1の画面を消去します。もう一度vncserver:1などとすれば、再起動できます。

(4)画面の修正
以上で説明したvns経由でログインすると、確かに画面は表示されますが、何も表示されないグレーの画面となります(外部サイト「UbuntuのVNC接続したらグレーの画面が出てくる」)。
WINDOWSのようにスタートメニューが出ません。右クリックを押せば、いわゆるツールメニューが出てきて、ブラウザも利用でき、これで一応用足れりですが、これではあまりに寂しいので、このサイトの通り、vpsの設定を修正します。編集(エディタ)のソフトとしては、初心者には、nanoが編集しやすく、

nano ~/.vnc/xstartup

とします。「xstartup」は、vncで、最初に立ち上がる設定ファイルのようです。
そうすると、カーソルで、編集できるので、/usr/bin/startlxdeを追加するなど、このサイトの通り、修正します。

#vncconfig -iconic &
#x-terminal-emulator -geometry 80×24+10+10 -ls -title “$VNCDESKTOP Desktop” &
#x-window-manager &
xrdb $HOME/.Xresources
lxsession -s LXDE &
/etc/X11/Xsession
/usr/bin/startlxde

十字キーで、カーソルを移動、マウスの右でペースト、ctrl+oで保存、ctrl+xで、エディタを終了です。

その後、vncserver -kill :1 → vncserver :1(番号は、適宜自身の環境に合わせてください)などして、vncサーバーを立ち上げなおし、クライアントのUltraVncも立ち上げなおすと、スタートメニューが表示されます。
「/usr/bin/startlxde」は、スタートメニューを表示するのに必要で、「/etc/X11/Xsession」はクリップボードに入れたものを、vnc上でもコピーペーストするのに必要です。
なお、カーソルが「×」であるのは、このグレー画面を修正しても同じです。

(5)以上の設定で分かったこと
lxde,Vncserver,UltraVncがすべて、問題なく起動していることが理解できました。少しずつ積み重ねていくことが非常に重要です。

-mt4 fx自動売買 mql4

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連記事

no image

linuxの格安vps webarenaでmt4,セキュアにリモートデスクトップ(ubuntu,vnc,超軽量lxde利用):3 ubuntuのターミナルから、wineをインストールする

目次 0 導入編 1 vpsであるwebarenaでインスタンスを作成する。 2 ubuntuのターミナルに暗号化した通信ssh(Secure Shell)でログインする。 3 ubuntuのターミナ …

no image

MT4 dllでグラフ表示(一瞬でバックテストのグラフ)

MT4ネタです。 MT4において、プログラミングにより別フォームでグラフを表示できないかと模索したので、示します。 1 はじめに MT4では、dllを使えば、C言語のサブルーチンを追加できます。 そこ …

no image

MT4 EA化する(インジケータをEAに作り変える)方法(一瞬で)本邦初公開

MT4 MetaTrader4においてインジケータをEA化する(自動売買ソフトに作り変える)方法について説明していきます。 しかも一瞬で作り変えます。 FXネタです。 これもネットでは、公開されていま …

no image

MetaTrader4 プロジェクト管理(やまちゃんずフレームワーク)

MetaTrader4(MT4)のプログラミング言語mql4のプロジェクト管理、ファイル分割について説明していきます。これらの体系的説明は今までネットを見てもほぼ皆無でした。なので、プロジェクト管理を …

no image

linuxの格安vps webarenaでmt4,セキュアにリモートデスクトップ(ubuntu,vnc,超軽量lxde利用):2 SSHでubuntuに接続

目次 0 導入編 1 vpsであるwebarenaでインスタンスを作成する。 2 ubuntuのターミナルに暗号化した通信ssh(Secure Shell)でログインする。 3 ubuntuのターミナ …

[最近の記事]
2020年7月
 1234
567891011
12131415161718
19202122232425
262728293031