プロが教えるわが家の防犯対策術!

teraterm4.75を使っています。
teratermのcontrolキーと右矢印キーを押すとemacsにaltキーとFキーキーに相当する文字列を送信させたいのですが、どのようにすればいいでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (2件)

>emacs使っていないので不明ですが…M-fってなんか機能割り当てられているんでしょうか??



単語単位でのカーソル移動…でしたか。

ちなみにTeraTermのヘルプにキーボード設定ファイルについては書かれています。
キーコードの調べ方も。
[目次][設定ファイル][キーボード設定ファイル]と
[目次][参考資料][Keycode]ですね。
参照すれば、Controlキー+左矢印でM-b相当のコマンド送信する方法も判るでしょう。
    • good
    • 0

>emacsにaltキーとFキーキーに相当する



TeraTermの設定はどうなっているんですか?
METAキー送信の送信がどうなっているのか?という問題がありますが……。
[設定][キーボード]でMetaキーがOffになっているとAlt+Fはファイルメニューの操作になりますので送信云々の話ではなくなります。
# ってかMATEキーを送信する方法が不明だったり…

ESCをメタキーとして送信するとして……
 1)KEYBOARD.CNFを適当な名前でコピーします。
 2)コピーしたファイルをテキストエディタで開きます。
 3)[User keys]に下記を追加します。
User1=1357,0,$1Bf
 4)TeraTerm起動時に読み込むキーボード設定ファイルとして2)でコピーしたファイルを指定します。
  ※面倒ならKEYBOARD.CNF自体を書き換える…というのも。


emacs使っていないので不明ですが…M-fってなんか機能割り当てられているんでしょうか??
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QTelnet接続時の端末によるF1キーの送信コードの違い

Telnet接続をして端末からF1キーを入力すると端末から送られるキーコードは
次のページを参照したところ
http://publib.boulder.ibm.com/iseries/v5r2/ic2962/index.htm?info/rzaiw/rzaiwspecial.htm
F1 X'1B31'
F1 X'1B5B31317E'
F1 X'9B31317E'
F1 X'1B4F50'
F1 X'8F50'
ということがわかりました。それぞれどういう違いで
各コードを送信するのかを教えていただけないでしょうか。
どのコードが一般的(主要)なのでしょうか。

またTeraTermProから送られるのはX'1B5B31317E'、
ハイパーターミナルから送られるのはX'1B4F50'でした。
それぞれのソフトで送られているコードを変更することは可能でしょうか。

またWindowsの添付TelnetはF1を押してもキーコードは送信されていません
コードを送信できるように変更することは可能でしょうか。

Aベストアンサー

> PF1とF1キーというのはどのような違いがあるか教えてください。

もともと VT100 端末のファンクションキーは、テンキーの上に PF1 ~ PF4 の四つありました。

いわゆる今時のファンクションキー F1 ~ F12 は、パソコン系ですよね。

> なぜF1キーを押すとTeraTermはデフォルトではX'1B5B31317E'キーを送るようにしているのでしょうか。

