Ticket #17464

ConfirmChangePasteで任意の文字列を指定する機能について

Open Date: 2009-06-21 16:39 Last Update: 2009-07-06 14:14

Reporter:
Owner:
(del#24082)
Status:
Closed
Component:
MileStone:
(None)
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
Accepted
File:
None
Vote
Score: 0
No votes
0.0% (0/0)
0.0% (0/0)

Details

ConfirmChangePasteに関して、

機能リクエスト内容

・ペースト時に改行コードがあるとダイアログが出る
  ↓
・ペースト時にダイアログを出す条件として任意文字列を指定できる

このようにしていただくことは可能でしょうか?

リクエストの背景

ConfirmChangePaste機能のおかげで、ターミナル上のコピーペーストミスがなくなり大変助かっています。
しかし、複数行ペーストしてしまう事と並んで、単に不適切なコマンドがコピペで打ち込まれているケースも多く、
これについても何とかできないものかと考えています。

.iniファイルor外部ファイルに、ペースト時に注意を促したいコマンド・文字列を登録できるようになれば、
windows側の設定だけで、接続先のプラットフォームによらない柔軟なミスオペ対策や、
場合によっては権限管理も可能になると思い、リクエストにいたりました。

tera term自体に組み込むべき機能かどうかという議論はあるかと思いますが、 ご検討いただければ幸いです。

Ticket History (3/15 Histories)

2009-06-21 16:39 Updated by: kentakenta
  • New Ticket "ConfirmChangePasteで任意の文字列を指定する機能について" created
2009-06-23 12:04 Updated by: (del#24082)
  • Component Update from (None) to Tera Term
  • Owner Update from (None) to yutakapon
Comment

具体的にどのような設定と使用イメージを期待していますか?

現在の実装としては、ペースト処理の直前に strspn(3) を使って、文字列の中に"\r"もしくは"\n"が1バイトでも含まれているかをチェックしています。

2009-06-23 12:55 Updated by: (del#1144)
Comment

たとえば reboot とか halt など任意の文字列を複数「危険な文字列」として定義し、それを貼り付けないようにして欲しい、ということだと解釈しました。

あくまで個人的な感覚であると断って書きますが、コンピュータは思った通りにではなく操作したとおりに動きます。クリップボードに何が入っているか脳内にバッファを持たず、ノーチェックで貼り付けてしまうような不注意な人が、そのコマンドを実行できる権限を持っていること自体が、危険予測が出来ていない状態だと思います。

2009-06-23 19:44 Updated by: None
Comment

TeraTermの長所でもあり欠点なのが、マウスで端末をなぞった(ドラッグ)しただけ、クリップボードへコピーされてしまう、というのがあります。 意識せずに、マウスが画面にあたってしまう場合もあるので、ケースバイケースかなと思います。

2009-06-23 23:17 Updated by: kentakenta
Comment

>yutakaponさん

ちょっと大げさになるかもしれませんが、考えていた状況をなるべく具体的に書くと、

  • 危ない文字列を考える管理者がいる。
  • 1行1エントリで文字列が列挙されたリストファイルを用意。
  • リストはネットワークで共有できればしたい。
  • 内容は"reboot"だったり、現場に特化したスクリプト名"initializeDB.sh"みたいなものだったり。
  • 正規表現は考慮外


  • 管理者とは別にオペレータが複数いて、熟練度はまちまち。みな同じ設定のtera term使う。
  • リストにマッチする文字列が貼り付けられると、ポップアップ等のイベントが起こる。
  • 意図通りであればそのまま続行、そうでないときはキャンセルできる。


  • "その他の設定"の中に「外部ファイルを使用」等のチェックボックスがあると良いです。

プログラムは全然書けないんですが、strspnのmanを読んでみた感じ、 複数の候補にマッチ判定させようとするとやはり大変そうでしょうか・・・

>mayaさん

おっしゃる通りで、耳が痛いところです。 平常時のオペミスは注意とか研修とか、そういったもので防いでいくべきだと思います。

ただ、人の判断能力がぐらつく状況も少なからずあり、例えば夜通しのメンテナンスの終わり際なんかには意識が朦朧としていることもあります。 そういうシチュエーションでの歯止めとして機械的にアラートがあがるとすごく助かるかな、 というのを想定しています^^

2009-06-23 23:51 Updated by: (del#24082)
Comment

>プログラムは全然書けないんですが、strspnのmanを読んでみた感>じ、複数の候補にマッチ判定させようとするとやはり大変そうでし>ょうか・・・

所詮は、C言語のアプリなので、技術的には難しくはないです。どちらかというと課題は、「どのようなUI」にするかというところだと思います。

従来の、  ・文字列に改行コードが1byteでも含まれていれば 警告を出すという仕様に加えて、今回の要望の機能をどのようにあてはめていくか、ユーザを混乱させない仕様にできるかがポイントです。

指定した文字列が含まれていた場合、改行コードの扱いはどうするのかといったあたりを考える必要があります。

2009-06-24 21:30 Updated by: kentakenta
Comment

そういう意味では、設定画面に選択肢を1個増やしてしまうのがユーザ側からすればわかりやすいでしょうか。

 ----コピーと貼り付けの設定----
  ○危険なクリップボードの貼り付けを確認する
  ○外部ファイルで任意の文字列を指定    ファイルのパス:    [参照]
  ↑ラジオボックス
 ------------------------------

既存のConfirmChangePasteに関しては"\r" or "\n"のみ検出で、 これと同時に選択できない選択肢として”任意の文字列を指定”というのを用意して、 その中で改行コードも指定できるように作ってしまうイメージです。

今のバージョンの設定で使いたい人は上にチェックを入れて、 私のような使い方をしたい人は下をチェックするようにできれば、 住み分けできるような気がします。

2009-06-24 21:58 Updated by: (del#1144)
Comment

外部ファイルの指定を独立したオプションとして、ラジオボタンじゃなくてチェックボックスでもいいかもしれません。

改行が含まれなくても外部ファイルの中身をすべて strstr で検索して、含まれていれば ConfirmChangePaste と同じく確認ダイアログを出す、とかでどうでしょうか。

2009-06-26 00:41 Updated by: kentakenta
Comment

ユーザの混乱を避けるという意味合いでスパッと竹を割ったような設定になるようにラジオボタンを例に挙げてみましたが、確かに必要というわけではないですね。

”独立したオプション”っていうのはつまりこういうことでしょうか。

・ConfirmChangePasteのチェックボックスが今まで通りあって、チェックを入れると今まで通りstrspnで改行チェックが働く。

・もう一個チェックボックスが増えて、チェックすると外部ファイルを読んでstrstr関数で検索。

・どちらか片方だけチェックした場合は片方だけ動作して、二つ同時にチェックすると両方機能する。 (2番目の機能(外部ファイル)では改行を指定できないことと仮定)

・どちらの機能にヒットしても、ConfirmChangePaste機能の確認ダイアログが出る。

こういう動作なら、それも私の期待通りですので、私としてはハッピーです。 外部ファイルに登録できるものをどこまで広げるかによってだいぶユーザの理解度は変わってきそうですが、 仮にアルファベットと数字だけとすれば問題なさそうでしょうか。

2009-06-26 20:28 Updated by: (del#24082)
Comment

実験的に、実装をしてみました。GUIは未。 お試し下さい。

http://ttssh2.sourceforge.jp/snapshot/snapshot-20090626.zip

テキストファイルは、teraterm.iniの ConfirmChangePasteStringFile で指定します。

2009-06-29 23:46 Updated by: kentakenta
Comment

使ってみました。 すごくいいですね。動作はイメージどおりです。

試しに10万行のリストをローカルに置いて使ってみましたが、ディレイが感じられなくて驚きました。

2009-06-30 00:05 Updated by: (del#24082)
Comment

kentakenta への返信

使ってみました。 すごくいいですね。動作はイメージどおりです。

評価どうもありがとうございました。 4.63の新機能としてサポートすることにします。GUIに関しては、時間あるときに対応できれば、と思います。

試しに10万行のリストをローカルに置いて使ってみましたが、ディレイが感じられなくて驚きました。

ヒットした文字列が、ファイルの上の方にないでしょうか? 末尾にあると、検索に時間がかかるはずです。

2009-07-01 21:24 Updated by: (del#24082)
Comment

GUIからの設定を追加しました。お試しください。

http://ttssh2.sourceforge.jp/snapshot/snapshot-20090701.zip

2009-07-05 23:55 Updated by: (del#24082)
  • Status Update from Open to Closed
  • Ticket Close date is changed to 2009-07-05 23:55
Comment

4.63がリリースされましたので、本件はクローズします。

2009-07-06 14:14 Updated by: kentakenta
  • Resolution Update from None to Accepted
Comment

4.63で設定画面も含めて試させていただきました。

直近のリリースに無理して間に合わせてもらった感があって大変恐縮してます^^;

フィードバックに十分協力できたか不安ですが、

ご対応、本当にありがとうございました。

Attachment File List

No attachments

Edit

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Login