termux+ubuntu使用笔记

文章目录

    • termux
      • termux自动启动服务的方法
        • 1. 写.bashrc文件
        • 2. 利用termux-services来实现
      • 安装ssh
      • termux 执行定时任务
    • ubuntu
    • 参考文章

这里仅针对自己在使用过程所做的笔记

termux环境下搭建Ubuntu环境可以参考:https://github.com/MFDGaming/ubuntu-in-termux上提供的方式来搭建,这样在远程ssh的时候方便看到所有系统目录

termux

Termux是一个适用于 Android 的终端模拟器,其环境类似于 Linux 环境。 无需Root或设置即可使用。 可以用于在手机上搭建一个完整的Linux环境。
https://termux.dev/en/

termux自动启动服务的方法

1. 写.bashrc文件

在termux $HOME目录下添加.bashrc文件,添加上如下所示指令便可以在termux应用启动的时候自动启动ssh服务并自动登录到ubuntu系统下。
在这里插入图片描述

2. 利用termux-services来实现

该方式首先要在termux终端环境下安装该工具,可通过如下指令进行安装:

pkg install termux-services -y

常用指令:

sv-enable <服务名> # 将服务名设置为自启动
sv-disable <服务名> # 将服务名取消自启动
sv down <服务名> # 停止服务
sv up <服务名> # 启动服务
sv status <服务名> # 查看服务的状态

例如:安装好后我们可以通过sv-enable sshd指令来将sshd服务设置为自启动,这样便不用在上面的.bashrc文件中添加sshd指令便可启动应用的时候自动运行sshd服务。

安装ssh

通过如下指令安装ssh服务

pkg install openssh

配置文件在$PREFIX/etc/ssh/sshd_config
默认端口为8022
这样可以方便远程连接到对应主机进行操作

termux 执行定时任务

需要安装cron工具,安装指令如下:

pkg install cronie

可以通过上面介绍的方式实现应用启动的时候自启动,如执行sv-enable crond指令即可或将crond添加到.bashrc文件中。

crontab -e #编辑定时任务-l #查看定时任务

具体crontab的用法网上有很多资料,可自行查阅。

ubuntu

这里的ubuntu指的是通过termux环境安装的ubuntu系统
在测试使用的时候发现了如下问题:

  1. cron工具安装上不能正常使用,不能实现定时任务,可以正常配置,就是不生效,网上看了不少方法,但好像都不奏效。
  2. systemd工具安装上不太能正常使用,不能用systemctl来管理服务
  3. 使用于正常Ubuntu系统的重启执行脚本的方法,在这个环境下不太奏效。

针对问题1:
如果想实现的是定期清理日志的功能,或者和当前Ubuntu环境关系不大时可以通过termux环境下的cron工具来实现定时执行的功能
针对问题2:
通过service 来替代systemctl指令,因为当前的Ubuntu系统使用的是经典的SysV init系统来管理服务,不支持systemd的方式。
参考文章:https://www.cnblogs.com/a5idc/p/13752839.html

针对问题3:
可以通过安装supervisor工具的方式来实现,supervisor是一个基于python的客户端/服务器系统,允许用户控制操作系统上的进程,这里需要注意的是我们一定要通过apt-get的方式来安装,否则又会涉及到开机不会启动启动的问题。

apt-get install supervisor

通过该方式安装好后,该工具在系统启动的时候便会自动运行。
具体的supervisor工具的用法,可以自行搜索
参考文章:https://blog.csdn.net/qq_43923588/article/details/113178555
注:
该程序可以在系统启动时自动运行,查看了下系统文件发现/etc/init.d文件夹中有对应的文件:
在这里插入图片描述
如果想研究系统自动启动有效的方法,可以研究下对应文件的写法。

参考文章

  1. Termux技巧

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/562813.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qt播放音乐代码示例

