Ngrep 이상한 행동

Ngrep 이상한 행동

매우 이상한 문제가 있습니다.

저는 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.

관련 정보