問題タブ [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.
unix - write コマンドを使用するために tty に書き込み許可を設定する必要があるのはなぜですか?
このコマンドの目的はwrite
、tty にログインしているユーザーに msg を送信することです。このコマンドが機能するためには、受信者は自分の tty でグループの書き込み許可を設定する必要があります。これは次の理由で必要です。
- は
/dev/ttyXXX
tty グループに属します write
コマンドは tty グループで SGID を使用して、ユーザーが誰かの tty に書き込む機会を与えます。
Ok。ここで、送信者が自分の tty に書き込み許可を設定しない場合、他の誰かの tty に書き込むことはできません。これの技術的根拠がわかりません!これはある種の礼儀正しさを保つためだけですか?この場合でも、wall
コマンドが同じ原則に従わないのはなぜですか? 彼が言っている間、誰でも壁を使うことができますmesg
....
何か不足していますか?
c - isatty(3)に応答するファイル
自分で疑似シェルを書きたいのですが、きれいな色などを取得したいのですが、サブプロセスをだましてTTYにあると思わせるにはどうすればよいですか。仮想TTYについて読んだことがありますが、仮想TTYを作成する方法や、サブプロセスに仮想TTYを認識させる方法についての実用的な情報はあまり見つかりませんでしたisatty(stdout) == 1
。
perl - この tty のタブのスペース数
tty である stdout に書き込む perl スクリプトがあります。そのttyのタブにいくつのスペースがあるかを判断する方法はありますか?
linux - TTY(ターミナル)を期待するLinuxプログラムへのデータのパイピング
Linuxに、stdin / stdoutがTTY(ターミナルデバイス)でない場合に実行を拒否するプログラムがあります。PTYを作成し、新しく作成したTTYでプログラムを起動し、すべてのデータをstdin / stdoutにコピーする使いやすいツールはありますか?
ユースケースはインタラクティブではありませんが、スクリプトです。私は最も軽量なソリューションを探しています。できればTCP接続を作成せず、他のツールやライブラリをインストールする必要がありません。
linux - 同じ tty にログインしたユーザーの履歴
端末の履歴と同じ端末にログインしたユーザーを追跡するファイルはありますか? ありがとう
c - pty と tty とはどういう意味ですか?
pty
といくつかのオープンソース プロジェクトで多くの言及があることに気付きましたtty
が、誰かがそれらの意味とそれらの違いを教えてもらえますか?
session - 制御端末と新しいセッション
プロセス (私の場合はセッション リーダー) はどのようにして制御端末を取得できますか?
プログラムで行うこと:
私は出力に何も得られないと信じていました。(子はセッション リーダーであるため、古い tty とは関係ありません) しかし、取得した理由がわかりません。男性が出力します。しかし、インタラクティブではありません。Ctrl-z を押すと、「q」を押すとインタラクティブになり、終了してプログラム (親) に戻ります。質問は次のとおりです。
- 最初に何が起こるか説明してください (なぜ ctrl-z を押さなければならないのか、上記をお読みください)
- なぜ人はそのシェルで出力を行うのですか?
- tty を接続せずに man を実行するにはどうすればよいですか (ps で確認したところ、man とページャーの TTY 列に「?」が表示されています)。
- 最後に、新しいセッション リーダーが制御端末を取得するにはどうすればよいでしょうか。他に道はあり
open(/dev/tty)
ますか?
linux - / dev/ttySDIO0のコンテンツをファイルにリダイレクトします
ttyデバイス(/ dev / ttySDIO0)ファイルのコンテンツをリダイレクトして、ファイルIO操作を使用してそのコンテンツを管理できるようにする方法はありますか。ここでは「猫」を使いたくない。
ありがとうございました。
perl - STDOUT への書き込みと、「/dev/tty」に開かれたファイルハンドルの違いは何ですか?
この 2 つの例の違いは何ですか?
ssh - root および非 root アカウントとしてログイン中の OpenSSH の動作
もう 1 つの認証レイヤーを適用するために、SSH 用の PAM モジュールを作成しています。そのためには、PAM モジュールの close_session() および pam_sm_setcred() 関数に端末 ID が必要ですが、OpenSSH はそれを「ssh」にハードコードしました。端末 ID を適切に設定できるように、OpenSSh コードにいくつかの変更を加えました。これらの変更は次のとおりです。
session.c の session_pty_req(Session *s) 関数に do_pam_set_tty() を追加し、monitor_wrap.c の mm_pty_allocate() 関数に do_pam_set_tty() を追加しました
ルートでは問題なく動作し、pam_sm_cred() および pam_sm_close_session() 関数で適切な tty を取得します。
しかし、同じコードを使用して、root 以外のアカウントを介して ssh を試行すると、pam_sm_close_session() で tty が取得されますが、pam_sm_cred() では取得されません。root アカウントと非 root アカウントで ssh の動作が異なる理由がわかりません。
root アカウントと非 root アカウントの SSH 動作をトリガーするものはありますか、またはここで何が問題なのかを誰かが教えてくれますか? どうすればよいのかわかりません。誰かが私にいくつかの指針を与えることができれば素晴らしいことです.