시놀로지에서 openclaw gateway start를 쳤는데 failed to D-bus connection: connection refused가 나오면, 대부분 OpenClaw 자체 고장보다 실행 방식 불일치가 원인입니다. 핵심은 start/restart를 반복하는 게 아니라, DSM 환경에 맞는 실행 경로(run foreground 또는 nohup)로 바꾸는 것입니다.

flowchart LR
A[증상: gateway start 실패] --> B[원인: D-Bus/systemd user 경로 부재]
B --> C[대응1: gateway run foreground]
C --> D[대응2: nohup/작업스케줄러 고정]
D --> E[검증: status/probe/logs OK]

🧠 칠판 치트시트

  • DSM에서는 gateway start가 항상 정답이 아니다.
  • 먼저 gateway run으로 살리고, 그다음 유지 실행을 붙인다.
  • 포트 충돌/모드(local)/환경변수(PATH) 3가지를 같이 본다.

왜 이 오류가 뜨나

openclaw gateway start는 서비스 매니저(systemd/launchd/schtasks) 경로를 사용합니다. 그런데 Synology DSM 환경은 일반 데스크톱 리눅스처럼 systemd --user가 안정적으로 제공되지 않는 경우가 많아서, 서비스 시작 단계에서 D-Bus 연결을 못 잡고 종료될 수 있습니다.

여기에 .npmrc prefix 충돌, nvm 미로딩, 포트 충돌이 겹치면 “가끔 살아나고 다시 죽는” 상태가 반복됩니다.

10초 진단

openclaw gateway status
openclaw gateway probe
openclaw doctor
ss -lntp | grep 18789
  • status에서 Runtime이 stopped면 실행 경로 문제를 먼저 의심
  • probe 실패 + 포트 점유가 있으면 충돌부터 정리

복구 순서 (가장 빠른 경로)

1) 우선 foreground로 정상 부팅 확인

openclaw gateway run --allow-unconfigured --bind loopback --port 18789

다른 터미널에서 확인:

openclaw gateway status
openclaw gateway probe

2) 유지 실행으로 전환 (nohup)

mkdir -p ~/.openclaw/logs
nohup openclaw gateway run --allow-unconfigured --bind loopback --port 18789 \
  > ~/.openclaw/logs/gateway.log 2>&1 &
disown

3) 셸 환경 충돌 정리 (선택)

npm config delete prefix
npm config delete globalconfig
source ~/.profile

Synology 작업 스케줄러에 붙일 때

재부팅 후 자동 기동이 필요하면 작업 스케줄러(부팅 시 실행)에 아래 형태로 등록하면 안정적입니다.

/bin/bash -lc 'source ~/.profile; mkdir -p ~/.openclaw/logs; nohup openclaw gateway run --allow-unconfigured --bind loopback --port 18789 >> ~/.openclaw/logs/gateway.log 2>&1 &'

미니 사례 2개

사례 1) start만 반복하던 경우

  • Before: openclaw gateway start를 반복할수록 동일한 D-Bus 오류만 재발
  • After: openclaw gateway run으로 즉시 기동 확인 후 nohup으로 고정

사례 2) 포트 점유를 놓친 경우

  • Before: 실행 명령은 맞았지만 18789가 이미 사용 중이라 부팅 직후 종료
  • After: ss -lntp | grep 18789 확인 후 포트 정리, probe 정상 복구

20분 도입 루틴

  • 5분: status/probe/doctor/ss로 현재 상태 캡처
  • 5분: gateway run foreground로 정상 부팅 확인
  • 5분: nohup 전환 + 로그 파일 위치 고정
  • 5분: 재부팅 시나리오(작업 스케줄러)까지 점검

실패 방지 체크리스트

  • DSM에서 start 실패 시 run 경로로 전환했다.
  • Gateway는 --bind loopback으로 먼저 안정화했다.
  • 18789 포트 충돌을 사전에 확인했다.
  • gateway.log 파일로 장애 재현 로그를 남긴다.

다음 읽기

본 문서는 생성형 AI를 활용해 작성되었습니다.