ちょっと調べました。このコード(\E[11~)は xterm などで割り当てられています。

どのような経緯で TeraTerm のデフォルトに採用されたかは分かりません。
でも、Terminal-ID で VT100 を入れたなら、\EOP の方を送って欲しいですよね。
キーボード上での位置は違いますが、ハイパーターミナルの方が実装としては素直だと(私は)思います。

# そういえば、昔、TeraTerm でファンクションキーを使いたくて、調べたときを
# 思い出しました
# 私は、これで、terminfo の存在を知ることになりました

> PF1とF1キーというのはどのような違いがあるか教えてください。

もともと VT100 端末のファンクションキーは、テンキーの上に PF1 ~ PF4 の四つありました。

いわゆる今時のファンクションキー F1 ~ F12 は、パソコン系ですよね。

> なぜF1キーを押すとTeraTermはデフォルトではX'1B5B31317E'キーを送るようにしているのでしょうか。

ちょっと調べました。このコード(\E[11~)は xterm などで割り当てられています。

どのような経緯で TeraTerm のデフォルトに採用されたかは分かりません。
...続きを読む

QTera Term の使い方について

お世話になります。
Tera Termの使い方が分からず、ご教授いただけませんでしょうか。
具体的には、下記リンクの画面6のように、
http://www.atmarkit.co.jp/fnetwork/rensai/tcp01/01.html

Tera Termの画面に、
GET http://www.atmarkit.co.jp/fnetwork/accesstest/at.html
を入力し、その結果を表示させたいのですが、画面自体に入力ができないのです。

ご存知の方、アドバイス方、よろしくお願いします。

Aベストアンサー

ringo105さん
>カラ打ちとなり、画面に入力自体ができません

ではカラ打ちのままでいいので、何か適当な文字で
「get dddd」のように打って
リターンキーを押してみても反応はありませんか?

↓下のようになものが返って来たら、NO.2さんのおっしゃるように、
ローカルエコーがオフで表示されてないだけだと思います。

-----------------------------------------------
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML><HEAD>
<TITLE>400 Bad Request</TITLE>
</HEAD><BODY>
<H1>Bad Request</H1>
Your browser sent a request that this server could not understand.<P>
Invalid URI in request get dddd<P>
</BODY></HTML>
-----------------------------------------------


@ITのページの説明にあった、
Teraterm.iniの
TCPLocalEcho=on
TCPCRSend=CRLF

をもう一度確認してもみてください。

ringo105さん
>カラ打ちとなり、画面に入力自体ができません

ではカラ打ちのままでいいので、何か適当な文字で
「get dddd」のように打って
リターンキーを押してみても反応はありませんか?

↓下のようになものが返って来たら、NO.2さんのおっしゃるように、
ローカルエコーがオフで表示されてないだけだと思います。

-----------------------------------------------
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML><HEAD>
<TITLE>400 Bad Request</TITLE>
</HEAD><BODY>
<H1>Ba...続きを読む

Qttlで戻り値を取得する方法

Teratermmacroでローカル(cygwin)に入り、サーバ(HP-UX)にリモートで入った後、
コマンドの戻り値で後の行動を操作したいのですが、うまくいきません。
わかる方、教えていただけませんか。

ざっくり以下のようなマクロを組んでいます。

----------------------------------------------------------
sendln 'ssh name@host1'

wait Prompt
sendln 'sendmsg "test"'(のようなコマンド) ←これの戻り値がほしい

if 戻り値 = 0 then
 ○○
elseif 戻り値 = 1 then
 wait Prompt
 sendln 'exit'
 wait Prompt
 sendln 'ssh name2@host2'

以下略
----------------------------------------------------------

上記の「戻り値」をどのようにすれば戻り値で判別してくれるでしょうか。
if文の条件式を $?やresultでやりましたが、どのような戻り値でも
必ず$?は0、resultは1で固定でした。

また、sendmsgとif文の間に以下のように試しましたが、失敗しました。
例1:
----------------------------------------------------------
sendln 'echo $?'
recvln

if inputstr = 0 then ←syntax errorになります。
 ○○
elseif inputstr = 1 then
----------------------------------------------------------

例2:http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1247390747参照
----------------------------------------------------------
sendln 'echo $?'
recvln
recvln

hensu=inputstr ←Type mismatch.のエラーになる。 直前にstr2intを入れたりしても駄目でした。
ちなみにsendln 'echo $?'を挟まずsendmsgの直後にrecvlnでも駄目です。

if hensu = 0 then
 ○○
elseif hensu = 1 then
----------------------------------------------------------

host1にシェルスクリプトを入れることは出来ません。

Teratermmacroでローカル(cygwin)に入り、サーバ(HP-UX)にリモートで入った後、
コマンドの戻り値で後の行動を操作したいのですが、うまくいきません。
わかる方、教えていただけませんか。

ざっくり以下のようなマクロを組んでいます。

----------------------------------------------------------
sendln 'ssh name@host1'

wait Prompt
sendln 'sendmsg "test"'(のようなコマンド) ←これの戻り値がほしい

if 戻り値 = 0 then
 ○○
elseif 戻り値 = 1 then
 wait Prompt
 sendln 'exit'
 wait Prompt
...続きを読む

Aベストアンサー

基本方針は、echo $? の出力文字をttlで受信して判定、でいいと思います。

・inputstrは文字列なので、=での比較はできません
strcompareコマンドで比較→変数resultで判定
あるいは
str2int 変数 intputstr で変数に数値化→if 変数=0 等と判定
ということになります。
http://ttssh2.sourceforge.jp/manual/ja/macro/syntax/variables.html
http://ttssh2.sourceforge.jp/manual/ja/macro/command/strcompare.html
http://ttssh2.sourceforge.jp/manual/ja/macro/command/str2int.html


・recvln1つではエコーバックの分を受け取ってしまうようです。
他の出力を受信してしまう場合もあります。
確実にやるなら、目印を付けてwaitでそこまで待つ、というのがいい思います

sendln 'echo "=== EXIT STATUS === : $?"'
wait '=== EXIT STATUS === : '
recvln


・シェルスクリプトを入れることはできなくても、複合コマンドを実行することはできるはずです。
sendln '(sendmsg "test" && echo "==== OK ====") || echo "==== NG ===="'
waitlnで待ち→resultで分岐とできます
http://ttssh2.sourceforge.jp/manual/ja/macro/command/waitln.html

基本方針は、echo $? の出力文字をttlで受信して判定、でいいと思います。

・inputstrは文字列なので、=での比較はできません
strcompareコマンドで比較→変数resultで判定
あるいは
str2int 変数 intputstr で変数に数値化→if 変数=0 等と判定
ということになります。
http://ttssh2.sourceforge.jp/manual/ja/macro/syntax/variables.html
http://ttssh2.sourceforge.jp/manual/ja/macro/command/strcompare.html
http://ttssh2.sourceforge.jp/manual/ja/macro/command/str2int.html


・recvln1つではエコーバ...続きを読む

Qteratrermを使ったデータの送信について

teratermで
16進数で下記の5バイトを送信したいのですが、どうすればいいでしょうか。

\x85\x02\x00\x01\x86

VTウィンドウにキーボードで直接打ち込むと、一文字ごとに送信されているようで、うまく行きませんでした。

Aベストアンサー

送信したい文字列を書いたファイルを作成してください。

teratrerm メニューの「ファイル(F)」-「ファイル送信(S)」を選び、作成したファイルを選択してください。
このとき作成したファイルの内容がバイナリーの場合送信ファイル選択画面のオプションで「バイナリー(B)」にチェック入れてください。

>16進数で下記の5バイトを送信したいのですが、どうすればいいでしょうか。
たぶんバイナリーだとおもいますのでファイルはバイナリーエディターで作成してください。

注)これは日本語化したteratermでの説明です

Q起動しているサービスを確認するコマンド

初歩的な質問で恐縮ですが、ご教示いただけますと幸いです。

起動しているサービスを確認するために以下の2つのコマンドを打ってみるのですが、結果(出て来るサービス名)が違います。
このコマンドの違いについてご教示いただけますでしょうか。

(1)service --status-all
(2)chkconfig --list

Aベストアンサー

(1)service --status-all

サービスの現在のステータスを調べるコマンド

(2)chkconfig --list

OSのブート時に自動起動するサービスを調べるコマンド

違いが出るのは、
・ブート後に手動あるいは他のコマンドから起動したサービス
・ブート後に手動あるいは他のコマンドから、あるいはエラーで停止したサービス
・ブート後に実行はされるがすぐに停止して常駐しないサービス (ntpdate とか)

あるいは、(1)ではサービス名が表示されない物もあるので、どのサービスがどんなステータス出力をするのか知っておく必要もありますね。(service network statusとか)

QExcelで正規表現やワイルドカードなどを使って置換したいのですが…

Excelの中で置換をしたいのですが、
例えば以下のように( )かっこでくくられた不規則な数字を検索し、その前後に記号を付加するといった具合です。
Wordだと置換で正規表現が使えますが、Excelではやはりマクロを作らないとだめなのでしょうか?

 置換前
  あいう(123)かきく(あああ)
  さしす(ははは)たち(589)つ
   ・      ・
   ・      ・

 置換後
  あいう★(123)★かきく(あああ)
  さしす(ははは)たち★(589)★つ
   ・      ・
   ・      ・

Aベストアンサー

以下の正規表現アドインを使用すると可能です。
http://srcedit.pekori.jp/tool/excelre.html

置換前 ((\d+))
置換後 ★$1★

Qtera term マクロのinputbox

teratermマクロでinputboxを使い、
機器へ接続しています。
何も入力されない場合、終了させたいのですが、
if inputstr = "" goto end
ではダメみたいなのですが、
どなたか良い方法ございましたら、
ご教授のほど宜しくお願い致します。

Aベストアンサー

strcompare inputstr ''
if result = 0 then
end
で、いけると思います。

参考URL:http://ttssh2.sourceforge.jp/manual/ja/macro/

QTeraTermで操作する際の設定について

基本的な質問で恐縮です。
SunOS 10にTeraTermで接続し、TAB入力補完や矢印キーによるコマンド履歴を使えるようにするにはどのようにすれば良いのでしょう?
現状はコマンドラインでTAB入力するとそのままTABになってしまい、矢印キーを使うと「[[A[[B」といった形で入力されます。
ちなみにTeraTermはV4.62です。
よろしくお願いします。

Aベストアンサー

TABを入力した際に、補完を実施するなどはすべてshellが行ってくれています。

Solarisでは過去からの遺産継承のために、ユーザ作成時に適用されるshellはPOSIXのshellであるため、このような機能はもっていません。

mark1965さんのユーザが例えばmark1965とした場合には、下記の用なコマンドを実行し、shellを変更すればOKです。

1.mark1965でログインする
2.下記のコマンドを入力する
usermod -s /bin/bash mark1965
3.上記をログアウトせずに新しいコンソールでログイン
4.もしログインできなければ、shellを戻す
usermod -s /bin/sh mark1965

こんな感じでいいかと思います。
3は2で適用するshellをミスってしまった場合の担保です。
bashのパスはご自身のサーバに合わせて適用してください。

なお、ユーザ作成時にも-s オプションでshellを指定することは可能です。

QTeraTermマクロのinputboxで入力した値をメッセージ確認表示するには?

TeraTermマクロを使用し、inputboxで獲得した値を
確認メッセージ(yesnobox)に表示するにはどのような書き方をすれば良いでしょうか?

;retry
inputbox '該当のインターフェースを入力してください。''input interface'
yesnobox inputstr 'のインターフェースで良いですか?'
if result=0 then
goto retry
else
endif
sendln 'command' ←例えばその後、OKならコマンドを実行。


入力したインターフェースで間違いないか確認表示したいのですが
どのように書けば良いのでしょうか?

上記書き方では間違ってるのでエラーとなってしまいます。

Aベストアンサー

;retry
inputbox '該当のインターフェースを入力してください。''input interface'
mes = inputstr
strconcat mes 'のインターフェースで良いですか?'
yesnobox mes
if result=0 then
goto retry
else
endif

って感じでしょうかね。
一度変数に入れてからstrconcatで連結する。ということに。

QTERA TERMを隠す方法

TERA TERMでマクロを起動した時、
実行結果の画面が出力されますが
これを最小化もしくはバックグラウンドで
見せないように起動する方法があれば
教えてください。
マクロのオプション /V や /I では
見せないようにすることができませんでした、
何か方法があれば教えてくださいませ。

Aベストアンサー

connect '/I xxx.xxx.xxx.xxx'のように
connectのオプションに/Iをつけてください。


人気Q&Aランキング