termux的一些问题

在平板电脑上工作时,用户遇到了通过Termux进行ssh连接以及在vim中输入中文的问题。他们尝试了使用juiceSSH远程登录服务器以输入中文,并解决了从Word文档复制到vim中的格式问题,通过libreoffice将doc转换为txt格式。

我的电脑过安检的时候,竟然被卡住,压坏了。没办法,有需要电脑工作。我就用家里的平板电脑工作。我首先安装了termux,但是遇到这些问题。

(1)我在平板电脑上安装了termux后,我想通过手机登陆到平板电脑,但是平板电脑的用户名是多少?

答:whoami

(2)我在平板电脑上打开termux,然后vim ~/a,在里面写东西,这时候发问题来了。怎么输入中文?

答:我折腾了很久,网上搜索了很多资料,最后都没有成功。

(3)我这时我想到办法。我能不能用putty来远程登陆到服务器,这样就可以在终端上输入中文了。

putty没有安卓版的,找了很久终于找到juiceSSH。可以远程登陆,也挺好有的。我本来就是想着远程登陆到服务器,然后在写文档的。用了juiceSSH,可以用平板电脑的输入法,输入中文了。

(4)问题又来了。我在网上下载了很多word文档。我想把这些work文档,复制到vim打开的记事本里面。我反复折腾了很久,都没有成功。怎么弄都没法在word执行ctrl+c,在juicessh里面的vim里面执行ctrl+v。在termux打开的vim也不行。我后面不在终端里面,打开vim,而是直接juicessh或termux里面粘贴,都没有办法。

后面想到,通过命令,把work文档转换成txt,然后再编辑,可是试了很多方法,都没法执行。后面不知道哪里看到,直接点击屏幕,在选择粘贴。我在juicessh和termux里面试了,可以的。

(5)虽然点击屏幕可以粘贴,但是格式有问题。怎么办了,我又想到把work转换成txt文档的方法。我到处搜,看到很多方法,都不靠谱。后面我看到了docx2txt,我试着安装这个命令,果然有。

不过试了,不行,后面找到这个方法:

假设在当前目录下有一个word文档:a.doc,

libreoffice --headless --convert-to txt  a.doc

在当前目录下生成一个txt文档:a.txt

<think> 我们之前讨论的是在Kali系统中使用`timedatectl`命令时出现的错误,原因是系统没有以`systemd`作为初始化系统(PID 1)。现在用户提到想在Termux环境中解决类似问题,但Termux并不是一个标准的Linux发行版,它运行在Android上,且没有使用`systemd`作为初始化系统。因此,在Termux中运行`timedatectl`同样会遇到错误,因为Termux环境没有`systemd`。 用户的问题:在Termux环境中解决之前提到的问题(即`timedatectl`无法使用的问题)。由于Termux没有`systemd`,所以我们需要在Termux中使用替代方法来设置时间和日期。 然而,需要注意的是,在Android设备上,普通应用程序(包括Termux)通常没有权限直接修改系统时间。因此,在Termux中设置系统时间可能需要root权限,或者通过其他间接方式。 解决方案: 1. 如果设备已root,可以尝试使用`date`命令设置时间(需要root权限)。 2. 如果设备未root,则无法直接设置系统时间,但可以在Termux会话内部设置一个本地时间(仅对当前Termux会话有效),或者使用NTP服务同步(但同样需要权限)。 具体步骤: 方法1:使用`date`命令(需要root权限) 在Termux中,首先获取root权限(使用`su`命令),然后使用`date`命令设置时间。例如,将时间设置为2024-07-22 12:30:00: ```bash su date -s "2024-07-22 12:30:00" ``` 注意:这需要Termux有root权限,并且Android系统允许修改。 方法2:在Termux内部设置环境变量(仅影响Termux内部) 如果无法获取root权限,可以设置一个环境变量来覆盖Termux内部的时间显示,但这并不会改变系统时间,只对当前Termux会话有效。例如: ```bash export TZ='Asia/Shanghai' ``` 然后,使用`date`命令查看时间,此时显示的是指定时区的时间,但实际系统时间没有改变。 方法3:使用NTP同步(需要root权限) 在Termux中安装`ntp`或`chrony`来实现时间同步,同样需要root权限: ```bash pkg install ntp su ntpd -q ``` 或者使用`chrony`: ```bash pkg install chrony su chronyd -q ``` 由于Termux环境的限制,普通用户可能无法直接修改系统时间。因此,建议用户检查是否需要修改系统时间,如果只是需要正确的时间显示,可以设置时区环境变量。 另外,关于之前提到的据库问题(如metasploit的据库),在Termux中安装和启动据库服务(如PostgreSQL)的方法与在标准Linux中不同。Termux提供了一些服务,可以通过`termux-services`包来管理。 安装并启动PostgreSQL的步骤: 1. 安装必要的包: ```bash pkg install postgresql termux-services ``` 2. 启动服务(不需要`systemctl`,因为Termux使用`sv`管理服务): ```bash sv up postgresql ``` 3. 设置开机自启: ```bash sv-enable postgresql ``` 总结:在Termux中,由于没有`systemd`,我们使用Termux自带的`sv`(runit)来管理服务。对于时间设置,如果没有root权限,直接设置系统时间是不可能的,但可以设置时区环境变量来调整显示。 §§相关问题§§ 1. 在Termux中如何管理后台服务? 2. 如何在Termux中安装和配置PostgreSQL据库? 3. 在Android设备上,如何为Termux获取root权限? </think>在Termux环境中解决`timedatectl`报错问题的方法如下(因Termux基于Android容器环境,不支持`systemd`): ### 解决方案 1. **使用替代命令设置时间**(需root权限): ```bash su # 需要已root的Android设备 date -s "YYYY-MM-DD HH:MM:SS" # 例如:date -s "2024-07-22 12:30:00" ``` 通过`date`命令直接修改系统时间,无需`systemd`支持[^1][^2]。 2. **设置时区(无需root)**: ```bash export TZ='Asia/Shanghai' # 设置时区环境变量 echo "export TZ='Asia/Shanghai'" >> ~/.bashrc # 永久生效 ``` 仅影响Termux会话的时区显示,不修改系统时间[^1]。 3. **安装termux-services管理服务**: ```bash pkg install termux-services # 安装服务管理工具 sv-enable <service_name> # 启用服务(如postgresql) sv up <service_name> # 启动服务 ``` 替代`systemctl`的服务管理方案,支持MySQL/PostgreSQL等常用服务[^2]。 4. **时间同步(需root)**: ```bash pkg install ntp su ntpd -q # 强制同步时间 ``` ### 关键说明 1. **权限限制**: - 非root设备无法修改系统时间 - `timedatectl`在Termux中**完全不可用** 2. **适用范围**: ```mermaid graph LR A[时间/时区需求] --> B{需修改系统时间?} B -->|是| C[Root设备+date命令] B -->|否| D[设置TZ环境变量] ``` 3. **据库服务示例**(PostgreSQL): ```bash pkg install postgresql termux-services initdb -D $PREFIX/var/lib/postgresql pg_ctl -D $PREFIX/var/lib/postgresql start ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值