問題タブ [tty]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1203 参照

git - リモート git post-receive フックの一部としてユーザー入力を受け入れることは可能ですか?

master をプッシュするたびに master ブランチをデプロイする post-receive フックがあります。

展開をオプションにしたいと思います。フックは、これを達成するために単純な Y/N 応答を要求します。以下の bash 擬似コード:

post-receive フックが stdin で引数を取得する方法のため、 read ラインはユーザーからの入力のために一時停止せず、スクリプトは Y/N 応答を取得しようとして何度もループします。

/dev/ttyから具体的にリクエストすると、これが修正されると思いました。

ただし、入力がキーボードから来ていないため、スクリプトは無限にループします。

この状況で実際にキーボード入力を取得することは可能ですか?

編集: ああ。実際には ssh が原因のようです。 < /dev/tty 出力を見て、I'm seen /dev/tty: No such device or addressを追加しました

そして、スクリプトをローカルで実行する場合、これを模倣できますが、ssh を介して:

編集2:

したがって、-tオプションをsshに設定して、sshセッションでttyを有効にするようにttyを要求するか、サーバーのauthorized_keysファイルでキーごとに有効にすることができます

編集3:

~/bin/ssh-t 作成後

(ダブル -t オプションは tty を強制します)そしてそれを指すように GIT_SSH を設定すると、恐ろしい致命的なエラーが発生します: プロトコル エラー: 行の長さが正しくありません: 文字の後に 005 が続きます。 git を実行する機会があります

0 投票する
4 に答える
36484 参照

linux - gnu画面でCR/LFを切り替える方法は?

画面を使用して、シリアルコンソールからテキストを読み取ります。問題は、出力に改行のみが含まれているように見え、\ nキャリッジリターンが含まれていないように見えるため、表示は次のようになります...

この問題を修正するパッチはありますか?

0 投票する
1 に答える
230 参照

python - より粒度の高い Python を使用した「スクリプト」vim

vim を自動化できる python スクリプトを作成しようとしていますが、python vim インターフェイスでは、必要なすべてを実行するのに十分な力が得られません。スクリプトがttyであるかのようにvimと通信したい(「ビジュアルモード」命令などを発行できる)。vimに関する限り、私のスクリプトはxterm(または何でも)を実行する人間です。これは、Python で独自のターミナル エミュレータを構築せずに実行できますか?

0 投票する
3 に答える
466 参照

python - XML ファイルへの VT100 エスケープ コードの保存

端末との対話をログに記録する Python プログラム (スクリプト プログラムと同様) を作成しています。ログを XML 形式で保存したいと考えています。

問題は、端末の対話に VT100 エスケープ コードが含まれていることです。UTF-8 でエンコードされたファイルにデータを書き込んでも、Python は文句を言いません。

このスクリプトは、ファイルをディスクに書き込むという意味では「機能」しますが、結果のファイルは適切な utf-8 ではないため、etree などの XML パーサーがエスケープ コードをバーフします。

これに対処する 1 つの方法は、最初にエスケープ コードを除外することです。しかし、エスケープ コードが維持され、結果のファイルが etree のような XML ツールで解析できる場合、このようなことを行うことが可能でしょうか?

0 投票する
1 に答える
476 参照

stdout - /dev/tty で STDOUT と STDERR をリセットする

stdout と stderr をファイルにリダイレクトしてから、元の設定に戻そうとしています。出力をファイルに正常にリダイレクトしましたが、tty からそれらを復元できないようです。これは私が持っているコードです:

tty での open 呼び出しは常に失敗します。(-1 を返します)。私がやろうとしている根本的に間違っていることはありますか?

また、パーミッションの問題かもしれないと思ったので、チェックしました:

crw-rw-rw- 1 ルート ホイール 2、0 10 月 21 日 10:46 /dev/tty

私はSnow Leopardで開発しています。

助けてくれてありがとう。

0 投票する
1 に答える
1980 参照

php - PHP create'fake' TTY for sudo

簡潔に保つ;

PHPスクリプトを実行し、sudo-ersファイル/etc/init.d/nagios reloadに追加apache ALL = (nagios) NOPASSWD: /etc/init.d/nagiosする必要がありますが、SUDOを使用するにはPHPにTTYが必要です(削除したくないDefaults requirettyので、PHPスクリプトの「偽造」またはTTYを作成して、Nagiosをリロードできるようにします。

RedHat 6、PHP 5.3

0 投票する
1 に答える
595 参照

tty - LinuxでのTTYの内部動作

私はしばらくの間、 TTYドライバーがどのように機能するかを理解しようとしてきました(各カーネルの実装は異なる可能性があることを完全に理解しています)。

stdinただし、xtermには、、stdoutまたはがないと主張していることに気付きましたstderr。xtermやその他のターミナルエミュレータは、bashやその他の子プロセスから入力を取得して、ウィンドウに出力できるようにする方法を教えてください。ターミナルエミュレータはTTYドライバに接続されていますか?

0 投票する
1 に答える
1601 参照

git - 「チャネル0でPTY割り当て要求が失敗しました」でロックアウトされたときにシェルアクセスを取得する方法

リモートシェルにgitosisをインストールしました。正常に動作しています。しかし、今はインタラクティブシェルにログインできません。ここで述べたように、それはgitosisがttyを無効にしたようです。とにかくそれを取り戻すことができますか?リモートサーバーへのrootアクセス権がありません。

0 投票する
0 に答える
211 参照

c++ - Solaris の TIOCEXCL

少し問題があります。/dev/term/0 などのシリアル ポートを使用しており、このデバイスへの複数のアクセスをロックする必要があります。そのために、次のコードを使用します。

すべて正常に動作します。次に、別のアプリケーションを実行してこのポートを開こうとすると、エラー EBUSY が発生します。問題はありませんが、この瞬間に最初のアプリケーションが動作を停止します。このポートを読み書きできず、閉じることができません。エラー ENXIO (No such device or address) が常に 1 つしかありません。

このコードを Linux と Mac OS X でテストしたところ、すべて問題なく動作しましたが、Solaris では...

どうすればいいのかわからない。

0 投票する
1 に答える
48836 参照

macos - MacOS: /dev/tty.* と /dev/cu.* の違いは何ですか?

各シリアル デバイスは に 2 回表示されます。1 回は/devとして、もう 1 回は として表示さtty.*cu.*ます。

cu.*デバイスは何ですか?端末との違いはtty.*