GUI없이 여러 "터미널"열기 (startx)


13

제목이 자명한지 모르겠지만 데스크톱을 시작하지 않고도 여러 터미널 (현재는 두 개면 충분합니다)을 열고 싶었습니다.

PHP 스크립트를 (풀 타임으로) 실행하고 Raspbian으로 Raspi를 시작할 때와 같이 Raspi 터미널을 계속 사용할 수 있기를 원합니다.


당신은 ssh 또는 파이에 직접 연결합니까?
SteveIrwin

dvtm에서 안녕하십니까? brain-dump.org/projects/dvtm
cgte

답변:


8

Alt + F1-F12 만 사용하면 GUI를 시작하지 않고도 12 개의 다른 콘솔 탭을 사용할 수 있습니다


이것은 실제로 내가 현재 사용하는 옵션입니다 :)
pasadinhas

1
이것은 Raspbian에서는 작동하지 않으며 다른 tty에는 로그인이 없습니다.
AndreKR

9

콘솔 (연결된 키보드 및 화면)을 사용하는 경우 Linux 가상 콘솔 시스템 을 사용하여 (ctrl-) alt-F1-F12 이상을 사용하여 여러 터미널간에 전환 할 수 있어야합니다 .

구성된 터미널 수와 getty 프로세스를 갖는 터미널 수 (로그인 및 비밀번호 요청)는 구성에 따라 다릅니다 .


2
하나는 직접 컴퓨터에 연결했을 때 때문에, 이것은 또 다른 로그인을 얻을 수있는 "표준"방법이며, 화면 / TMUX .. 설치가 필요하지 않습니다
Kiirani

7

screen(내 의견으로는) 보다 낫다 tmux. 를 통해 설치할 수 있습니다 sudo apt-get install tmux. 로 맨 페이지를 확인하십시오 man tmux.

tmux콘솔 중 하나를 입력하여 시작할 수 있습니다 (XTL의 답변 참조).

가장 중요한 명령은 다음과 같습니다 ( C-b d즉, 컨트롤과 B를 동시에 누른 다음 D를 누름).

  • C-b d 세션 분리
  • tmux attach 셸에서 실행중인 세션을 다시 연결
  • C-b " 현재 프레임을 가로로 분할 (새 셸이 시작됨)
  • C-b % 현재 프레임을 세로로 분할 (새 셸이 시작됨)
  • C-b arrow (up, down, left, right) 현재 프레임에서 창 사이를 탐색
  • C-b c 새 프레임 (새 셸이 시작됨)
  • C-b n 다음 프레임
  • C-b l 마지막 프레임
  • C-b bC-b실행중인 응용 프로그램으로 전송

tmux에 대한 강력한 지지자도 여기에 있습니다. 상태 표시 줄 구성이 훨씬 간단하고 다시 그리기를 더 잘 처리합니다.
codey

1
tmux는 여러 VT에 세션을 연결하는 것과 관련하여 화면과 동일한 동작을하지 않습니다 ( "screen -x")
Kiirani

3

화면에서도이 작업을 수행 할 수 있습니다. 화면을 사용하면 화면 세션에서 분리, 로그 아웃, 로그인 한 다음 아무 것도 잃지 않고 화면 세션에 다시 연결할 수 있습니다. 프로그램은 계속 실행되며 연결이 끊어진 터미널에 모든 출력이 계속 표시됩니다.

화면 자습서에 대한 몇 가지 링크 :

http://www.rackaid.com/resources/linux-screen-tutorial-and-how-to/

http://magazine.redhat.com/2007/09/27/a-guide-to-gnu-screen/

유용한 .screenrc 팁이있는 스레드 링크 :

https://bbs.archlinux.org/viewtopic.php?id=55618

라즈베리 파이 관련 튜토리얼 :

http://raspi.tv/2012/using-screen-with-raspberry-pi-to-avoid-leaving-ssh-sessions-open


