Ttyから生成されたguiモードからptsを区別するのを手伝ってください。
multi-user.target
で起動これは私がしました:
Sudo systemctl set-default multi-user.target
startx
を実行してGUIに切り替えますtty
とwho
を実行すると、次のようになります。$ tty /dev/pts/0 $ who debian8 tty1 2017-01-09 20:22 debian8 tty2 2017-01-09 20:23
代わりにwho
の出力がこれではないのはなぜですか?
who debian8 tty1 2017-01-09 20:22 debian8:0 2017-01-09 20:23
startx
を実行してGUIモードに入り、tty
がpts/0
と言いました。では、なぜwho
がtty2
ではなく:0
を出力するのでしょうか。
tty
を実行すると、/dev/pts/0
が取得されます。しかし、上記を見てください。 w
の出力のTTY列では、startx
の行にtty2
と表示されます。 Why6が:0
ではないのですか?
/dev/pts/0
とtty
の違いは何ですか?
Xをtty2
で開始したときのxinit /etc/X11/xinit/xinitrc -- /etc/X11/xinit/xserverrc :0 vt2 -auth /tmp/serverauth.451rqHm1NC
出力—それはptsですか?出力します
$ tty /dev/pts/0
これは、ここのttyがptsだと言っています。
graphical.target
で起動これは私がしました:
Sudo systemctl set-default graphical.target
tty
を実行して、yield $ tty /dev/pts/0
tty
を実行して、yield $ tty /dev/pts/1
w
を実行します2つのguiがあります。彼らはとの間で切り替えることができます ctrlaltf1 そして ctrlaltf2。
コマンドtty
を実行すると、両方の端末で/dev/pts/0
または/dev/pts/1
と表示されます。しかし、上記のw
の出力を見てください。 /usr/bin/lxsession -s LXDE -e LXDE
のターミナル列に:0
と表示されるのはなぜですか?そして、なぜxinit /etc/X11/xinit/xinitrc -- /etc/X11/xinit/xserverrc :1 vt2 -auth /tmp/serverauth.k7JPJJEAHJ
のターミナル列はtty2
と言うのですか?
ptsとttyと:の違いは何ですか?
graphical.targetで起動する方法で実行します。
ps -el |grep -v ?
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 0 683 1 0 80 0 - 4867 - tty1 00:00:00 agetty
4 S 0 901 686 1 80 0 - 63109 - tty7 00:00:10 Xorg
0 S 1000 2390 2388 0 80 0 - 7368 - pts/0 00:00:00 bash
0 R 1000 2465 2390 0 80 0 - 3935 - pts/0 00:00:00 ps
0 S 1000 2466 2390 0 80 0 - 4446 - pts/0 00:00:00 grep
1.tty7およびtty1-tty6
これは、tty1-tty6などの仮想端末の一種です。
proof1:出力情報ps -el | grep -v?、3行目----tty7。
Proof2:man chvt
chvt-フォアグラウンド仮想端末を変更します。 tty1-tty7はSudo chvt n
を使用して切り替えることができます(nの範囲は1から7まで)。テキストモードで。
2.pts
ptsは、疑似端末マスターで使用されるpesudo ttyスレーブを意味します。 WebページからTelnetセッションのPTS構造を取得するには
図4:Telnetセッションの説明。
私の例では、Xorgでbash(ps、grep)を実行すると、pts構造は次のグラフのようになります(R.Koulaによって啓発され、Telnetセッションの説明の著者)
Bash(ps、grep)の制御端末はpts/0です。
3。:0
w
09:36:09 up 24 min, 1 user, load average: 0.11, 0.25, 0.29
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
debian8 :0 :0 09:12 ?xdm? 5:13 0.13s /usr/bin/lxsess
ps -lC lxsession
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 1000 1585 1574 0 80 0 - 91715 - ? 00:00:00 lxsession
ps -lC lxsessionから、lxsessionが制御端末を持たないデーモンであることは明らかなので、wは、ttynumber(1から7まで)またはpts/numberなどの情報を生成できません。 w収量:0、つまりlocal:display#0、ハードウェア側の事実、local:display#0で実行されているXorg.
who
ユーティリティは、デフォルトでログインに関連する情報を表示します。ログインした場合、tty2
の場合、who
と表示されます。
w
コマンドを使用して、現在マシンにログインしているユーザーに関する情報と、ユーザーが何をしているのかを表示します。
更新: " 「ターミナル」、「シェル」、「tty」、「コンソール」の正確な違いは何ですか? は、TTYとPTYの違いを説明しています。 :0
is 特定のホストディスプレイ 接続している。
pts
とtty
と:0
の違いは何ですか?
pts
= "p seudo t erminal s lave":ネットワークまたはコンソール(sshなど)経由で接続する場合のログインデバイス)。
tty
= "t ele ty pe":シリアルまたはコンソール接続(テキストモード)
:0
= "local:display#":X11サーバー、グラフィカルログインに使用(gdmなど)