단일 터미널에서 사용자를 빠르게 전환하는 방법은 무엇입니까?

단일 터미널에서 사용자를 빠르게 전환하는 방법은 무엇입니까?

첫 번째 사용자를 로그아웃하지 않고 다른 사용자로 전환한 다음, 다른 두 사용자를 로그아웃하지 않고 세 번째 사용자로 로그인하는 등 모든 사용자를 빠르게 전환하고 싶습니다. 분명히 사용자당 한 번만 비밀번호를 삽입하고 싶습니다.

필요에 따라 ctrl-z 및 fg를 사용하여 배경 및 전경으로 보낼 수 있는 프로세스와 비슷한 방법이 있습니까?

답변1

su <user>선택적으로 옵션( 또는 -라고도 함 )과 함께 을 사용하면 쉘이 로그인 쉘(다른 초기화)로 작동하도록 할 수 있습니다.-l--login

해당 사용자의 쉘이 배경으로 이동하고 종료하는 데 사용되는 SIGTSTP 신호(일반적으로)를 트랩하기 때문에 실제로 배경으로 보낼 수 없습니다. 대신 터미널 멀티플렉서에 관심이 있을 수 있습니다.tmux또는screen

당신은 또한 사용하고 싶을 수도 있습니다vlock오랫동안 콘솔을 사용하지 않을 때.

답변2

Stephen Chazeras는 다음과 같이 썼습니다.

Ctrl+pause 를 사용할 수 없지만 내장 기능을 사용하여 일시 정지 Z할 수 있습니다 (또는 쉘에 내장 기능이 없는 경우).suspendkill -s STOP "$$"

정말 감사합니다. 매력적이네요. 다른 사용자로 로그인하면 정지로 인해 쉘이 백그라운드로 전송되고 이전 사용자의 쉘에 제어권이 반환됩니다. 그런 다음 fg다른 직업 이력서처럼 사용할 수 있습니다 .

내가 시도한 바에 따르면 두 명 이상의 사용자와도 작동하는 것 같습니다( ssh로그인 셸이기 때문에 정지됨). ~^z결국 스크린과 같은 터미널 멀티플렉서를 사용할 필요가 없습니다.

답변3

한 가지 가능한 방법은 screen 또는 tmux와 같은 프로그램을 사용하는 것입니다.

foo라는 이름의 새 화면을 만듭니다.

screen -S foo   

다른 화면 만들기

ctrl+ a+ c

그들 사이를 전환

ctrl+ a+ a

또는 쉘 번호에 따라 쉘로 점프합니다.

ctrl+ a+ 1

다음과 같이 열려 있는 모든 화면 세션의 이름/번호를 볼 수 있습니다.

ctrl+ a+ w

이는 3개의 별도 쉘이지만 모두 하나의 터미널 내에 있습니다.

관련 정보