Skip to content

Feature: tmux-backed systemctl shim for service management #15

@AidanPark

Description

@AidanPark

Summary

Programs that depend on systemctl to manage services fail on Termux because there's no systemd. A lightweight shim that wraps tmux sessions could cover the common cases.

Proposed Implementation

Parse .service unit files and map systemctl commands to tmux:

Command Behavior
systemctl start foo Start ExecStart in a tmux session named foo
systemctl stop foo Kill tmux session foo
systemctl restart foo stop + start
systemctl status foo Check if tmux session exists, show PID/uptime
systemctl enable foo Register in a startup list
systemctl disable foo Remove from startup list
journalctl -u foo Read from ~/.openclaw-android/logs/foo.log

Scope

Feasible:

  • Basic service lifecycle (start/stop/restart/status)
  • ExecStart, WorkingDirectory, Environment parsing from .service files
  • Log capture to files
  • Simple enable/disable for auto-start

Out of scope:

  • D-Bus integration
  • cgroups / resource management
  • Socket activation
  • Dependency ordering (After=, Requires=)

Current State

We already ship a patches/systemctl stub that prevents systemctl calls from failing. This feature would upgrade that stub into a functional (if limited) service manager.

Priority

Low — no immediate need. Implement when a concrete use case arises (e.g., a program that requires systemctl start to function).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions