解决 NetHunter Terminal 按下 Ctrl+C 会直接终止的问题

在使用 NetHunter Terminal
的时候, 我发现在 kali
的 zsh
里, 按下 Ctrl+C
会直接结束终端, 而非正在运行的命令. 这直接导致我无法正常使用 wifite
等工具.
一开始以为是 NetHunter Terminal
这个 APP
的问题, 但用 NetHunter Terminal
开的 Android Bash
却不会有这样的问题.
于是我转而怀疑是 kali
的 zsh
对 SIGINT
有特殊的处理, 但在仔细阅读 ~/.zshrc
后, 发现一切正常.
只好看看社区里有没有人遇到同样的问题.
在 wifite 的 Github Issue 里, 有人给出了使用
SSH
的权宜方案, 能用, 但不能从根本上解决问题.在 Kali 论坛里, 看到另一个奇怪的解决方案: 使用
Magisk v26.1
. 而在 Reddit 上, 有人反映v27
和v28
都能用, 但v29
就有问题, 而我当前使用的正是v29.0
.
感觉一头雾水, 这和 Magisk
有啥关系?
于是我就去翻了 Magisk
的 Changelog, 重点关注 29.0
的更新内容:
- [General] Massive internal refactoring and code migration
- [App] Support downloading module zip files with XZ compression
- [App] Disable app animations when system animations are disabled
- [Core] Support systemlessly deleting files with modules using blank file nodes
- [MagiskInit] Redesign sepolicy patching and injection logic
- [MagiskSU] Better TTY/PTY support
其中, 嫌疑最大的就是最后一条 Better TTY/PTY support
, 可能就是因为这个修改, 影响了 NetHunter
这种复杂的 chroot
环境, 破坏了原来的信号处理链.
解决的思路很简单, 可以使用旧版的 Magisk
, 或者让 zsh
无法发出 SIGINT
信号.
能想到的具体的可行方案有这些:
- 重新刷
v28.1
及之前的Magisk
. 这个方案能从根本上解决问题, 但非常麻烦. - 使用
ssh
连接, 这个方案也很蠢. - 使用
tmux
或screen
这样的终端复用工具. 为了不每次启动时都输一遍tmux
或screen
, 可以在~/.zshrc
中写入如下命令:
if command -v tmux &> /dev/null && [ -z "$TMUX" ]; then |
记得要经常使用 tmux ls
和 tmux kill-session -t <name>
或 tmux kill-server
来清掉会话.
- 标题: 解决 NetHunter Terminal 按下 Ctrl+C 会直接终止的问题
- 作者: Coast23
- 创建于 : 2025-08-30 13:45:21
- 更新于 : 2025-08-30 17:22:02
- 链接: https://coast23.github.io/2025/08/30/解决-NetHunter-Terminal-按下-Ctrl-C-会直接终止的问题/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论