프로그램 사용/screen2019. 12. 18. 22:27

ctrl a s

창 분할 기능이 있다니..

 

[링크 : https://flapper.github.io/2017/12/06/61/]

[링크 : http://www.incodom.kr/Linux/기본명령어/screen]

 

+

2026.05.11

 

tmux / 터미네이터 추천?

[링크 : https://www.reddit.com/r/commandline/comments/x27hzx/terminal_where_i_can_scroll_updown_using_mouse/?tl=ko]

 

ctrl-a esc (pgdn/pgup) 스크롤

[링크 : https://m.blog.naver.com/tlaja/222082038584]

 

Ctrl+a, c : 새창 띄우기

Ctrl+a, a : 바로 전 창으로
Ctrl+a, n : 다음 창으로
Ctrl+a, p: 이전 창으로
Ctrl+a, 스페이스 : 다음 창으로
Ctrl+a, 백스페이스 : 이전 창으로

Ctrl+a, 0 : 0번째 창으로
Ctrl+a, 1 : 1번째 창으로
Ctrl+a, 9 : 10번째 창으로

Ctrl+a, d : screen 탈출(screen은 계속 실행중이다.)

[링크 : https://incodom.kr/Linux/기본명령어/screen]

 

 

ctrl a = 창 목록보기 (windowlist)

 

ctrl a c - 새창 만들기 (screen)

Posted by 구차니
프로그램 사용/screen2019. 9. 23. 06:57

-S로 스크린에 이름을 주고

-r -X 옵션으로 명령을 준다.

screen -S "mylittlescreen" -d -m
screen -r "mylittlescreen" -X stuff $'ls\n'

 

[링크 : https://stackoverflow.com/questions/7049252/how-to-create-a-screen-executing-given-command]

'프로그램 사용 > screen' 카테고리의 다른 글

screen 사용법  (0) 2019.12.18
screen 스크롤하기  (0) 2019.09.23
screen 으로 tty attach / detach  (0) 2016.10.22
screen 으로 처음부터 떼어놓고 시작하기  (0) 2012.07.10
screen 유틸의 프로세스 구조(?)  (0) 2012.07.09
Posted by 구차니
프로그램 사용/screen2019. 9. 23. 06:56

우오오 이런 좋은 기능이?

ctrl-a-esc

pgup/pgdn

esc

 

[링크 : https://medium.com/@erwinousy/screen-command-사용법-linux-mac-62bf5dd23110

Posted by 구차니
프로그램 사용/screen2016. 10. 22. 10:28

예전에 잠시 해보고 잊고 있었는데

다시 시도..


$ tty

/dev/pts/1


$ screen

$ tty

/dev/pts/6


ctrl-a,c

$ tty

/dev/pts/7


ctrl-a,n

window change


ctrl-a,d detach

[detached from 4014.pts-1.odroid_1]

// detach 시에는 다른 창을 만들어 두었더라도 전부 같이 떨어진다.


$ ps -ef | grep -i screen

odroid    4014     1  0 11:49 ?        00:00:00 SCREEN


$ screen -r

reattach


ctrl-a,? 도움말

                       Screen key bindings, page 1 of 2.


                       Command key:  ^A   Literal ^A:  a


  break       ^B b         license     ,            removebuf   =

  clear       C            lockscreen  ^X x         reset       Z

  colon       :            log         H            screen      ^C c

  copy        ^[ [         login       L            select      '

  detach      ^D d         meta        a            silence     _

  digraph     ^V           monitor     M            split       S

  displays    *            next        ^@ ^N sp n   suspend     ^Z z

  dumptermcap .            number      N            time        ^T t

  fit         F            only        Q            title       A

  flow        ^F f         other       ^A           vbell       ^G

  focus       ^I           pow_break   B            version     v

  hardcopy    h            pow_detach  D            width       W

  help        ?            prev        ^H ^P p ^?   windows     ^W w

  history     { }          quit        \            wrap        ^R r

  info        i            readbuf     <            writebuf    >

  kill        K k          redisplay   ^L l         xoff        ^S s

  lastmsg     ^M m         remove      X            xon         ^Q q


                  [Press Space for next page; Return to end.]


                       Screen key bindings, page 2 of 2.


^]   paste .

"    windowlist -b

-    select -

0    select 0

1    select 1

2    select 2

3    select 3

4    select 4

5    select 5

6    select 6

7    select 7

8    select 8

9    select 9

I    login on

O    login off

]    paste .

|    split -v

:kB: focus prev



                        [Press Space or Return to end.]  


한개 터미널에서 screen 실행중에 다른 터미널에서 확인한 결과

$ ps -ef | grep -i screen

odroid    4014     1  0 11:49 ?        00:00:00 SCREEN

odroid   17153  1554  0 11:57 pts/1    00:00:00 screen -r 


실수로 screen 안에서 screen -r 하니 이런 에러가 뜨네

$ screen -r

There is a screen on:

        4014.pts-1.odroid_1     (22/10/16 11:49:14)     (Attached)

There is no screen to be resumed. 


두개 터미널에서 detach 하니 이렇게 뜬다.

detach한 pts 번호가 뜨니 골라서 붙이면 된다.

물론 프로세스 정보 상으로는 tty가 ?로 뜸

$ screen -r

There are several suitable screens on:

        24631.pts-12.odroid_1   (22/10/16 12:02:24)     (Detached)

        4014.pts-1.odroid_1     (22/10/16 11:49:13)     (Detached)

Type "screen [-d] -r [pid.]tty.host" to resume one of them. 


$ ps -ef | grep -i screen

odroid    4014     1  0 11:49 ?        00:00:00 SCREEN

odroid   24631     1  0 12:02 ?        00:00:00 SCREEN


머랄까.. screen 프로그램이 중재자로

자신을 통해서 여러개의 pts를 오갈수 있는 컨셉?


[링크 : https://www.rackaid.com/blog/linux-screen-tutorial-and-how-to/]

2012/07/07 - [Linux] - ssh 를 통해 프로그램 실행후 로그아웃 해도 종료되지 않게 하기

2012/07/09 - [Linux/Ubuntu] - screen 유틸의 프로세스 구조(?)


Posted by 구차니
프로그램 사용/screen2012. 7. 10. 21:22
-d -m 옵션으로 실행하면 그냥 프롬프트로 떨어진다.
즉, 실행하면서 바로 detached 시킨다.

       -d -m   Start screen in "detached" mode. This creates a new session but
               doesn't  attach  to  it.  This  is  useful  for  system startup scripts.

       -D -m   This also starts screen in "detached" mode, but doesn't fork  a
               new process. The command exits if the session terminates. 

 
Posted by 구차니

screen 명령을 다시 써봤더니
putty에서 ctrl - a,d 문제 없이 되고 터미널도 다시 실행되서 패닉중 -ㅁ-

UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 19:56 ?        00:00:01 /sbin/init
root      2196   698  0 19:59 ?        00:00:00 sshd: minimonk [priv]
minimonk  2316  2196  0 19:59 ?        00:00:00 sshd: minimonk@pts/0
minimonk  2317  2316  0 19:59 pts/0    00:00:01 -bash
minimonk  2419     1  0 20:01 ?        00:00:00 SCREEN
minimonk  2420  2419  0 20:01 pts/2    00:00:00 /bin/bash
minimonk  2474  2420  0 20:01 pts/2    00:00:00 rtorrent

root      2942   698  0 20:13 ?        00:00:00 sshd: minimonk [priv]
minimonk  3068  2942  0 20:13 ?        00:00:00 sshd: minimonk@pts/4
minimonk  3069  3068  3 20:13 pts/4    00:00:01 -bash
minimonk  3225  3069  0 20:14 pts/4    00:00:00 screen -R -D 

아무튼, PID 0번은 /sbin/init 이고
SCREEN은 어떻게 한건진 모르겠지만(!) PPID가 1이다.
그나저나 screen으로 실행했는데 왜 SCREEN 이 된거지...?

sshd: [priv]
   sshd : @pts/0
      bash

SCREEN
    bash
        rtorrent

아무튼 이런식으로 구성이 되고,
첫번째 ssh 가상 터미널은 pts/0 에서 실행중이고
screen은 pts/2에서 실행중이다.
두번째 ssh 가상 터미널은 pts/4 에서 실행이 되었고
두번째 ssh 에서 screen으로 끌어와도 rtorrent는 pts/2에 여전히 남아있다.

2012/07/07 - [Linux] - ssh 를 통해 프로그램 실행후 로그아웃 해도 종료되지 않게 하기
Posted by 구차니
아따 제목길다 -_-
아무튼 ssh를 통해서 실행하고 백그라운드로 돌려도
ssh를 접속 종료 하면 프로세스가 죽어 버린다.
그래서 vnc 등으로 서버에 직접 접속해서 실행하는 수 밖에 없었는데
그렇다고 해서 프로세스의 PPID(Parent PID)를 변경하는 법을 찾아도 이건 아닌거 같고 -_-
아무튼, 방법을 찾아보니 아래와 같은 명령어 / 유틸리티들이 존재한다.

nohup
screen
dtach
disown

[링크 : http://www.linuxquestions.org/.../how-to-keep-program-running-after-closing-ssh-session-471820/ ]

screen을 사용하기
$ screen rtorrent
// 화면에서 ctrl - a + d
$ screen rtorrent 
 [detached from 2720.pts-1.devmini]
$ screen -RD
// 떼어놨던 rtorrent를 다시 붙임 

[링크 : http://serverfault.com/questions/311593/keeping-a-linux-process-running-after-i-logout ] 


단, 우분투 11.04 에서 테스트 할 경우
Putty로는 ctrl-a+d를 보낼수 없어서 vnc를 통해서 실행했고
screen 명령으로 detach 했을 경우, dashboard에서 띄워놓은 terminal이 실행중으로 인식하여
우클릭으로 new terminal로 터미널을 새로 띄워야 한다. 
Posted by 구차니