제목에서 알 수 있듯이 헤드리스 상자에 GNU 화면을 설정하여 시작할 때 일부 화면이 이미 실행 중인 상태로 설정하고 싶습니다.
내 .bashrc
파일은 처음 로그인할 때 화면이 실행 되고 다양한 로그가 자동으로 열리길 screen -xRR
원합니다 .htop
동시에 화면에 제목을 할당하는 것도 가능합니까?
답변1
화면 구성 파일에서 기본 창을 정의할 수 있습니다 ~/.screenrc
.
창 제목은 -t
옵션을 사용하여 인라인으로 설정할 수 있지만 각 창을 시작하기 전에 작업 디렉터리를 설정해야 합니다. 예를 들어 귀하의 경우 다음을 포함할 수 있습니다.
~/.screenrc
# ...
chdir ~
screen -t "Htop" htop
chdir /var/log
screen -t "System log" tail -F syslog
screen -t "Mail log" tail -F mail.log
chdir ~
screen # Extra Bash window for running commands
# ...
screen
여기서는 screen
실행하는 명령이 아니라 내부 명령이라는 점에 유의하세요 screen
. 보다man screen
, 사용자 정의 섹션, 또는GNU 매뉴얼이상.
답변2
플래그를 활용 -S
하고 화면에 부여하려는 고유한 이름을 제공할 수 있습니다.
screen -S MyTitleHere
플래그를 사용하여 구성 파일을 로드할 수도 있습니다 -c
.
screen -S foo -c /home/user/.screenrc.bar
다음과 같은 것을 시도해 볼 수 있습니다.
su -c "screen -dm -S $TITLE 2>&1 1>/dev/null" $USER
그리고 이를 에 배치하면 /etc/rc.local
특정 사용자에 대해 부팅할 때 해당 화면이 생성됩니다.
구성( .rc
) 파일을 설정한 후에는 다음과 같은 내용을 실행하고 싶을 것입니다.
screen -dURS $TITLE -c /path/to/.screenrc.bar
이대로
- 존재하지 않는 경우 screen 세션을 만듭니다.
- 이미 존재하는 경우 세션에 다시 연결합니다.
또 다른 옵션은 더 깔끔한 경험을 제공하는 tmux
및 를 사용하는 것입니다 . 익숙하다면 화면 스타일 키 바인딩을 사용하도록 tmuxinator
설정할 수 있습니다 . 제가 이렇게 말하는 이유는 제가 화면을 사용했을 때보다 다른 사용자를 대상으로 tmux
실행했을 때 훨씬 더 나은 성공을 거두었기 때문입니다 .tmux