fix: hostname - remove sudo (clawd runs as root), use semicolon to run all 3 commands independently; bump v1.2.4

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
stswangzhiping
2026-05-04 17:45:35 +08:00
parent 6a97f68255
commit 9e67969fd1
2 changed files with 9 additions and 7 deletions

View File

@@ -508,16 +508,18 @@ class ClawClient {
_setHostname(clawId) { _setHostname(clawId) {
const hostname = `claw-${clawId}`; const hostname = `claw-${clawId}`;
// clawd runs as root (no User= in service), no sudo needed.
// Use ';' not '&&' so each command runs independently even if one fails.
const cmd = [ const cmd = [
`sudo hostname ${hostname}`, `hostname ${hostname}`,
`echo "${hostname}" | sudo tee /etc/hostname > /dev/null`, `echo "${hostname}" > /etc/hostname`,
`sudo sed -i 's/^127\\.0\\.1\\.1.*/127.0.1.1 ${hostname}/' /etc/hosts`, `sed -i 's/^127\\.0\\.1\\.1.*/127.0.1.1 ${hostname}/' /etc/hosts`,
].join(' && '); ].join('; ');
exec(cmd, { shell: true }, (err) => { exec(cmd, { shell: true }, (err) => {
if (err) { if (err) {
log.warn('clawd', `设置 hostname 失败: ${err.message}`); log.warn('clawd', `hostname set failed: ${err.message}`);
} else { } else {
log.info('clawd', `hostname ${hostname}`); log.info('clawd', `hostname -> ${hostname}`);
} }
}); });
} }

View File

@@ -1,6 +1,6 @@
{ {
"name": "clawd", "name": "clawd",
"version": "1.2.2", "version": "1.2.4",
"description": "Claw Box daemon - connects local Linux box to claw.cutos.ai via WebSocket", "description": "Claw Box daemon - connects local Linux box to claw.cutos.ai via WebSocket",
"main": "lib/client.js", "main": "lib/client.js",
"bin": { "bin": {