최근에 12.04를 설치했습니다. gedit 사용하여
파일을 편집하려고 할 때 편집 파일을 닫거나 새 터미널을 열어야 만 터미널을 사용할 수 있습니다. 그러나 나는 11.04 에서이 문제가 없다고 생각하지만 확실하지 않습니다.
어쨌든 이것을 피하고 파일을 편집하는 동안 동일한 터미널을 사용하는 것이 있습니까?
최근에 12.04를 설치했습니다. gedit 사용하여
파일을 편집하려고 할 때 편집 파일을 닫거나 새 터미널을 열어야 만 터미널을 사용할 수 있습니다. 그러나 나는 11.04 에서이 문제가 없다고 생각하지만 확실하지 않습니다.
어쨌든 이것을 피하고 파일을 편집하는 동안 동일한 터미널을 사용하는 것이 있습니까?
답변:
응답이없는 터미널에서 :
bg
하고 입력하십시오.disown
하고 입력하십시오.응답이없는 터미널에서 Ctrl+를 Z누르면 프로세스가 "일시 중지"되고 (또는 "작업") 콘솔 컨트롤이 사용자에게 반환됩니다. 그러나 gedit
응답하지 않아 사용할 수 없습니다.
추가 : 당신이, 당신이 명령을 실행하려는 경우
jobs
, 당신이 그것을 읽어 줄 테니 것을 알 수 있습니다 중지 에 대한gedit
의 왜 당신이 그것을 사용할 수 없습니다, 명령.
백그라운드에서 작업을 성공적으로 실행하려면 (즉 gedit
, 다시 응답하도록) 명령을 실행하십시오 bg
(배경을 의미 함). 이제를 사용할 수 gedit
있으며 동시에 자신에게 프롬프트가 표시됩니다.
추가 : 이제 실행
jobs
하면 Running 이라는 메시지가 나타납니다 .
처음부터이 모든 것을 극복 할 수 있습니다. gedit
터미널에서 시작할 때 &
다음과 같이 명령 끝에에를 추가 하십시오 gedit /path/to/file &
. 이것은 gedit
처음부터 백그라운드에서 시작 됩니다 ( Enter콘솔 컨트롤을 되찾기 위해 몇 번 누르십시오 ).
추가 :이 여분의 노트를 따르고 있다면, 두 번째로했을 때
jobs
bash&
가gedit
명령 끝에 a 를 추가 한 것을 알 수 있습니다 .
이 시스템에 익숙해지면 터미널을 닫으면 확인 대화 상자가 없어도 gedit도 종료됩니다. 이를 방지하려면을 실행 disown
하십시오. 그러면 gedit 프로세스가 터미널에서 분리되어에서 반환 된 목록에서 제거됩니다 jobs
.
그냥 입력하십시오 :
gedit <filename-to-edit> &
그러면 즉시 명령 프롬프트가 나타납니다.
를 사용하여 nohup
GUI가 터미널에 연결되지 않도록 할 수 있습니다 .
nohup mupdf some.pdf &
그러면 프로그램을 닫지 않고도 시작중인 터미널을 닫을 수 있습니다.
또한 nohup 명령은 stdout
and 명령을 사용하여 파일을 작성 stderr
합니다. 이를 방지하려면 앞에을 추가 &>/dev/null
하십시오 &
.
nohup mupdf some.pdf &>/dev/null &
nohup.out
출력을 포함 하는 파일 을 작성합니다 . 오류 메시지를 보려는 경우에 유용합니다. 파일을 생성하지 않으려면 다음과 같이 리디렉션을 추가하십시오.nohup mupdf some.pdf &>/dev/null &
disown
명령 을 사용할 수도 있습니다 . 더 이상 터미널에 연결하지 않으려는 프로세스를 이미 시작한 경우 특히 유용합니다.
올바르게 기억한다면 기본 절차는 다음과 같습니다.
$ > firefox #Oops
Ctrl + z #Suspend the process
$ > bg #Push the process to the background
$ > disown #Detach most recent process started or stopped
$ > exit #Terminal gone!
disown은 bash
구체적입니다.
firefox & disown
보낸 사람 man gedit
:
-b, --background Run gedit in the background.
당신이 실행하는 경우 그래서, gedit
함께 -b
옵션, 그것은 백그라운드에서 시작됩니다 :
gedit -b [FILE-NAME]
또한, 다음 당신의 별칭을 만들 수 있습니다 gedit -b
(참조 여기에 영구적 인 별칭을 만드는 방법) :
alias gedit='gedit -b'
이제부터는 앞으로 gedit [FILE-NAME]
정상적으로 사용할 수 있으며 백그라운드에서 시작됩니다.
그냥 입력하십시오 :
gedit FILENAME & disown
&
bash에서 명령을 끝내면 백그라운드에서 해당 명령이 실행됩니다. 그러나 해당 프로세스는 여전히 터미널에 연결되어 있습니다.
이 없으면 내가 틀렸다는 것이 밝혀졌다. 이것은 bash의 경우는 아니지만 zsh의 경우이다. 그러나 bash에서도 - 및 을 수행 disown
터미널을 닫으면 편집 한 파일을 저장하라는 메시지가 표시되지 않아도 gedit가 닫힙니다. disown
터미널을 닫아도 gedit는 계속 정상적으로 실행되도록 백그라운드 프로세스를 현재 터미널에서 분리합니다. detach
한 후에도 여전히 실행해야합니다 .ctrlzbg
당신은 내장 기능에 대해 자세히 알 수 있습니다 jobs
, disown
그리고 &
에서 메타 문자 에 대한 맨 페이지 bash
명령 "작업 제어"라는 레이블이 특히 절을 참조하십시오.
disown
나는 터미널 폐쇄 후 열기의 gedit을 유지 할 수 있었다. "당신은 bash의 경우는 아니지만 zsh의 경우"에 대해 당신이 말한 것을 얻지 못했습니다
터미널을 통해 gedit을 열었 기 때문일 수 있습니다. 이를 수행하면 GUI를 통해 시작하면 일반적으로 숨겨지는 명령 행 출력이 표시됩니다. 이 문제를 해결하는 가장 좋은 방법은 새 터미널 창을 여는 것입니다. 다른 하나는 gedit가 닫힌 후에 사용할 수있게됩니다. 위의 사용자가 제안한 스위치를 사용할 수도 있습니다.