質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Tera Term

Tera Termは、TeraTerm Projectが開発する国産のWindows向けターミナルソフト。telnetプロトコルでのリモートホストへの接続やCOMポートのシリアル接続が可能で、マクロが利用できます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

シェル

シェル(shell)はUnix や Linux 系のOSで使用されるコマンドインタプリタを指します。

Q&A

解決済

2回答

3866閲覧

コピープログラム実行中、Teraterm上でビープ音、印刷ダイアログが開いて中断してしまう。

hatanaka_

総合スコア21

Tera Term

Tera Termは、TeraTerm Projectが開発する国産のWindows向けターミナルソフト。telnetプロトコルでのリモートホストへの接続やCOMポートのシリアル接続が可能で、マクロが利用できます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

シェル

シェル(shell)はUnix や Linux 系のOSで使用されるコマンドインタプリタを指します。

0グッド

0クリップ

投稿2020/09/08 01:51

Tearatermでプログラム実行中にビープ音、印刷ダイアログが開いてしまい、
困っています。

現在、PHPのシステムを作っています。
そのシステムをリリースするためのプログラムをPHPで作りました。
内容としては、
・開発したソース(ZIP)をサーバからダウンロード
・ダウンロードしたZIPを、PHPのZipArchiveクラスで展開し、ファイルを上書き
としています。

一つのサーバ(CentOS)にいくつもの実行環境があるため、
シェルで各環境のリリースPHPを順次実行していきます。

ここで、私のwindowsマシンからTeratermでサーバに接続して、
シェルを実行すると、zipの展開の辺りからビープ音が何度もなります。
さらに、印刷ダイアログが開いて、処理が一時中断(印刷しますか?Yes/キャンセル)、
キャンセルボタンを押さないと処理が進まない状態です。

zip解凍中に画面に文字列が表示されるのですが、
ビープ音は、"\b"とかが標準出力に出てくる関係でしょうか?
印刷ダイアログも、印刷命令となる文字列が標準出力に出るからでしょうか?

画面上では処理が進んでいる事が見えて欲しいのですが、
ビープ音や印刷ダイアログを出さない方法はないですか?

また、これらと類似する問題で、他にもっと困るような事も発生しうるでしょうか?
宜しくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takasima20

2020/09/08 02:33

ログをリダイレクトすれば?
hatanaka_

2020/09/08 04:39

まずはそうします。 ありがとうございます。
guest

回答2

0

ベストアンサー

zip展開したものを端末にそのまま表示しているのでしょうか?
バイナリーファイルを表示した場合、その中にたまたまビープをならしたり印刷関係処理をする制御コードと一致したデータがあると、Teraterm側でそういう処理になります。

バイナリーファイルを端末に表示するのを止めれば良いです。

具体的にどんな制御コードでどういう動作をするかは、Teratermのヘルプの「対応制御シーケンス」に書いてあります。

投稿2020/09/08 02:18

otn

総合スコア85901

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hatanaka_

2020/09/08 04:39

やはりそういう事なのですね。 「対応制御シーケンス」確認しました。 。。。これはもっといろいろ起こってそうですね。 素直に、表示しないようにします。 まずは、PHPプログラム実行毎。。。時間がある時にPHPプログラムの中を変更します。。。 ありがとうございました。
guest

0

ベルが鳴ったり、印刷ダイアログが表示されるのはその為の制御文字や制御シーケンスを受け取っているからでしょう。

通常のテキスト出力にはこれらの制御シーケンスは含まれないので、画面出力内容を確認してこれらのシーケンスが出力されないようにする事をお勧めします。

その上で、これらのシーケンスの動作を抑制したい場合は、設定ファイル TERATERM.INI の以下の部分を変更してください。

ベル文字の無効化

Beep行をoffに変更する

印刷シーケンスの無効化

PrinterCtrlSequence行をoffに変更する

出力内容の見直し

前述したように、これらの制御シーケンスは通常のテキストには含まれません。
おそらくZIPファイルの展開時に、バイナリファイルの中身などが画面に出力されてしまっているように思います。

特殊なケースとしては、

  • [設定]-[端末]にある"端末ID"の設定が"VT220J"やそれより下に有る物になっている
  • [設定]-[端末]の"漢字-受信"が"SJIS"以外になっている

の両方が満たされている時に、Shift-JISのが出力されると印刷ダイアログが出ますが、これらの設定はデフォルトでは無い上、端末IDの設定は普通の人は変更する必要が無いのでおそらく違うと思います。

なので、何らかの原因で意図せずバイナリファイルの内容が出力されていると思われるので、それを確認して直す事をお勧めします。

投稿2020/09/08 04:38

doda

総合スコア947

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hatanaka_

2020/09/08 04:52

今回は、出力自体をなくす方向でいきます。 ベル文字の無効化などは、今回の件に関わらず利用できそうですので参考にさせて頂きます。 ご丁寧な回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問