특정 작업을 위해 터미널 인스턴스 시작을 자동화하는 방법


10

나는 몇 가지 프로그래밍 자습서를 겪고 있으며 모든 세션마다 적어도 3 개의 터미널 창을 시작해야합니다 (하나는 로그 파일 꼬리, 하나는 출력 테스트, 하나는 다양한 쉘 명령 실행 등).

지금은 모두 수동으로 시작합니다. 터미널 아이콘을 클릭하고 오른쪽 폴더로 cd 한 다음 명령을 입력하고 창 제목을 의미있는 것으로 변경하십시오.

스크립트를 작성하거나 나를 자동화하는 방법이 있습니까? 그렇다면 어떻게?

(나는 완전한 스크립트를 대답으로 얻지 못하는 것이 멋지다. 읽기 시작하는 포인터도 효과가있다.)

답변:


9

터미널 아이콘을 클릭하고 있으므로를 사용한다고 가정합니다 gnome-terminal.

gnome-terminal --help커맨드 라인에서 사용 하고 거기에서 읽음으로써 옵션 목록을 얻었 습니다.

maco의 답변을 바탕으로 다음과 같이 제안 할 수 있습니다.

gnome-terminal --window --title=Log -e "tail -f /var/log/syslog" --window --title=Output --working-directory=output --window --active --title=Dev --working-directory=dev/project

이 예제는 세 개의 창을 시작하고 ( --tab탭으로 전달할 수는 있지만 ) 작업 디렉토리 (홈에 상대적)와 제목을 각각 설정하고 tail명령을 하나에서 시작 하고 세 번째 창을 활성화합니다.

물론, 특히 많은 인수가있는 경우 별도의 줄을 사용하여 각 창을 시작하는 것이 좋습니다.

취향에 맞게 창문을 배치 한 후에는 또 다른 유용한 방법을 사용해야합니다.

gnome-terminal --save-config=FILE

그러면 열려 있는 모든 터미널 창과 탭 (제목, 작업 디렉토리 등)에 대한 정보가 포함 된 구성 파일이 생성 됩니다. --load-config옵션으로 그놈 터미널을 시작 하면 레이아웃이 다시 생성됩니다.

여러 터미널로 작업하는 많은 개발자들은 그리드 레이아웃 및 키보드 단축키와 같은 기능을 추가 할 때 Terminator 를 사용하는 것을 좋아합니다 .


-e 플래그를 사용하여이 방법을 수행하면 명령이 실행되는 즉시 창이 닫힙니 까? 그렇다면 창을 열어 둘 수 있습니까?
emf

8

어떤 터미널 에뮬레이터를 사용하든 명령을 인수로 사용할 수 있어야합니다. 예를 들면 다음과 같습니다.

gnome-terminal -e "tail -f /var/log/syslog"

시스템-> 환경 설정-> 세션 (우분투) 또는 시스템 설정-> 자동 시작 (쿠분투)에서 자동 시작에 이러한 명령을 추가하십시오.


4

스크립트를 사용하여 자동화 할 수도 있습니다. 사용중인 터미널에 대한 매뉴얼 페이지와 함께 Advanced Bash 스크립팅 안내서 또는 Bash Programming HOWTO를 읽는 것이 좋습니다 .

다음은 간단한 예입니다.

$ vi your-script
#!/bin/bash
gnome-terminal -e "tail -f /var/log/syslog"
gnome-terminal --working-directory=/foo/bar
gnome-terminal --whatever-else

그런 다음 실행 가능하게 만드십시오.

$ chmod +x your-script

당신은 exec그 모든 것을 필요하지 않습니까?
maco

예, gnome-terminal이 이미 실행 중이 아니면 명령은 다른 실행중인 프로세스에 대한 새 창을 연 다음 닫습니다.
LassePoulsen
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.