터미널 에뮬레이터없이 bash에 액세스하는 방법은 무엇입니까?


37

말 실수로 내 시스템에있는 모든 터미널 에뮬레이터를 제거한 : xterm, uxterm, gnome-terminal, guake, 등 내가 액세스 할 수있는 방법이 bash터미널 에뮬레이터 않고는?

내가 생각할 수있는 한 가지 방법은 쉘 스크립트를 작성하고 실행하는 것이지만 그 외에도 대화 형 쉘을 얻을 수 있습니까?

이것은 순전히 가설이지만 모든 답변에 감사드립니다!


2
터미널을 (부분적으로) 에뮬레이션하여 셸을 실행할 수 있고 일정 수준의 상호 작용 성을 제공하는 프로그램이 있지만 그 자체로는 에뮬레이터가 아닙니다 . 예를 들어 GVim은 하나입니다.
muru

@muru 그래서 당신은 아직 답변으로 게시하지 않은 이유는 무엇입니까? : D
Sergiy Kolodyazhnyy 2016 년

@Serg는 IDE 솔루션 또는 gedit의 Python 콘솔을 게시하지 않은 것과 같은 이유로 기본적으로 설치되지 않습니다 (추가 설치없이 gedit Python 콘솔을 활성화 할 수 있다고 생각합니다).
muru

@muru 아, 알겠습니다. 추가 설치가 필요없는 솔루션이 항상 선호됩니다. 확실히
Sergiy Kolodyazhnyy 2016 년

답변:


63

예, CtrlAltF21 을 눌러 . 가상 콘솔 TTY2에 액세스 할 수 있습니다. 그리고 sudo apt-get install terminal-name여기서 터미널 이름은 gnome-terminal예를 들어을 사용하여 터미널 에뮬레이터를 다시 설치할 수 있습니다 .

GUI로 돌아가려면 먼저 exit가상 콘솔에서 로그 아웃 한 다음을 눌러 CtrlAltF7GUI로 다시 전환하십시오. (TTY 세션을 열린 상태로 유지하려면 입력 exit부분을 건너 뛰십시오 )

편집 : 2015 년 6 월 17 일

다른 해결책을 생각해 냈습니다 .C 언어 IDE가있는 경우 다음 코드를 컴파일하면 IDE 콘솔에서 bash에 액세스 할 수 있습니다

#include<stdio.h>
#include <unistd.h>

void main()
{
        system("bash");
}

참고 : CtrlAltF2 유일한 옵션은 아닙니다. 당신이 사용할 수있는 CtrlAltF1, CtrlAltF3, CtrlAltF4, CtrlAltF5CtrlAltF6도 각각 당신에게 가상 콘솔 TTY1,이 tty3, TTY4, TTY5 또는 TTY6을 줄 것이다.


1
@ThomasW. 나도 알아,하지만 난 말 F2의 habbit에있어, 그래서 페도라 tty1로 같은 일부 시스템은 존재하지 않습니다
세르지 Kolodyazhnyy

18
@Huey 이것은 tty를 수동으로 비활성화하지 않는 한 모든 시스템에서 페일 세이프 액세스 할 수 있으며 기본적으로 linux / unix가 기본적으로 텍스트 콘솔입니다. GUI는 * nix 시스템에서 실제로 선택 사항입니다.
Sergiy Kolodyazhnyy 2018 년

8
@Huey 가상 콘솔은 Linux가 처음에 구축 된 것입니다. 다른 모든 것은 나중에 추가 된 기능입니다. 그리고 너무 유용한 기능이므로 다시 제거하는 것이 합리적입니다.
kasperd

10
옛날 옛적에, 당신은 일반적으로 텍스트 콘솔을 통해 로그인 한 다음 어떤 이유로 GUI 프로그램을 실행 해야하는 경우 실제로 X11 을 시작 xinit하거나 startx실행합니다. :)
푹신한