主界面 点击play按钮播放或暂停音乐&#xff0c;拖动进度条&#xff0c;音乐对应播放。 QWidget window;QPushButton* playButton new QPushButton("Play");// Qt 播放音乐// 创建 QMediaPlayer 对象QMediaPlayer* player new QMediaPlayer;// 指定音频文件的路径…

iOS UIFont-新增第三方字体

背景 在项目中添加三方字体&#xff0c;是在开发中比较常见的需求&#xff0c;每次新增字体&#xff0c;都会遗忘其中某个步骤&#xff0c;又要去百度一下才能把字体添加使用成功。每次这样有点浪费时间和打击自信&#xff0c;于是便想着&#xff0c;自己好好来理一理新增字体…

Oracle Data Guard常用命令

--查询数据库角色和保护模式 select database_role,switchover_status from v$database; --切换备库为主库&#xff08;切换后&#xff0c;主库为mount状态&#xff09; --TO PRIMARY alter database commit to switchover to primary; --SESSIONS ACTIVE alter database comm…

Java八股文(秒杀)

Java八股文の秒杀 秒杀 秒杀 你对秒杀功能模块的理解是什么&#xff1f;你认为秒杀功能的关键点是什么&#xff1f; ○ 秒杀功能模块是指在一段时间内&#xff0c;将某个商品以非常优惠的价格或特殊活动进行销售&#xff0c;从而吸引大量用户抢购。其关键点是高并发的请求处理…

hadoop基本概念

一、概念 Hadoop 是一个开源的分布式计算和存储框架。 Hadoop 使用 Java 开发&#xff0c;所以可以在多种不同硬件平台的计算机上部署和使用。其核心部件包括分布式文件系统 (Hadoop DFS&#xff0c;HDFS) 和 MapReduce。 二、HDFS 命名节点 (NameNode) 命名节点 (NameNod…

一文详解Rust中的字符串

有人可能会说&#xff0c;字符串这么简单还用介绍&#xff1f;但是很多人学习rust受到的第一个暴击就来自这浓眉大眼、看似毫无难度的字符串。 请看下面的例子。 fn main() {let my_name "World!";greet(my_name); }fn greet(name: String) {println!("Hello…

rabbitmq 3.9.29 docker mac 管理员页面无法打开

SyntaxError: Unexpected token ‘catch’ SyntaxError: Unexpected token ‘catch’ at EJS.Compiler.compile (http://127.0.0.1:15672/js/ejs-1.0.min.js:1:6659) at new EJS (http://127.0.0.1:15672/js/ejs-1.0.min.js:1:1625) at format (http://127.0.0.1:15672/js/main…

CICD流水线(ali)

后端CICD 一、打开云效流水线&#xff0c;创建流水线

2024年企业级通用人工智能的关键技术趋势

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

UDS升级入门,手把手教你——QT上位机开发1

上位机开发1 QT环境&#xff1a; 1、环境搭建 需要用到周立功 相关接口&#xff0c;拿到库文件&#xff0c;进行二次开发 使用以下文件 新建立一个工程&#xff0c;或者网找一个demo工程&#xff0c;在原有的基础进行开发&#xff08;建议使用第二种&#xff09;。 并…

uni-app从零开始快速入门

教程介绍 跨端框架uni-app作为新起之秀&#xff0c;在不到两年的时间内&#xff0c;迅速被广大开发者青睐和推崇&#xff0c;得益于它颠覆性的优势“快”&#xff0c;快到可以节省7套代码。本课程由uni-app开发者团队成员亲授&#xff0c;带领大家无障碍快速掌握完整的uni-app…

Redis的String类型为什么重新设计使用了SDS数据结构呢

Redis 选择重新设计其 String 类型的底层数据结构&#xff0c;采用 SDS&#xff08;Simple Dynamic String&#xff09;而不是直接使用 C 语言标准库提供的原生字符串&#xff08;char*&#xff09;的原因主要包括以下几点&#xff1a; O(1) 时间复杂度获取长度&#xff1a; 在…