우리 시스템에는 7 개의 터미널이 있습니다. tty7
GUI 기반입니다.
현재 어떤 tty를 사용하고 있는지 어떻게 알 수 있습니까?
tty1, tty2 .... tty6처럼?
우리 시스템에는 7 개의 터미널이 있습니다. tty7
GUI 기반입니다.
현재 어떤 tty를 사용하고 있는지 어떻게 알 수 있습니까?
tty1, tty2 .... tty6처럼?
답변:
이것을 알아내는 몇 가지 방법이 있습니다. 나는 함께 갈 것 who am i
(하지 who
) 명령 :
$ who am i
ravexina tty2 2017-04-10 11:19 (:0)
그래픽 터미널에 있으면 다음과 같이 반환됩니다.
ravexina pts/0 2017-04-10 1:19 (:0)
그래픽 터미널 결과를 사용하는 ssh 세션에서 결과는 동일하지만 (: 0) 대신 내 컴퓨터 IP (192.168.xx)를 얻습니다. 같은 다른 명령 w
, who
, pgrep
, ps
, 등이 너무 도움이됩니다.
예를 들어 tty
내 그래픽 인터페이스가 실행중인 위치 를 찾으려면 다음을 수행하십시오.
ps $(pgrep Xorg)
내 경우에는 gdm 또는 slim과 같은 디스플레이 관리자를 사용하지 않기 때문에 다음과 같이 생성됩니다.
PID TTY STAT TIME COMMAND
1693 tty1 Sl 0:05 /usr/lib/xorg/Xorg
who am i
에서 아무것도 반환하지 않고을 whoami
반환 zanna
하지만 ( who
모든 세션 을 반환 하는 동안 (다른 에뮬레이터가와 다른 출력을 생성한다는 것을 알았던 관련 질문 (답변이 없음)이 기억됩니다 who
)).
who am i
항상 vt에서 잘 작동하며 pgrep
매우 똑똑합니다 ( $()
명령 하위 구문에 구문 을 사용하고 싶을 수도 있습니다 -마크 틱에서 약간 혼란 스러울 수 있습니다) ...
tty
명령을 사용하십시오 .
내가 옳다면 이것은 참조입니다.
/dev/tty1 - tty1
/dev/tty2 - tty2
/dev/tty3 - tty3
/dev/tty4 - tty4
/dev/tty5 - tty5
/dev/tty6 - tty6
pts
GUI 또는 SSH를 통해 터미널을 사용하고 있음을 의미합니다.
물러서서 혼란으로 시작합시다. tty 란 무엇입니까? 원래 tty는 유리 텔레타이프가 된 텔레타이프 (teletype)의 약어로, 어떤 터미널이나 하나의 시리얼 포트 (특히 시리얼 포트)가되었습니다. 그런 다음 의사 tty와 가상 tty를 얻습니다. 낡은 유닉스 핸즈는 가상 터미널 (ssh 및 telnet), 가상 터미널 (xterm 등) 및 터미널 멀티플렉서 (screen and tmux)에 사용되는 의사 tty에 익숙합니다. Pseudo ttys는 시간이 지남에 따라 다양한 이름 지정 체계를 가지고 있지만 현재는 / dev / pts / 0과 같은 이름을 사용합니다. 반면 가상 tty는 가상 콘솔과 연관되어 있습니다. 특히 제어 Alt 기능 키를 사용하는 경우 각각 가상 tty와 쌍을 이루는 가상 콘솔을 전환합니다.
따라서 의사 tty (또는 텍스트 모드를 사용할 때 가상 tty)를 찾아야하는 경우 유사 종류의 솔루션이 who am i
있거나 ps ax|grep $$
의사 tty가 표준 io에서 열리므로 여러 가지 방법으로이를 쉽게 찾을 수 있습니다. 대부분의 경우 io가 리디렉션 될 때도 작동하는 다른 방법이 있습니다. 또한 그래픽 터미널 에뮬레이터 또는 터미널 멀티플렉서를 사용하지 않는 한 직렬 포트 및 가상 tty를 사용할 때 올바른 작업을 수행하는 이점도 있습니다.
그러나 가상 콘솔을 식별하려면 어떻게해야합니까? sudo fgconsole
대화 형 사례에 유용 할 수 있습니다. 또는 전환은 일반적으로 충분히 빠르기 때문에 콘솔을 걷는 것입니다. 비 대화식 또는 비전 경적 인 경우에 안정적으로 작동하는 프로그래밍 방식을 알지 못합니다.
가상 콘솔에 안정적으로 대답 할 수없는 예를 살펴 보겠습니다. 내가 알파 앞에 앉아있는 컴퓨터에는 tty2 (: 1)에서 실행되는 Xserver가 있고 두 개의 xterm과 vncviewer를 여는 세 개의 창이 있습니다 (bravo : 2에 연결됨). 하나의 xterm은 화면을 실행하고 다른 하나는 ssh charley를 실행 중입니다. 화면에 두 개의 창이 열려 있고 ssh 델타와 누가 (열 2에서 의사 tty를 올바르게 식별하고 힌트를 제공하는 사람)(:1:S0)
번째 X 서버에 연결된 첫 번째 화면 세션에 연결되어 있음을 알려주는 열 5 를 합니다. 가상 콘솔 정보는 제공하지 않습니다). ssh 세션을 통해 누가 실행하면 힌트가 나타납니다.(alpha)
이것은 ssh 세션이 시작된 머신을 식별하며 원격 세션에 비교적 좋습니다. 의사 tty에 연결되는 것에 대한 정보는 거의 없지만 (가상 콘솔이나 원격 tty 정보를 사용할 수 없음) 최소한 원격 호스트가 식별됩니다. 화면 세션을 분리 할 수 있으므로 화면에 대한 정보가 잘못 될 수 있으며, vnc 세션과 로컬 세션의 유일한 차이점은 디스플레이 번호이므로 vnc는 유용한 정보를 전혀 제공하지 않습니다. 대부분의 경우 : 0이 tty7에 있지만 항상 그런 것은 아니며 bravo에 그래픽 카드가 전혀없고 : 0이 vnc 세션 (로컬 콘솔이라고 생각하기 때문에 누가 혼동하는지)으로 가정하지는 않습니다. tty7을 그래픽 세션으로 사용하는 시스템은 없습니다. 왜냐하면 (반대가 아니라) tty7 (및 tty5)에 로그를 덤프하기 때문입니다. tty6 및 tty8)은 다른 곳에서 그래픽 세션을 수행합니다. 그러나 대기 화면은 직렬 케이블을 통해 세션을 설정할 수있는 터미널 프로그램 역할을 할 수도 있습니다. 이러한 세션은 누가 실행될 때 무엇을보고합니까? 왜 직렬 포트가 vnc, xterm, ssh, screen 및 usb 직렬 어댑터를 통해 이루어 지든 내 텔레 비디오에 연결되어 있는지 여부.
tty에 로그인하면 첫 번째 줄에서 자동으로 사용중인 tty를 보여줍니다.
키보드 조합에서 Ctrl+ Alt+를 누르면 F3검은 색 화면 만 표시되는 경우 주석에 기록한 것처럼 Ctrl+ Alt+ F3를 누르지 않고 컴퓨터를 부팅 할 때 루트 쉘에 액세스 하여 tty를 표시 하는 다른 방법이 있습니다 .
부팅 중에 BIOS / UEFI 시작 화면 직후에 BIOS를 사용하여 Shift키를 빠르게 누르고 있으면 GNU GRUB 메뉴가 나타납니다. (우분투 로고가 보이면 GRUB 메뉴에 들어갈 수있는 지점을 놓쳤습니다.) UEFI를 사용하여 Esc키를 눌러 GRUB 메뉴로 이동하십시오. 때로는 제조업체의 스플래시 화면이 Windows 부트 로더의 일부이므로 시스템 전원을 켤 때 GRUB 화면으로 바로 이동 한 다음 누를 Shift필요가 없습니다.
첫 번째 자주색 GNU GRUB 화면에서 ↑ 및 ↓ 키로 Ubuntu 에 대한 고급 옵션을 선택 하고를 누릅니다 Enter. 커널 옵션 목록이있는 또 다른 자주색 GNU GRUB 메뉴 메뉴가 나타납니다.
위에서 두 번째 항목 ( 설명에서 복구 모드 가있는 항목)을 선택할 때까지 아래쪽 화살표 키 를 누른 다음을 누릅니다 Enter.
이제이 복구 메뉴가 나타납니다.
키를 아래로 스크롤 화살표 사용하여 루트 다음을 누릅니다 Enter.
이제 다음과 같은 루트 프롬프트가 나타납니다.
root@ubuntu:~#
이 단계에서는 읽기 전용 파일 시스템이 있어야합니다. 쓰기 권한으로 다시 마운트해야합니다.
mount -o rw,remount /
이제 터미널에서와 동일한 명령을 실행할 수 있습니다.
제공된 다른 답변 이외의 것을 돌보는 것 같습니다. sudo fgconsole
어떤 실제 tty가 현재 활성화되어 있는지 확인 하십시오 .