GNU 화면을 로그인“쉘”로 사용


22

로그인, xterm 또는 다른 방법으로 새 ​​쉘을 열 때 화면을 자동으로 실행하는 가장 좋은 방법은 무엇입니까?

가장 일반적인 권장 사항은 exec screen일반 쉘의 rc 또는 로그인 / 프로필 파일 에 넣는 것이지만, 예를 들어 tcsh의 경우 로그인 쉘은 .login을 마지막으로 실행하고 비 로그인 쉘은 .cshrc를 마지막으로 읽습니다. exec screen.cshrc를 넣으면 로그인 쉘이 .login 파일을 소스하지 않고 .login에 넣으면 비 로그인 쉘은 화면을 실행하지 않습니다. 다른 쉘과 비슷한 문제가 있다고 가정합니다.


1
이것은 질문에 대한 답은 아니지만 언급 할 가치가 있습니다 .tmux 는 화면에서 혁신적인 단계이며 화면과 호환되는 키보드에 가깝게하려고합니다. 이 페이지 는 .bashrc에서 자동으로 시작하는 방법을 설명합니다.
datashaman

답변:


19

한 가지 방법은 다음과 같습니다.

# if $STY is not set...
if [ -z "$STY" ]; then
    exec screen -ARR
fi

이것은을 위해 쓰여졌 bash지만 비슷해야합니다 csh. 이에 넣어 .cshrc위해 실행되는 모든 포탄입니다.


또 다른 방법 : 당신은 간단하게 할 수 있습니다 설정 screen로그인 쉘로 에서 /etc/passwd자체와이 줄을 추가하여 ~/.screenrc(물론, 경로를 수정합니다.)

defshell / bin / csh

그러나 이로 인해 /etc/passwd다양한 명령에 정의 된 로그인 쉘을 실행하는 프로그램이 중단 될 수 있습니다 .

( 편집 : 에 화면을 추가하는 것을 잊지 마십시오 /etc/shells)


1
이전에 STY 변수에 대해 알지 못했고 화면 매뉴얼에서 찾는 동안 새 화면에서 명령을 실행하기 위해 화면 내 화면을 실행할 수 있습니다 (예 : "screen vi"는 vi에서 vi를 엽니 다) 제어 쉘이없는 새 창). BTW, csh의 경우 .cshrc가 아닌 .login 파일에 저장하면 "all"쉘에 대해 실행하지 않아도됩니다. bash에도 동일하게 적용됩니다. .bashrc가 아닌 .profile 또는 .bash_login에 넣으십시오.
haridsv

4

오래된 질문이지만 같은 것을 인터넷 검색하면 여기로 왔 으므로이 페이지를 우연히 발견 한 다른 사람에 대한 답변이 있습니다.

내가 지금까지 찾은 가장 좋은 것은 배포판에있는 경우 byobu 입니다. 로그인시 실행할 수있는 옵션이 제공되며 한 번에 여러 화면을 제어합니다.

한 위치에서 분리 및 로그 아웃 한 다음 다른 위치에서 동일한 세션에 로그인 할 수 있습니다.

화면은 서버 프로세스 실행에 사용하기에 좋지만 byobu는 일상적인 작업에 적합합니다.


-2

chsh 사용은 어떻습니까 :

chsh /usr/bin/screen

이것은 / etc / passwd에 기본 로그인 쉘을 설정합니다. (여기서도 가능)


그런 다음 로그인 이외의 다른 계정으로 작업을 수행하기가 어려워집니다. 또한 sysadmin은 / etc / shells에 화면이 없을 것입니다. 또한 허용되는 답변을 참조하십시오.
wfaulk
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.