作者chiaohuang (宅男一枚)
看板Linux
標題[問題] console 換行問題
時間Wed Feb 10 16:52:53 2021
大家好
小弟 最近從朋友那邊接收一塊板子
因為我習慣接上 TTY console
去看開機資訊
發現用TTY 時
當我輸入長指令時 他不會換行
會直接從原本這行的頭開始覆蓋
感覺沒有\r\n 只有 \r
但我用ssh 進去 卻可以正常換行
我用 set 和 env 列印所有環境變數
比較兩邊的環境變數
把懷疑的變數設成一樣
還是無法解決這個問題
上網查 很多人都是因為設定PS1 的關係
但我並沒有把PS1加入顏色的設定
也試著設成一樣的
一樣無效
請問 有人知道怎是那邊的問題嗎?
謝謝
————
剛剛發現
只要用 stty cols 和 stty rows
設定對的大小 就可以正常了
我納悶的是 為什麼用ssh 登入卻不用
再ssh 下 echo $LINES和 echo $COLUMNS 會隨著視窗大小自動更改
但我用TTL uart 的視窗
他卻不會自己更新 囧
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.126.145.236 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Linux/M.1612947175.A.A90.html
※ 編輯: chiaohuang (59.126.145.236 臺灣), 02/10/2021 20:01:28
1F:推 kdjf: 因為openssh幫你把變數都設定好了啊 02/10 23:15
2F:→ bitlife: 命令關鍵字stty, api關鍵字 termcap 02/11 16:02
3F:推 bitlife: api關鍵字還有curses,以你的case應該用stty設定可以解決 02/11 16:06
4F:→ bitlife: icrnl 和 ocrnl 兩個試著調整(記得先記錄原值),推測比較 02/11 16:09
5F:→ bitlife: 是ocrnl的問題,輸入滿一列後負責輸入的api應該通知tty換 02/11 16:10
6F:→ bitlife: 行,如果TERM變數正確設定(和你的tty的實際情況符合),那麼 02/11 16:10
7F:→ bitlife: 一切就正常,但TERM沒設定或設錯,輸出crnl時就會有混亂結 02/11 16:11
8F:→ bitlife: 果 02/11 16:11
9F:推 bitlife: 漏了 inlcr 和 onlcr, 調整這四個(如同前述,我覺得問題在 02/11 16:14
10F:→ bitlife: ocrnl/onlcr這邊,聽你的描述你沒有按ENTER,應該是output 02/11 16:14
11F:→ bitlife: 這邊的問題 02/11 16:14
12F:→ bitlife: 推完才發現自行發現是col,row數目問題. 所以上述推文想錯 02/11 16:21
13F:→ bitlife: 方向,回覆最後面的疑問. telnet,ssh是協定在handshaking 02/11 16:22
14F:→ bitlife: 過程中,client會通知server端自己這方的終端機型號,而固 02/11 16:22
15F:→ bitlife: 接的console及tty是要由管理員事先在檔案中描述,不是透過 02/11 16:25
16F:→ bitlife: 協定互換 02/11 16:25
17F:→ bitlife: 在GUI界面普及後,古早相關設定檔案都走入歷史,console和 02/11 16:28
18F:→ bitlife: tty兩類裝置(console是電腦的主鍵盤螢幕,tty是通過serial 02/11 16:29
19F:→ bitlife: port連上的裝置)設定方式也不同,現在終端機設定方式是怎 02/11 16:31
20F:→ bitlife: 樣,我也不清楚,得去google一下 02/11 16:32
21F:→ bitlife: 查到2013年的linux text terminal howto 是否適用於2021 02/11 16:36
22F:→ bitlife: 就有待實驗 02/11 16:36