在Android手机上安装kali Linux 的 Q&A
安装脚本
curl -O --url https://res.hestudio.net/kali_for_android/install.sh && chmod +x install.sh && ./install.sh
感谢 @随风飘扬 对 Android14 版本优化的贡献!
教程
Q&A
一些命令
这里只说明我的教程涉及到的命令,查看其他博主教程的命令请转到对应博主的文档里查看,查看系统命令用法请访问 https://www.kali.org/tools/
开启命令
每次进入 Termux 可以通过 startkali
进入 kali Linux 终端。
当然,你也可以使用 startkali -r
直接以root
身份进入。
VNCServer 命令
本系统包预装TigerVNCServer,如果使用不习惯请自行更换。如果你向我咨询该问题,我们默认你使用TigerVNCServer
。
它的常用命令如下:
修改密码
vncpasswd
运行 vncserver
vncserver
杀死 vncserver
vncserver -kill
其他命令
VNCServer 教程
小白推荐
如果你是小白,请看向这里
打开 Termux,输入
startkali
进入 Kali Linux先修改 vnc 密码,不然连不上!(只需要操作一次)
vncpasswd
- 然后输入
vncserver :1
启动 vnc 服务.
- 打开你的 VNC Viewer,点击右下角
+
号,Address 输入127.0.0.1:5901
,名称任意填。然后点击绿色按钮连接。
开启 vnc
初始化 vncserver
本脚本内置 vncserver 服务,但是还是需要自己稍微设置一下。
注意
相关信息
查看更多 vncserver 操作,请到https://tigervnc.org/
本脚本内置TigerVNC
先修改 vnc 密码,不然连不上!
vncpasswd
运行 vncserver
vncserver
杀死 vncserver
vncserver -kill
链接到 vnc 热门
- 打开 VNC Viewer
- 一路
Next
- 点击+号
- 设置链接地址
port 后面的 4 位数字为端口号,像这样
localhost:5901
- 最后保存即可
vnc 怎么更换端口
我开启了 vncserver 但在 VNC Viewer 页面无法进入或者使用卡顿。 热门
由于 vncserver 和桌面环境对设备配置要求较高,所以部分设备会杀掉后台进程,有的经过手动设置实现墓碑机制的设备也无法使用,因为后台被冻结了(可以使用白名单保证 termux 不被冻结)。这个问题无法根治,部分支持软件悬浮窗的手机可以尝试使用悬浮窗使 Termux 前台运行。
你可以尝试修改 Termux 的电源方案为“无限制”,很显然,使用这个东西会增加你的设备的耗电量。
如果你的设备性能较低,那无论怎么设置也解决不了这个问题,请更换设备或者尝试使用官方的 App(需要 Root 或者刷机)
部分配置比较高的手机因为它的系统版本往往是最高的,而 Termux 并未对其进行适配,所以会导致 Termux 突然崩溃。
兼容性问题
有关 Termux 的兼容性问题请浏览
由于 Termux 未适配 Harmony OS,所以使用搭载有 Harmony OS 的华为或荣耀用户可能无法使用。在实际测试和用户反馈中,Harmony OS 2.0 机型(测试设备为荣耀 9x)可以使用除 vnc 之外的功能,Harmony OS 3.0 机型(测试设备为华为 MatePad Pro 2022)由于安装脚本无法识别导致无法安装。请 Harmony OS 3.0 及以上版本的用户不要咨询该问题
如果你使用 Android 12 或以上 Android 版本,请浏览解决安卓 12 限制 32 个线程
报错并闪退 [Process completed (signal 9) - press Enter]
热门
报错 sh: /data/data/com.termux/files/usr/bin/rm: Permission denied
热门
由于 Google Play 的策略,Termux on Google Play 的一些功能被限制。具体可以阅读下面的内容。请使用 Github 版本的 Termux,你可以直接从我的教程里直接访问。
输入密码的时候不显示密码
Linux 命令中,输入密码都是不显示的。你可以正常输入然后回车提交,但是密码不会显示。在 Linux 中,回车即代表换行,你可以联想以下打字机的工作原理,当你按下回车时候,那一行字就固定住了,通过记录屏幕上出现的文字很容易使我们的密码被利用。所以不会显示密码。
报错 Errors were encountered while processing: /var/cache/apt/archives/postgresql-15_15.3-0+deb12u1_arm64.deb
热门
如果在执行sudo apt upgrade
出现类似以下报错:
Preparing to unpack …/postgresql-15_15.3-0+deb12u1_arm64.deb …
invoke-rc.d: could not determine current runlevel
Stopping PostgreSQL 15 database server: mainError: Data directory /var/lib/postgresql/15/main must not be owned by root … failed!
failed!
invoke-rc.d: initscript postgresql, action “stop” failed.
dpkg: warning: old postgresql-15 package pre-removal script subprocess returned error exit status 1
dpkg: trying script from the new package instead …
invoke-rc.d: could not determine current runlevel
Stopping PostgreSQL 15 database server: mainError: Data directory /var/lib/postgresql/15/main must not be owned by root … failed!
failed!
invoke-rc.d: initscript postgresql, action “stop” failed.
dpkg: error processing archive /var/cache/apt/archives/postgresql-15_15.3-0+deb12u1_arm64.deb (–unpack):
new postgresql-15 package pre-removal script subprocess returned error exit status 1
Errors were encountered while processing:
/var/cache/apt/archives/postgresql-15_15.3-0+deb12u1_arm64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
解决方案参考
以下命令依次执行:
rm -rf /var/lib/dpkg/info/postgresql* && dpkg --configure -a
sudo apt update && sudo apt full-upgrade -y
不显示网卡信息,怎么联网等
由于手机设备等问题,导致 Termux 无法获取你的网卡信息,也无法使用一些基于硬件的功能。这个系统本质上是运行在 Termux 上的一个容器(类似 Docker 但不是),会自动共享你的网络状态。
自带的 Firefox 不能用
这个属于官方的 bug,之前没有这个问题,属于 kali 官方管辖的范围,与我无关。你可以尝试安装 Chromium
这个到底怎么玩?
它支持什么功能
安装时显示文件损坏
安装时请不要锁屏或切换后台!如因为以上操作导致安装失败,请自行清理数据再次安装。
Termux 提示Failed to fetch
示例
当出现此提示的时候,请输入
termux-change-repo
然后参照下一条操作。
报错 failed to execute child process 'dbus-launch'
VNC 画面色彩不对
将图像质量改为 High
高级用法
Linux 小白慎入
当你阅读本部分内容时,我们将认为你对 Linux 基础知识有一定了解。如果你是一位 Linux 小白,你应当阅读上面的内容。如果你误执行其中的命令导致你的设备无法正常使用,我们不承担任何责任。我们不希望你针对此部分内容的 Linux 基础知识向我们提问。
修改 kali 容器的启动命令
修改启动名称
在默认情况下,我们使用startkali
启动 kali 容器。你可以通过修改${PREFIX}/bin/startkali
的文件名称使得启动名称发生改变。
在文档的其他部分,我们将认为你仍然使用默认启动名称
如,原来的修改名称是startkali
,需要将其修改为kalistart
,可以使用以下命令:
mv ${PREFIX}/bin/startkali ${PREFIX}/bin/kalistart
修改启动配置
你可以通过修改${PREFIX}/bin/startkali
的内容使得配置文件发生改变。
如果你使用 vim,则应当使用以下命令编辑:
vim ${PREFIX}/bin/startkali
如果你误修改配置文件导致容器无法启动,请通过安装KA_INSTALL_PATCH_240809覆盖掉修改的配置文件。
更换默认语言 4.0
我们通过读取LANG
环境变量值判断你的默认语言。在 Kali Linux 启动前,修改该变量可以修改你的 Kali Linux 语言。
提示
v4.0.0 及以后的版本会自动将语言更换为中文,在之前安装的用户可以安装KA_INSTALL_PATCH_240809更换你的配置文件。
# 中文(简体)
export LANG=zh_CN.UTF-8
如果需要修改成其他语言,请自行查阅资料。
也可以实现自动添加并启动,详见上文。
备份与恢复
备份
你可以通过打包~/kali-arm*
文件夹以备份已经安装好的容器系统源文件。
恢复
注意
应当保持备份和恢复的是同一设备,否则可能会出现兼容性问题。
请按照以下步骤恢复:
- 重新运行安装脚本
- 将你备份的
kali-arm*
恢复到用户目录~/
删除
运行以下命令以删除该容器
rm -rf ~/ka_install ~/kali-arm* ${PREFIX}/bin/startkali