3
  1. 실행하려는 PHP 스크립트가 사용자와 상호 작용하지 않거나 입력이 필요한 경우,

    &스크립트를 백그라운드로 보내는 명령을 사용할 수 있습니다

    다음은 예입니다.

    pi@raspberrypi ~ $php code1 &
    

    스크립트가 계속 실행되는 백그라운드로 스크립트를 보냅니다.

  2. 터미널에 ssh하면 동일한 사용자를 두 번 ssh하고 두 개의 터미널을 가질 수 있습니다.

  3. ssh 세션에서 여러 터미널을 열려면

    화면을 보거나 byobu화면 주위를 감싸는 더 나은 설치 를 해야 합니다.

    byobu는 ctrl-a의 키 조합 대신 간단한 기능 키를 사용하여 새 화면을 쉽게 열 수있는 래퍼입니다. 또한 이름을 지정할 수있는 모든 열린 가상 터미널이있는 상태 표시 줄도 보여줍니다.

    또 다른 좋은 기능은 ssh 연결이 끊긴 동안 모든 화면을 유지할 수 있다는 것입니다. ssh를 통해 다시 연결하고 byobu를 호출하면 모든 것이 이전과 같습니다.

도움이 되길 바랍니다.


2

완전성을 위해 또 다른 옵션은 byobu 를 사용하는 것 입니다. GNU 화면 위에 편리한 레이어입니다 . 좋은 기본값을 제공하며 사용하기가 더 쉽습니다. 나는 개인적으로 내 Rapsberry Pi에서 사용하며 정상적으로 작동합니다. 설치하려면 다음을 입력하십시오.

$ sudo apt-get install byobu

설치되면 다음을 통해 구성하십시오.

$ byobu-config

로그인 할 때 자동으로 시작하고 상태 알림 애플릿 ( 가동 시간,로드, 날짜 ... )을 토글 하도록 선택할 수 있습니다.

여기에 이미지 설명을 입력하십시오

참고로, 이러한 종류의 가상 콘솔은 다른 컴퓨터의 다른 사용자간에 동일한 콘솔 입력 / 출력을 공유하는 데 유용합니다 ( 텍스트 모드 화면 공유 라고 할 수 있음 ).


나는 다른 날 byobou를 시도했지만 행복하지 않았습니다. 기능 키를 통한 제어는 매우 약했습니다. OS X에서는 작동하지 않았으며 데비안 환경에서도 문제가있었습니다. tmux와 그 명령을 고수하겠습니다. 기능 키도 mc (자정 사령관)와 충돌합니다.
Arne

mc 와의 기능 키 충돌 에 대해서는 byobu에서 변경할 수 있습니다 (를 통해 두 가지 모드 중에서 쉽게 선택할 수 있음 byobu-config).
Laurent Grégoire

2

원래 요구 사항은 백그라운드에서 PHP 스크립트를 시작하는 것이 었으므로 명령을 사용할 수 있습니다 nohup. 예:

$ nohup php myscript.php &

일단 시작되면, 명령 행 인수로 지정된 명령 이 백그라운드에서nohup 실행 되고 입력 / 출력이 시작된 터미널에서 연결 해제 되어 SIGHUP신호 ( nohup이름)가 백그라운드 프로세스로 전송 되지 않도록합니다. 시작 콘솔을 종료합니다 (신호는 일반적으로 프로그램을 종료시킵니다). 출력이 파일로 리디렉션됩니다 (기본값 nohup.out).

자세한 정보 : man nohup.

정확 하고 완전한 답변을 얻으 려면 프로그램 을 완전히 "데모" 할 수 있습니다. 웹에서 PHP 스크립트로 수행하는 방법을 설명하는 리소스를 찾을 수 있습니다.


일부 셸 (bash, zsh?)에는 disown선택한 백그라운드 프로세스가 중단되는 것을 방지 하는 명령도 있습니다 .
XTL
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.