2019/08/12(月)Tera Term の「リンク」と「接続」
2021/05/18 20:15
Tera Term の「リンク」と「接続」
Tera Term は、複数のプログラムで構成されていて、相互にプロセス間通信をすることで成り立っています。Tera Term のヘルプから画像を引用します。
上記の図からは Tera Term 本体 (ttermpro.exe) と Tera Term マクロ実行プログラム (ttpmacro.exe) が異なることがわかります。
「リンク」と「接続」の違いを説明する上で、これの理解が必要になります。
リンク
Tera Term マクロ実行プログラム (ttpmacro.exe) から見た Tera Term 本体 (ttermpro.exe) へのアクセス有無を「リンク」と呼んでいます。このため、マクロが Tera Term 本体へ通信している状態を「リンクしている」と呼び、マクロが Tera Term 本体へ通信していない状態を「リンクしていない」と呼んでいます。
リンクするためには ttpmacro.exe が connect 等で ttermpro.exe と DDE によるプロセス間通信を行う必要があります。
DDE については、このページの下部にもう少し技術的な内容を書いたのでここでは省略します。
また Tera Term を終了した場合、デフォルト設定では併せてリンクも終了するようになっています。
Point:
DDE による Tera Term 内アプリケーション同士のプロセス間通信。
接続
Tera Term 本体が「Tera Term を構成するプログラム以外」のサーバやスイッチングハブ等と通信している状態を「接続」や「アクセス」と呼んでいます。Telnet や SSH 等のプロトコルで通信している状態ですね。
Point:
TCP/IP による通信。
DDE
DDE (Dynamic Data Exchange) は日本語で「動的データ交換」とも呼ばれる Windows 2.0 (1987年) の時代に発表されたプロセス間通信のメカニズムです。DDE 通信から見た Tera Term の「リンク」は Tera Term 本体がサーバ、マクロ実行プログラムがクライアントになっています。
サーバ - クライアントモデルで通信していると書くと TCP/IP による Telnet や ssh との通信と混乱しかねませんが、実のところ概念は同じものでも利用している技術が異なります。
OLE (Object Linking and Embeddin) の登場以降では活躍の場が少なくなったものの VBA といったマクロを介さず利用できることから 2017 年 10 月にはセキュリティ研究者が DDE を悪用したマルウェア拡散手順を公開、2017年12月には Word の DDE 機能がデフォルトで Disable される*1という変遷がありました。
https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/ADV170021
この攻撃手法については https://www.ipa.go.jp/files/000063813.pdf に詳しいため、参照いただければ幸いです。
参照先の PDF では「この文書には、他のファイルへのリンクが含まれています。リンクされたファイルのデータでこの文書を更新しますか?」といったダイアログボックスが表示されていることがわかります。
これらのことから、セキュリティの向上という名目で DDE が無効化される流れも想像できます。
Windows で DDE が利用できなくなると Tera Term マクロが動作しなくなります。
2019/08/08(木)SCP のダウンロード先をデスクトップに
2021/05/21 06:58
SCP のダウンロード先をデスクトップに
https://osdn.net/projects/ttssh2/forums/5841/41014/#forum-message-83348これに口をはさんだ後で「マクロで作るならどうやるだろう?」と思ってしまったので作ったマクロ。
inputbox でダウンロードするデータを指定しておいて、デスクトップに送ってみる。
; ダウンロードするファイルの指定 inputbox 'Download file' 'input' SrcFileName = inputstr ; ダウンロード先 expandenv BaseDir '%HOMEDRIVE%%HOMEPATH%' sprintf2 DestFileName "%s\Desktop\%s" BaseDir SrcFileName messagebox DestFileName 'DestFileName' ; コマンド scprecv <remote file name> [<local file name>] ;scprecv SrcFileName DestFileName
ここまで書いて、私は思いました。
「……あ、これ .ttl ファイルをダブルクリックしただけじゃだめじゃん。」
そう、メニューから「コントロール」→「マクロ」で呼び出さないといけません。
うーん、デスクトップ指定が面倒だと言っているのに、あんまり面倒さが変わらないw
というか、だ。
自分が Tera Term の SCP 機能を使うときは、ダウンロード先を開いたうえで、ソースとデストのパスをそれぞれテキストエディタにコピペしてた。
ソースは Tera Term の画面で echo $(pwd)/xxx とかでフルパス出力させればコピペも楽だったし。
他の人……というか同僚が WinSCP を使う中、自分だけそんなやり方をしてたのを思い出す。
うーん、サンプルマクロの記事としては微妙なので、技術メモとして。
何か応用効くかなぁ……
一応、上記サンプルマクロのバージョン情報を。
種別:通信 | Ver | 機能の簡易説明 |
---|---|---|
scprecv | 4.57以降 | SCPプロトコルでファイルを受信する。 |
種別:文字列操作 | Ver | 機能の簡易説明 |
expandenv | 4.71以降 | 環境変数文字列を展開する。 |
sprintf2 | 4.62以降 | フォーマットされた出力を返す。 |
種別:その他 | Ver | 機能の簡易説明 |
inputbox | 文字列を入力するためのダイアログボックスを開く。 | |
4.53以降 | デフォルト入力文字を設定するオプションの追加。 | |
4.54以降 | 特殊文字の解釈を制御するオプションの追加。 | |
messagebox | ダイアログボックスを開き、ユーザーにメッセージを知らせる。 | |
4.54以降 | 特殊文字の解釈を制御するオプションの追加。 | |
4.60以降 | キャンセル時にマクロ停止を確認する機能の追加。 |
Tera Term 本体が、環境変数をデフォルトで解釈してくれるならすごくうれしい。
2019/08/01(木)正規表現 Oniguruma の利用バージョン
2024/03/06 15:32
正規表現 Oniguruma の利用バージョン
Tera Term で利用されている鬼車 (正規表現エンジン) のバージョンを、更新履歴からリストアップしてみました。何に役立つのか分からない情報なため、とりあえずメモとして。
Tera Term バージョン | 鬼車バージョン |
---|---|
2023.12.19 (Ver 5.1) | Oniguruma 6.9.9へ差し替えた。 |
2023.10.15 (Ver 5.0) | Oniguruma 6.9.8へ差し替えた。 |
2021.06.05 (Ver 4.106) | Oniguruma 6.9.7.1へ差し替えた。 |
2019.08.31 (Ver 4.104) | Oniguruma 6.9.3へ差し替えた。 |
2019.06.15 (Ver 4.103) | Oniguruma 6.9.2へ差し替えた。 |
2019.02.28 (Ver 4.102) | Oniguruma 6.9.1へ差し替えた。 |
2018.11.30 (Ver 4.101) | Oniguruma 6.9.0へ差し替えた。 |
2018.05.31 (Ver 4.99) | Oniguruma 6.8.2へ差し替えた。 |
2018.02.28 (Ver 4.98) | Oniguruma 6.7.1へ差し替えた。 |
2017.11.30 (Ver 4.97) | Oniguruma 6.6.1へ差し替えた。 |
2017.08.31 (Ver 4.96) | Oniguruma 6.6.0へ差し替えた。 |
2017.05.31 (Ver 4.95) | Oniguruma 6.2.0へ差し替えた。 |
2017.02.28 (Ver 4.94) | Oniguruma 6.1.3へ差し替えた |
2016.11.30 (Ver 4.93) | Oniguruma 6.1.2へ差し替えた |
2015.02.28 (Ver 4.86) | Oniguruma 5.9.6へ差し替えた |
2013.11.30 (Ver 4.80) | Oniguruma 5.9.5へ差し替えた |
2013.05.31 (Ver 4.78) | Oniguruma 5.9.4へ差し替えた |
2012.12.02 (Ver 4.76) | Oniguruma 5.9.3へ差し替えた |
2010.2.20 (Ver 4.65) | Oniguruma 5.9.2へ差し替えた |
2008.1.15 (Ver 4.57) | Oniguruma 5.9.1へ差し替えた |
2007.8.8 (Ver 4.53) | Oniguruma 5.9.0へ差し替えた |
2007.5.7 (Ver 4.52) | Oniguruma 5.7.0へ差し替えた |
2007.3.10 (Ver 4.51) | Oniguruma 5.5.3へ差し替えた |
2007.1.22 (Ver 4.50) | Oniguruma 5.5.2へ差し替えた |
2006.11.20 (Ver 4.49) | Oniguruma 4.5.1へ差し替えた |
2006.11.1 (Ver 4.48) | Oniguruma 4.4.6へ差し替えた |
2006.10.28 (Ver 4.47) | Oniguruma 4.4.5へ差し替えた |
2006.10.9 (Ver 4.46) | Oniguruma 4.4.4へ差し替えた |
2006.9.16 (Ver 4.45) | Oniguruma 4.4.1へ差し替えた |
2006.7.24 (Ver 4.41) | Oniguruma 4.2.0へ差し替えた |
2006.2.24 (Ver 4.28) | Oniguruma 4.0.1へ差し替えた |
2006.1.21 (Ver 4.26) | Oniguruma 3.9.1へ差し替えた |
2005.10.7 (Ver 4.21) | 正規表現ライブラリ Oniguruma のバージョンをバージョン情報に追加した |
2019/07/28(日)Tera Term 執筆者一覧
2021/05/08 18:16
- Taro Sample
- Taketo Hashii
- Mitsuyasu Ichimura
- Yutaka Hirata
- Wataru Kamimura
- Shinya Nataga
- Kouichi Iwamoto
Taro Sample
サンプル 太郎 さん連絡先
メールアドレス (Domain: example.jp)
example備考
スパムメール対策で、メールアドレスにドメインを付与していません。送信する場合は @とともにドメイン (Domain: xxxx) を付与する必要があります。
この例であれば example@example.jp になります。
なお example.jp は、例示用ドメインとして jprs が予約しています。example@example.jp へのメールは送信不能です。
https://jprs.jp/faq/use/
2019/07/27(土)デバッグメモ
2021/05/21 06:56
デバッグメモ
このサイトを作る際に見つけた、公式ヘルプの不具合関連。あとで修正したいと思っている、または修正されるまで書いておく感じのメモ。