1
다른 솔루션을 살펴 보았습니다. 내 편집, 녀석을 참조하십시오
Sergiy Kolodyazhnyy

30

ssh 서버가 실행중인 경우 다른 시스템에서 ssh를 통해 연결할 수있는 것보다 낫습니다.

ssh <your_remote_user_name>@<your_remote_host>

시스템을 설치하면 먼저 SSH 서버를 설치하고 시작합니다. 생명 보험의 일종. =)


24

Ctrl+ Alt+ ( F1을 통해 F4적어도, 어쩌면 최대 F6) 가상 콘솔의 터미널 인터페이스를 실행합니다. 일단 GUI로 돌아가려면 Ctrl+ Alt+를 사용하십시오 F7.

이 중 하나를 수행하면 로그인 한 다음 터미널에 액세스 할 수있는 터미널에 접속할 수 있어야합니다. 그러나 Bash 스크립트는 자동화 된 스크립트를 삭제 cron하고 두 번 클릭하여 실행하지만 터미널에서는 실행되지 않는 경우 계속 실행됩니다 . '당신을 줄'대화 형 쉘하지만, 궁극적으로 터미널 에뮬레이터 bash, zsh등 실제 쉘이 여전히 존재하는과를 통해 중 하나를 실행할 수있는 cron스크립트, 위의 키보드 콤보 심지어 가상 콘솔.

스크립트에 대화식 인터페이스가 필요한 경우 가상 콘솔을 사용하거나 에뮬레이터를 다시 설치해야합니다.


2
내 컴퓨터에서 F1에서 F6까지
Scimonster 2016 년

14

이것이 테스트의 질문이라면 완전성을 위해 직렬 케이블로 컴퓨터에 연결할 일반적인 직렬 tty를 추가합니다. 터미널을 잃어 버리기 전에 미리 구성된 게티 (또는 현재 tty 직렬 리스너)가 필요하며 첫 번째 컴퓨터와 대화하려면 두 번째 컴퓨터가 필요하므로 가정 비상 사태는 발생할 수 없습니다. .

기술적으로 대화식 쉘은 아니지만 쉘 액세스를 제공하는 일부 webmin 콘솔이있을 수도 있습니다. 이 시점에서 apt-get some-terminal-emulator와 같은 쉬운 명령을 수행하는 것이 좋습니다.

브라우저 창이 열려 있으면 이론적으로 Java 터미널 에뮬레이터를 검색 할 수는 있지만 미리 설치해야하며 브라우저 창만 있으면 기본 pty에 액세스 할 수 없습니다. 그러나 어느 쪽이든 테스트 할 시간이 없습니다.

따라서, 대부분의 서버 룸은 아마도 직렬 액세스 권한을 갖지만, 위의 "가능한 모든 방법은 무엇입니까?"질문이며, 가정에서 실제로 유용하지는 않습니다.

흠, 다른 많은 도구 (emacs, vim 등)는 어느 정도의 껍질을 벗길 수 있습니다. xemacs가 열려 있기를 바랍니다.


이맥스 레코드에 +1하면 Mx 쉘을 사용할 수 있습니다 . gvim에는 ESC :shell; geany libvte.so는 사용 가능한 경우 메시지 창의 탭에 "가상 터미널 에뮬레이터 위젯 (VTE)"을 가지고 있습니다.
스틸 드라이버

6

위의 모든 답변이 완벽하지만 Linux를 사용하고 있기 때문에 가능한 다른 많은 솔루션이 있습니다.

  • @serg answer에서 설명한 가상 tty는 완벽한 솔루션입니다.
  • @AB 솔루션에 설명 된 SSH는 멋진 트릭이지만 openssh 서버를 실행하려면 고려해야합니다.
  • 또 다른 가능한 솔루션 (완벽하지는 않지만 다른 가능성을 보여주기 위해) : LiveCD , 복구 모드

3
과잉 솔루션.
토마스 워드

