매우 이상한 문제가 있습니다.
저는 Fedora(KDE 포함)를 사용하고 있으며 특정 포트를 통해 전송된 전송 데이터를 검사하려면 ngrep이 필요합니다...
이상하게도 내 터미널(더 정확하게 말하면 Konsole, Yakuake, Guake, Terminator 등의 다른 터미널 앱도 사용해 보았습니다.)이 더 큰 디스플레이(21" - 1920x1080)에서 전체 화면으로 전환되면 ngrep 출력은 다음과 같습니다. :
T 127.0.0.1:39167 -> 127.0.0.1:8983 [AP]
GET /solr/col
lection1/sele
ct?q=%28entit
yType%3A61+AN
D+owncCompany
_b%3Atrue%29&
fl=*%2C%5Bchi
ldren%5D&star
t=0&rows=10&s
ort=entityId_
s+asc%2Cid+as
c&wt=javabin&
version=2 HTT
P/1.1..User-A
gent: Solr[or
g.apache.solr
.client.solrj
.impl.HttpSol
rClient] 1.0.
.Host: 127.0.
0.1:8983..Con
nection: Keep
-Alive....
..어떤 식으로든 포장되어 있습니다...잘 모르겠습니다.
그러나 터미널을 랩탑 디스플레이(16인치 - 1600x900)에 놓으면 출력이 전체 터미널에 걸쳐 늘어나는데 이는 예상된 동작입니다.
(Google 전체에서 :)) 검색했지만 문제가 어디에 있는지 모르겠습니다. 내 모니터 구성에 문제가 있을 수 있다고 생각했는데 집에 Kubuntu와 대형 모니터(21" - 1920x1080)가 있는데 이상한 동작이 동일합니다. 내 유일한 해결책은 터미널이 전체 화면을 열지 못하게 하거나 나가지 못하게 하는 것입니다. 작은 모니터에서는 터미널 열 설정에 문제가 있는 것 같은데 어떻게 해결해야 할지 모르겠습니다.
미리 감사드립니다, 안드레
답변1
나는 몇 가지 가능성을 생각해 보았습니다.
- 프로그램은 (어떤 이유로든) 화면이 켜져 있음을 감지합니다.큰개발자의 모호한 목적을 위해 열 너비를 줄입니다.
- 프로그램이 화면 크기를 올바르게 감지할 수 없습니다. 제안대로@tom-zych, 이는 프로그램이 창 크기 조정 이벤트에 올바르게 응답하지 않는 경우 발생할 수 있습니다. 제공되는 솔루션어수선한 터미널 화면 문제를 해결하는 방법은 무엇입니까? (보통 크기를 조정한 후)최종 프로그램( ) 이외의 상황에
ngrep
유용합니다 . 예를 들어 이resize
프로그램은 주로 다음 상황에서 유용합니다.단말기그림과 같이 크기가 업데이트되지 않습니다stty -a
.
첫 번째 경우, 매뉴얼 페이지ngrep(8)열 너비가 언급된 유일한 장소는 옵션이므로 별로 도움이 되지 않습니다.
-c
목록
감지된 터미널 너비를 무시하고 열 너비를 지정된 크기로 강제합니다.
그리고 (반복)
-c
목록
콘솔 너비를 다음과 같이 명시적으로 설정합니다.목록. 이는ngrep
출력 모드에 따라 페이로드로 인쇄되는 전체 너비가 아닌 콘솔 너비이므로ngrep
인쇄량이 다음보다 작을 수 있습니다. 목록줄당 바이트 수(들여쓰기)입니다.
ngrep
그러나 이는 일부 서식 선택이 이루어지고 있음 을 의미합니다 . 여기에서 통찰력을 찾으세요범죄:
255보다 큰 열 너비가 허용됩니다.
열 수를 나타내는 데 사용되는 유형 변경8비트도착하다32비트. 크기를 조정하려는 화면(작은 글꼴 사용)이 255열보다 넓은 경우 ngrep
초과된 255열보다 5열만 줄이게 됩니다. 주어진 예에서 터미널 너비는 255+5 +15 = 270자일 수 있습니다.
를 이용하여 확인할 수 있습니다 stty -a
.