
터미널에서 su - admin
내 사용자 계정에 있는 동안 brew update
, 수정 .bashrc
등을 수행합니다.
사용자 세션에서 실행 중에 창 크기를 변경해도 nano
텍스트가 전혀 뒤섞이지 않는 것으로 나타났습니다. 창 크기가 완벽하게 조정됩니다.
그러나 새 터미널 창을 열고 를 실행한 후 su - admin
크기 nano
를 조정하려고 하면 텍스트가 뒤섞여 복구할 수 있는 방법이 없습니다. control-l
작동하지 않습니다.
관리자 계정으로 로그인하여 터미널을 열고 실행하면 nano
창 크기 조정에 문제가 없습니다. 텍스트가 뒤섞이지 않습니다.
반대의 경우에도 동일한 문제가 발생합니다. 내 관리자 계정에서 사용 su - user
하고 실행 nano
하고 크기를 조정하면 텍스트가 뒤섞일 수 있습니다.
여기서 무슨 일이 일어나고 있고 이 문제를 해결하는 방법에 대해 알고 계시나요?
나노 4.9를 사용하고 있습니다.
답변1
이 문제에 선택된 답변이 있다는 것을 알고 있지만 설명서를 읽으면 다음을 사용하여 화면을 새로 고치는 것이 필요합니다.
^L
어느 것이
ctrl + L
어떤 이유로 버퍼가 손상되면 몇 번 탭해야 합니다.
답변2
터미널 에뮬레이터는 터미널 에뮬레이터와 함께 시작된 셸에 창 변경 신호(SIGWINCH)를 보냅니다. 셸은 이를 자식에게 전달해야 하지만 다른 사용자 계정으로 전환한 경우(사용 su
또는 기타) 다른 사용자로 실행 중이기 때문에 해당 셸에 신호를 보낼 수 없습니다. 따라서 su
'd 셸과 여기에서 실행되는 모든 프로그램은 실제 창 크기가 변경되었다는 사실을 인식하지 못한 채 이전 창 크기를 계속 사용하게 됩니다.
새 창 크기를 사용하도록 세션을 완전히 업데이트하려면 해당 셸에서 su
실행해야 합니다 . eval $(resize)
환경 변수 COLUMNS 및 LINES(그래서 필요한 이유 )와 터미널 설정(명령 및 eval
에 해당 )을 모두 업데이트합니다. 대부분의 경우 해당 부분 없이도 충분할 수 있지만 일부 프로그램에는 환경 변수도 필요할 수 있습니다.stty rows
stty columns
resize
eval...