제목이 자명한지 모르겠지만 데스크톱을 시작하지 않고도 여러 터미널 (현재는 두 개면 충분합니다)을 열고 싶었습니다.
PHP 스크립트를 (풀 타임으로) 실행하고 Raspbian으로 Raspi를 시작할 때와 같이 Raspi 터미널을 계속 사용할 수 있기를 원합니다.
제목이 자명한지 모르겠지만 데스크톱을 시작하지 않고도 여러 터미널 (현재는 두 개면 충분합니다)을 열고 싶었습니다.
PHP 스크립트를 (풀 타임으로) 실행하고 Raspbian으로 Raspi를 시작할 때와 같이 Raspi 터미널을 계속 사용할 수 있기를 원합니다.
답변:
Alt + F1-F12 만 사용하면 GUI를 시작하지 않고도 12 개의 다른 콘솔 탭을 사용할 수 있습니다
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 b
C-b
실행중인 응용 프로그램으로 전송화면에서도이 작업을 수행 할 수 있습니다. 화면을 사용하면 화면 세션에서 분리, 로그 아웃, 로그인 한 다음 아무 것도 잃지 않고 화면 세션에 다시 연결할 수 있습니다. 프로그램은 계속 실행되며 연결이 끊어진 터미널에 모든 출력이 계속 표시됩니다.
화면 자습서에 대한 몇 가지 링크 :
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
실행하려는 PHP 스크립트가 사용자와 상호 작용하지 않거나 입력이 필요한 경우,
&
스크립트를 백그라운드로 보내는 명령을 사용할 수 있습니다
다음은 예입니다.
pi@raspberrypi ~ $php code1 &
스크립트가 계속 실행되는 백그라운드로 스크립트를 보냅니다.
터미널에 ssh하면 동일한 사용자를 두 번 ssh하고 두 개의 터미널을 가질 수 있습니다.
ssh 세션에서 여러 터미널을 열려면
화면을 보거나 byobu
화면 주위를 감싸는 더 나은 설치 를 해야 합니다.
byobu는 ctrl-a의 키 조합 대신 간단한 기능 키를 사용하여 새 화면을 쉽게 열 수있는 래퍼입니다. 또한 이름을 지정할 수있는 모든 열린 가상 터미널이있는 상태 표시 줄도 보여줍니다.
또 다른 좋은 기능은 ssh 연결이 끊긴 동안 모든 화면을 유지할 수 있다는 것입니다. ssh를 통해 다시 연결하고 byobu를 호출하면 모든 것이 이전과 같습니다.
도움이 되길 바랍니다.
완전성을 위해 또 다른 옵션은 byobu 를 사용하는 것 입니다. GNU 화면 위에 편리한 레이어입니다 . 좋은 기본값을 제공하며 사용하기가 더 쉽습니다. 나는 개인적으로 내 Rapsberry Pi에서 사용하며 정상적으로 작동합니다. 설치하려면 다음을 입력하십시오.
$ sudo apt-get install byobu
설치되면 다음을 통해 구성하십시오.
$ byobu-config
로그인 할 때 자동으로 시작하고 상태 알림 애플릿 ( 가동 시간,로드, 날짜 ... )을 토글 하도록 선택할 수 있습니다.
참고로, 이러한 종류의 가상 콘솔은 다른 컴퓨터의 다른 사용자간에 동일한 콘솔 입력 / 출력을 공유하는 데 유용합니다 ( 텍스트 모드 화면 공유 라고 할 수 있음 ).
byobu-config
).
원래 요구 사항은 백그라운드에서 PHP 스크립트를 시작하는 것이 었으므로 명령을 사용할 수 있습니다 nohup
. 예:
$ nohup php myscript.php &
일단 시작되면, 명령 행 인수로 지정된 명령 이 백그라운드에서nohup
실행 되고 입력 / 출력이 시작된 터미널에서 연결 해제 되어 SIGHUP
신호 ( nohup
이름)가 백그라운드 프로세스로 전송 되지 않도록합니다. 시작 콘솔을 종료합니다 (신호는 일반적으로 프로그램을 종료시킵니다). 출력이 파일로 리디렉션됩니다 (기본값 nohup.out
).
자세한 정보 : man nohup
.
더 정확 하고 완전한 답변을 얻으 려면 프로그램 을 완전히 "데모" 할 수 있습니다. 웹에서 PHP 스크립트로 수행하는 방법을 설명하는 리소스를 찾을 수 있습니다.
disown
선택한 백그라운드 프로세스가 중단되는 것을 방지 하는 명령도 있습니다 .