@ThomasW. 왜!? 또 다른 옵션입니까? 왜 과잉 솔루션이라고 생각하십니까?!
Maythux 2016 년

2
@Maythux는 기술적으로 정확하지만 이미 TTY를 사용할 수 있고 ssh가있을 때 실제로 약간 과잉입니다. LiveCD 솔루션은 coreutils를 설치했거나 (사전 실수로 해본 적이 있음) 무언가 엉망인 경우에 더 적합합니다.
Sergiy Kolodyazhnyy 2016 년

1
@ Serg 그러나 여전히 사례입니다. 그리고 그것은 또 다른 해결책 일뿐입니다. 내가 tty를 사용하는 것 외에도 liveCd 옵션이 있고 복구 모드 옵션이 있습니다 ... 우리는 리눅스에 대해 이야기하고 있습니다. 같은 문제. liveCd를 추천하는 것이 문제라고 생각하지 않습니다!
Maythux 2016 년

1
@Maythux 이미 로그인하여 TTY에 '가상 콘솔'을 가지고 있다면 LiveUSB / LiveCD로 부팅하여 작업하는 것이 과도하고 추가 작업입니다. 특히 "나는 아무것도 접근 할 수 없음"의 사례가 아니기 때문에 큰 총을 필요로하지 않는다 (Serg가 의견에서 언급 한 바와 같이)
Thomas Ward

2

그래서 나는 여기 pedantic 할 것입니다 :

터미널 에뮬레이터없이 bash에 액세스 할 수있는 방법이 있습니까?

물론 모든 스크립트 #!/bin/bash가 그렇게 할 것입니다.

터미널 에뮬레이터없이 bash 프롬프트를 얻을 수있는 방법이 있습니까?

pedantic이라는 나의 주제를 계속하면서, 다른 답변들에 약간의 구멍을 뚫을 수 있습니다.

실수로 시스템에서 모든 터미널 에뮬레이터를 제거했다고 가정 해보십시오.

이것은 실제로 떼어 내기 매우 어렵습니다.

눌러 CtrlAltF2

리눅스 커널 가상 터미널 에뮬레이터가 실행중인 다른 가상 콘솔로 전환하면 제거하기가 어렵고 비표준 옵션으로 커널을 다시 컴파일해야합니다. 따라서 ssh / telnet / serial-port 옵션에 구멍을 뚫을 수 있습니다. 원격 터미널 에뮬레이터가 필요합니다. webmin과 마찬가지로 터미널 에뮬레이터도 있습니다 (단지 큰 것).

터미널 에뮬레이터없이 터미널 기능을 사용하는 유일한 방법은 실제 터미널을 사용하는 것입니다. 나는 Televideo와 teletype (TeleType이 아닌이 유형이 아니 었습니다)을 가지고있었습니다. 나는 Televideo에서 (vi는 Teletype에서 ed, teletype에서 ed (후면의 고통)) 파일을 편집 할 수있었습니다. 텔레콤 비디오에서 미니 콤과 세연을 사용하는 지역 bbs. 당신이 내가 놓친 유일한 것은 자랑할만한 권리라는 것을 알고 있지만, 2 줄 20 열 디스플레이, 키보드 및 rs232 인터페이스가있는 산업용 프린터의 몇 가지 구성 터미널을 집어 들었습니다. 내 에드 매뉴얼이 어디에 있는지


0

유사 @AB 당신이있는 경우의 대답, 웹 서버 (나는 우분투 아파치와 함께 제공 stanard 믿고)를 실행, 당신은 같은 것을 사용하여 자신의 브라우저에서 쉘을 실행할 수 phpshell .

개인적으로, 나는 단지 emacs를 발사 할 것이다 M-x shell RETURN.


표준 우분투에는 웹 서버가 제공되지 않습니다.
muru

2
@muru 저장소에 웹 서버와 함께 제공됩니다 . 터미널을 열고을 입력하십시오 sudo apt-get install apache. 아 잠깐만
Mr Lister
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.