Windows のデスクトップアプリをSSHクライアントから再起動する

Windows
スポンサーリンク

シェルスプリクト一発で、システムトレードの設定を一括で更新して、MT4を再起動したいとかそういうときあるじゃないですか。やってみました。

Windows で SSH サーバーを立てる

この前書きました。

Bitvise SSH Server にでストップとの対話を許可

コントロールパネルのサービスから、Bitvise SSH Server のプロパティを起動して、ログオンのタブのデスクトップとの対話を許可にチェックを入れてサービスを再起動。

SSHクライアントから特定アプリを終了させる

ssh windows-ssh-server "bash -c \"ps -W | awk '/terminal.exe/,NF=1' | xargs kill -f\""

SSHクライアントから特定アプリを起動する

PSToolsを使わないと、SSHクライアント上からstartコマンドで起動しても、GUIが表示されない。

PSToolsを入手

PSToolsを取得するためのexpectスプリクトです。適当なファイル名に保存して、expect pstools.exp windows-ssh-server とかで起動すればPSToolsの設定を勝手にやってくれます。

#!/usr/bin/expect
set pc_name [lindex $argv 0]
set prompt "(%|#|\\$) $"
set timeout 5
spawn ssh $pc_name
expect -re $prompt
send "wget http://download.sysinternals.com/files/PSTools.zip\n"
expect -re $prompt
send "unzip PSTools.zip -d /c/PSTools\n"
expect -re $prompt
send "rm PSTools.zip\n"
expect -re $prompt
send "exit\n"
expect eof

PSToolsを使ったWindows GUIアプリケーションの起動方法

ssh windows-ssh-server '/c/PSTools/PsExec.exe -i -d -s -accepteula \\127.0.0.1 "/c/Program Files (x86)/MT4 Terminal/terminal.exe"'

コメント

タイトルとURLをコピーしました