Replace OpenRC/systemd services with XDG autostart
- Remove services/ollie-kde.openrc and services/ollie-kde.service - Add org.ollie.SessionManager.desktop for XDG autostart (KDE-only) - Fix lib/go.mod replace path to ../../core (monorepo-relative) - Update Makefile install/uninstall targets - Update README service setup section
This commit is contained in:
parent
f9e902a2ad
commit
e1f066f650
30
Makefile
30
Makefile
|
|
@ -96,23 +96,8 @@ install: daemon
|
|||
install -m755 dolphin/ollie-actions.desktop ~/.local/share/kio/servicemenus/
|
||||
sudo install -m755 dolphin/ollie-ask /usr/local/bin/
|
||||
sudo install -m755 dolphin/ollie-session-here /usr/local/bin/
|
||||
# Service setup (detect init system)
|
||||
@if [ -d /etc/user/init.d ] || rc-status --version 2>/dev/null | grep -q "0\.\(6[0-9]\|[7-9]\)"; then \
|
||||
echo "=== OpenRC detected (user services) ==="; \
|
||||
sudo install -m755 services/ollie-kde.openrc /etc/user/init.d/ollie-kde; \
|
||||
echo "Run: rc-update --user add ollie-kde default"; \
|
||||
echo "Run: rc-service --user ollie-kde start"; \
|
||||
elif [ -d /run/systemd/system ]; then \
|
||||
echo "=== systemd detected ==="; \
|
||||
mkdir -p ~/.config/systemd/user; \
|
||||
install -m644 services/ollie-kde.service ~/.config/systemd/user/; \
|
||||
echo "Run: systemctl --user enable --now ollie-kde"; \
|
||||
else \
|
||||
echo "=== WARNING: No supported init system detected ==="; \
|
||||
echo "Neither OpenRC (>=0.60) nor systemd found."; \
|
||||
echo "You will need to start ollie-kde manually or set up"; \
|
||||
echo "autostart for your session manager (e.g. XDG autostart)."; \
|
||||
fi
|
||||
# XDG autostart (starts with Plasma session)
|
||||
sudo install -m644 org.ollie.SessionManager.desktop /etc/xdg/autostart/
|
||||
# Finalize
|
||||
sudo ldconfig
|
||||
kquitapp6 krunner 2>/dev/null; true
|
||||
|
|
@ -122,10 +107,8 @@ install: daemon
|
|||
|
||||
uninstall:
|
||||
@echo "=== Uninstalling ollie-kde ==="
|
||||
# Stop service
|
||||
rc-service --user ollie-kde stop 2>/dev/null; true
|
||||
rc-update --user del ollie-kde 2>/dev/null; true
|
||||
systemctl --user disable --now ollie-kde 2>/dev/null; true
|
||||
# Stop daemon
|
||||
pkill -u "$(shell id -u)" -x ollie-kde 2>/dev/null; true
|
||||
# Daemon + shared library
|
||||
sudo rm -f /usr/bin/ollie-kde /usr/bin/ollie-tray
|
||||
sudo rm -f /usr/lib64/libollie.so /usr/lib64/libollie-plasmoid-plugin.so
|
||||
|
|
@ -140,9 +123,8 @@ uninstall:
|
|||
# Dolphin service menus + helpers
|
||||
rm -f ~/.local/share/kio/servicemenus/ollie-actions.desktop
|
||||
sudo rm -f /usr/local/bin/ollie-ask /usr/local/bin/ollie-session-here
|
||||
# Service files
|
||||
sudo rm -f /etc/user/init.d/ollie-kde
|
||||
rm -f ~/.config/systemd/user/ollie-kde.service
|
||||
# XDG autostart
|
||||
sudo rm -f /etc/xdg/autostart/org.ollie.SessionManager.desktop
|
||||
# Finalize
|
||||
sudo ldconfig
|
||||
kquitapp6 krunner 2>/dev/null; true
|
||||
|
|
|
|||
22
README.md
22
README.md
|
|
@ -72,19 +72,15 @@ sudo install -m755 build-cmake/ollie-tray /usr/bin/
|
|||
|
||||
## Service Setup
|
||||
|
||||
### systemd (user unit)
|
||||
The daemon starts automatically via XDG autostart when you log into a KDE Plasma
|
||||
session. No manual service configuration is needed after `make install`.
|
||||
|
||||
To disable autostart without uninstalling:
|
||||
|
||||
```sh
|
||||
cp services/ollie-kde.service ~/.config/systemd/user/
|
||||
systemctl --user enable --now ollie-kde
|
||||
```
|
||||
|
||||
### OpenRC (user service, 0.60+)
|
||||
|
||||
```sh
|
||||
sudo cp services/ollie-kde.openrc /etc/user/init.d/ollie-kde
|
||||
rc-update --user add ollie-kde default
|
||||
rc-service --user ollie-kde start
|
||||
# Per-user override
|
||||
cp /etc/xdg/autostart/org.ollie.SessionManager.desktop ~/.config/autostart/
|
||||
echo "Hidden=true" >> ~/.config/autostart/org.ollie.SessionManager.desktop
|
||||
```
|
||||
|
||||
### Manual
|
||||
|
|
@ -212,8 +208,6 @@ ollie-kde/
|
|||
│ ├── ollie-actions.desktop # Service menu entries
|
||||
│ ├── ollie-ask # One-shot helper script
|
||||
│ └── ollie-session-here # Session creation helper
|
||||
├── services/
|
||||
│ ├── ollie-kde.service # systemd user unit
|
||||
│ └── ollie-kde.openrc # OpenRC service
|
||||
├── org.ollie.SessionManager.desktop # XDG autostart entry
|
||||
└── test-e2e.sh # End-to-end test script
|
||||
```
|
||||
|
|
|
|||
|
|
@ -9,4 +9,4 @@ require (
|
|||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||
)
|
||||
|
||||
replace ollie => ../../ollie/core
|
||||
replace ollie => ../../core
|
||||
|
|
|
|||
|
|
@ -0,0 +1,12 @@
|
|||
[Desktop Entry]
|
||||
Type=Application
|
||||
Name=Ollie Session Manager
|
||||
GenericName=AI Agent D-Bus Daemon
|
||||
Comment=D-Bus session manager for Ollie AI agent sessions
|
||||
Exec=/usr/bin/ollie-kde
|
||||
Icon=ollie
|
||||
Terminal=false
|
||||
Categories=Utility;
|
||||
OnlyShowIn=KDE;
|
||||
X-KDE-autostart-phase=1
|
||||
X-DBUS-ServiceName=org.ollie.SessionManager
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
#!/usr/bin/openrc-run
|
||||
# OpenRC user service for ollie-kde daemon
|
||||
# Install: sudo cp to /etc/user/init.d/ollie-kde
|
||||
# Enable: rc-update --user add ollie-kde default
|
||||
|
||||
description="Ollie KDE Session Manager"
|
||||
supervisor="supervise-daemon"
|
||||
command="/usr/bin/ollie-kde"
|
||||
|
||||
depend() {
|
||||
need dbus
|
||||
}
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
[Unit]
|
||||
Description=Ollie KDE Session Manager
|
||||
After=dbus.service
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/ollie-kde
|
||||
Restart=on-failure
|
||||
RestartSec=3
|
||||
Environment=LD_LIBRARY_PATH=/usr/lib64
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
Reference in New Issue