手机连着蓝牙键盘那阵子,Termux 用得顺,后来蓝牙键盘丢了,只能靠屏幕上的软键盘敲命令。也就是从那天起,出了个怪事。
点一下输入框,键盘弹起来,然后屏幕下半截空出一大块黑。
不是键盘挡住内容,也不是终端没重绘——是我盯着那块黑看了半分钟才确认:终端文本好好地待在上半部分,按键行(ESC/TAB/CTRL 那一排)在中间,键盘在最底下,中间夹着一条纯黑、没文字、没分隔线、也没光标呼吸的空带。
我截了图,让视觉模型去量像素,回来说那块黑占屏幕高度约百分之三十五,上下边界在 850 到 900 像素之间。不是肉眼估的,是量出来的。

先排除掉最容易怀疑的那个
第一反应是输入法的问题。搜狗、讯飞这类输入法都有"键盘高度""悬浮键盘"之类的设置,很容易往那儿想。
但把输入法的高度调到最小,黑带纹丝不动;换一个输入法,还是那么宽。说明这块黑跟键盘本身多高没关系。
Termux 这边也没有"输入法高度"这种设置项。能在它身上动的只有 ~/.termux/termux.properties 这个文件,里面跟显示有关的就两个开关:
fullscreen=true
use-fullscreen-workaround=true
第一条是全屏模式——顶部状态栏不显示,终端铺满整个屏幕。第二条是给旧系统打的补丁,名字都写着 workaround,意思是某些安卓版本算键盘弹起的高度算得不对,用这个绕一下。
而 Android 15 开始,系统强制 edge-to-edge,也就是内容默认延伸到状态栏和导航栏底下。屏幕各处该扣多少 inset(安全边距),本来交给自己算,现在系统要插手。Termux 在全屏模式下会自己算一遍"键盘高度 + 导航栏 + 状态栏"的偏移量,系统又替它扣了一次,同一个量被扣了两遍,整块界面就被多顶上去一大截。
顶上去了多少,底下就空出来多少。那块黑就是终端视图没覆盖到的区域,它不画东西,因为它以为自己在屏幕外面。
至于那个 workaround 补丁,它本来就是给算错的老系统打的补丁。系统这边已经改成新规则了,补丁还在按老规矩做事,等于帮倒忙。

改两个开关,然后必须敲一句命令
配置改成这样:
fullscreen=false
use-fullscreen-workaround=false
use-black-ui=true
bell-character=ignore
extra-keys = [['ESC','TAB','CTRL','ALT','-','/'],['LEFT','UP','DOWN','RIGHT','PGUP','PGDN']]
两件事要说清楚。
一,改之前先备份了原文件,cp termux.properties termux.properties.bak-fullscreen,内容就是上面那两行全屏开关。这个动作花三秒,省下的可能是半小时。
二,光改文件不生效。Termux 的配置是启动时读的,改完必须执行:
termux-reload-settings
然后重开一次 Termux。我第一次只存了文件没敲这句,回头一看毫无变化,差点以为是改错了地方。
改完重启,黑带没了。键盘弹起时交给系统的 adjustResize 处理,界面自己缩,不再多顶。
代价是状态栏回来了
不全屏的代价很直接:顶部那条状态栏回来了,占掉一点高度,时间、电量、信号都在上面。
我认这个代价。以前全屏是为了多挤几行,现在黑带吃掉的是三成屏幕——为了省那一条状态栏,赔进去半屏,这账怎么算都不划算。
如果哪天非要全屏,可以按这个顺序试四个组合,一个个来,每次改完都要 termux-reload-settings 并且重启一次再判断:
- 全屏关 + 补丁关:本次生效的那个
- 全屏开 + 补丁关
- 全屏关 + 补丁开
- 全屏开 + 补丁开:旧默认值,在 Android 17 上就是出问题的那组
真要退回去
一条命令的事:
cp ~/.termux/termux.properties.bak-fullscreen ~/.termux/termux.properties
termux-reload-settings
备份文件别急着删。这类显示问题跟系统版本绑得很死,下次系统一升级,说不定又得换回来。
顺手说一下那排按键
同一个文件里还有额外按键行的配置,就是键盘上方那两排虚拟键:
extra-keys = [['ESC','TAB','CTRL','ALT','-','/'],['LEFT','UP','DOWN','RIGHT','PGUP','PGDN']]
第一行 ESC / TAB / CTRL / ALT / 减号 / 斜杠,第二行左右上下和上下翻页。外层的方括号是一整排,里面的方括号是一行,改完一样要 termux-reload-settings 或者重开会话才生效。
这套键在手机上敲命令是救命的——CTRL 是 shell 里所有快捷键的前提,方向键是不用长按屏幕挪光标的前提。真丢了它们,手机终端基本没法用。
下次再遇到
记几条给自己:先截图量那块黑占多少、在什么位置,别凭手感;然后看配置里那两个全屏开关的组合,别一开始就怀疑输入法;改完必须 reload 一次再判断,别看着没变就往下改第二处。
顺带一句,这毛病跟"终端显示不正常"是两回事,前者是视图没铺满,后者是字体或者字符宽度的问题,别混到一起去查。