---
read_when:
    - Linux सहायक ऐप की स्थिति खोजी जा रही है
    - Linux Node होस्ट पर कैमरा, स्थान या सूचनाएँ सक्षम करना
    - प्लेटफ़ॉर्म कवरेज या योगदान की योजना बनाना
    - VPS या कंटेनर पर Linux OOM किल या एग्ज़िट 137 की डीबगिंग
summary: Linux समर्थन + सहयोगी ऐप की स्थिति
title: Linux ऐप
x-i18n:
    generated_at: "2026-07-27T18:33:18Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 32
    provider: openai
    source_hash: fe55d3ec63fcf8291a24126c04638f005c03c3d44ff84a26a925e931066b01cc
    source_path: platforms/linux.md
    workflow: 16
---

Gateway Linux पर पूरी तरह समर्थित है और इसके लिए Node आवश्यक है। Bun का उपयोग अब भी
निर्भरता इंस्टॉलर या पैकेज-स्क्रिप्ट रनर के रूप में किया जा सकता है, लेकिन यह OpenClaw नहीं चला सकता
क्योंकि यह `node:sqlite` प्रदान नहीं करता।

## डेस्कटॉप सहयोगी

OpenClaw Linux सहयोगी स्थानीय Gateway के लिए एक Tauri डेस्कटॉप ऐप है। यह:

- OpenClaw CLI और प्रबंधित Node रनटाइम अनुपस्थित होने पर उन्हें इंस्टॉल करता है; रिलीज़ बिल्ड स्थिर चैनल को स्वचालित रूप से इंस्टॉल करते हैं, जबकि डेवलपमेंट बिल्ड पहले चैनल पूछते हैं
- सेवा में बदलाव करने का प्रयास करने से पहले किसी स्वस्थ Gateway से जुड़ता है
- इंस्टॉल, शुरू करने, रोकने और पुनः शुरू करने की कार्रवाइयाँ CLI-प्रबंधित systemd उपयोगकर्ता सेवा को सौंपता है
- आस-पास के Bonjour Gateways खोजता है और प्रत्येक Control UI को रूट-स्कोप वाली विंडो में खोलता है, ताकि कई
  Gateway डैशबोर्ड जुड़े रह सकें और उनका एक साथ उपयोग किया जा सके
- Gateway द्वारा उपलब्ध कराए गए Control UI को उसके निर्धारित प्रमाणीकरण URL के साथ खोलता है
- पहली बार इंस्टॉल होने के बाद Control UI को ऑनबोर्डिंग मोड में खोलता है, जो
  पहचानी गई Claude Code, Codex या Hermes मेमोरी को
  एजेंट कार्यक्षेत्र में आयात करने का विकल्प देता है (यही आयात बाद में भी
  Settings → Import Memory के अंतर्गत उपलब्ध रहता है)
- सह-स्थित CLI नोड होस्ट के लिए एजेंट-संचालित Canvas और बंडल की गई A2UI सामग्री रेंडर करता है
- अपनी विंडो बंद होने पर भी सिस्टम ट्रे से उपलब्ध रहता है

`main` से निर्मित स्थिर रिलीज़, टैग की
[GitHub रिलीज़](https://github.com/openclaw/openclaw/releases) पर एसेट के रूप में `.deb` और AppImage बंडल भेजती हैं,
जिनके नाम `OpenClaw-<version>-amd64.deb` और `OpenClaw-<version>-amd64.AppImage` होते हैं
और उनके पास एक `SHA256SUMS.linux-app.txt` चेकसम फ़ाइल होती है। `.deb`
डाउनलोड करें और उसे `sudo apt install ./OpenClaw-<version>-amd64.deb` से इंस्टॉल करें,
या AppImage को निष्पादन योग्य चिह्नित करके सीधे चलाएँ। AppImage रनटाइम को
FUSE 2 (`sudo apt install libfuse2`, या Ubuntu 24.04+ पर `libfuse2t64`) चाहिए;
इसके बिना AppImage को `APPIMAGE_EXTRACT_AND_RUN=1` के साथ चलाएँ।

आप स्रोत चेकआउट से भी यही बंडल बना सकते हैं:

```bash
cd apps/linux/src-tauri
pnpm dlx @tauri-apps/cli@2.11.4 build --bundles deb,appimage
```

`Linux App` CI कार्यप्रवाह ऐप को प्रभावित करने वाले पुल रिक्वेस्ट और
मैन्युअल रन के लिए इन्हीं बंडलों को
`openclaw-linux-companion` आर्टिफ़ैक्ट के रूप में अपलोड करता है। Linux बिल्ड
निर्भरताओं और डेवलपमेंट कमांड के लिए रिपॉज़िटरी में `apps/linux/README.md` देखें।

### त्वरित चैट

`Ctrl+Shift+Space` या **त्वरित चैट** ट्रे आइटम से त्वरित चैट खोलें। एजेंट
चिप कॉन्फ़िगर किया गया अवतार, इमोजी या मोनोग्राम दिखाती है; एजेंट बदलने के लिए इसे चुनें।
संदेश चुने गए एजेंट के मुख्य सत्र का उपयोग करते हैं और वैश्विक सत्र स्कोप का पालन करते हैं।
मूल Rust क्लाइंट एक स्थायी Ed25519 डिवाइस पहचान का स्वामी है। यह
पेयरिंग शुरू करने के लिए केवल CLI हैंडऑफ़ के साझा टोकन या पासवर्ड का उपयोग करता है, फिर बाद के
कनेक्शनों पर Gateway द्वारा जारी डिवाइस टोकन को संग्रहीत करता है और प्राथमिकता देता है। पहचान और
डिवाइस टोकन ऐप कॉन्फ़िगरेशन डायरेक्टरी में मोड `0600` वाली फ़ाइल में रहते हैं; त्वरित
चैट के WebView को न तो क्रेडेंशियल मिलते हैं, न WebSocket।

मूल कनेक्शन अनुपलब्ध होने पर त्वरित चैट **Gateway
तक नहीं पहुँचा जा सकता — पुनः प्रयास जारी है** दिखाती है और पुनः कनेक्शन होने तक भेजना अक्षम रखती है। पेयरिंग
चरण तक पहुँच चुका रिमोट डिवाइस इसके बजाय **डैशबोर्ड
(Nodes) में इस डिवाइस को स्वीकृति दें** दिखाता है और Gateway द्वारा उपलब्ध कराने पर एक छोटा डिवाइस ID भी दिखाता है। आवश्यक साझा क्रेडेंशियल न मिलने वाला
Gateway **Gateway को क्रेडेंशियल चाहिए — Gateway होस्ट पर डैशबोर्ड
खोलें** दिखाता है; उस स्थिति में कोई पेयरिंग अनुरोध
स्वीकृति की प्रतीक्षा नहीं कर रहा होता। सर्वर द्वारा उपलब्ध कराया गया सुधार मार्गदर्शन
अधिक विशिष्ट होने पर इन फ़ॉलबैक सूचनाओं को प्रतिस्थापित करता है।
TLS Gateways के लिए CLI ऐप को Gateway प्रमाणपत्र का SHA-256
फ़िंगरप्रिंट देता है; मूल क्लाइंट उस प्रमाणपत्र को पिन करता है और डाउनटाइम से अलग
**Gateway TLS विश्वास विफल — प्रमाणपत्र फ़िंगरप्रिंट जाँचें** रिपोर्ट करता है।
जिन Gateways का साझा सीक्रेट SecretRef के माध्यम से कॉन्फ़िगर किया गया है, वे उसे
CLI हैंडऑफ़ से बाहर रखते हैं। मौजूदा पेयर किए गए इंस्टॉल अपने संग्रहीत डिवाइस
टोकन के माध्यम से काम करते रहते हैं, लेकिन नया इंस्टॉल उस बूटस्ट्रैप क्रेडेंशियल के बिना साझा-सीक्रेट
प्रमाणीकरण के अंतर्गत लंबित पेयरिंग अनुरोध नहीं बना सकता।
सेटअप-कोड और `bootstrapToken` रिडेम्पशन के लिए समर्पित उत्पाद UI आवश्यक है और यह
भावी कार्य बना हुआ है; त्वरित चैट इनमें से किसी भी प्रवाह का प्रयास नहीं करती।

X11 पर कस्टम शॉर्टकट रिकॉर्ड या रीसेट करने के लिए त्वरित चैट में गियर का उपयोग करें।
**त्वरित चैट शॉर्टकट** ट्रे टॉगल सामान्य **त्वरित चैट** ट्रे आइटम को अक्षम किए बिना इसे
सक्षम या अक्षम करता है। Wayland पर वैश्विक शॉर्टकट उपलब्ध नहीं हैं, इसलिए
शॉर्टकट सेटिंग्स छिपी रहती हैं और ट्रे आइटम प्रवेश बिंदु बना रहता है।
भेजना स्वीकार होने के बाद त्वरित चैट खुली रहती है और चुने गए एजेंट का
सादा-पाठ उत्तर कंपोज़र के नीचे स्ट्रीम करती है। बार और उसके उत्तर को हटाने के लिए `Esc` दबाएँ;
`Ctrl+Enter` अब भी डैशबोर्ड खोलता है।

### Canvas

Linux Canvas दो सहयोगी प्रक्रियाओं का उपयोग करता है। `openclaw node run` एकमात्र Gateway नोड कनेक्शन बना रहता है; बंडल किया गया `linux-canvas` Plugin, `canvas.*` कॉल को केवल-उपयोगकर्ता Unix सॉकेट पर चल रहे डेस्कटॉप ऐप को अग्रेषित करता है। ऐप एक ऑन-डिमांड WebView विंडो का स्वामी है, जिसमें बंडल किया गया A2UI रेंडरर और एजेंट तक वापस जाने वाला एक्शन ब्रिज शामिल है।

Plugin डिफ़ॉल्ट रूप से सक्षम है। यह Canvas का विज्ञापन केवल तब करता है जब डेस्कटॉप सॉकेट `$XDG_RUNTIME_DIR/openclaw-canvas.sock` पर मौजूद हो, या `XDG_RUNTIME_DIR` अनुपलब्ध होने पर `/tmp/openclaw-canvas-$UID.sock` पर मौजूद हो। इसे `plugins.entries.linux-canvas.enabled: false` से अक्षम करें। डेस्कटॉप ऐप के बिना हेडलेस Linux सर्वर पर Canvas का विज्ञापन नहीं किया जाता।

Linux v1 एक Canvas विंडो का उपयोग करता है। HTTP और HTTPS पेज रेंडर किए जा सकते हैं, लेकिन A2UI एक्शन केवल बंडल किए गए रेंडरर से स्वीकार किए जाते हैं।

## CLI और SSH विकल्प

हेडलेस सर्वर, VPS या रिमोट Gateway के लिए CLI सबसे सरल विकल्प बना रहता है:

1. Node 24.15+ (अनुशंसित), Node 22.22.3+ (LTS), या Node 25.9+ इंस्टॉल करें।
2. `npm i -g openclaw@latest`
3. `openclaw onboard --install-daemon`
4. अपने लैपटॉप से: `ssh -N -L 18789:127.0.0.1:18789 <user>@<host>`
5. `http://127.0.0.1:18789/` खोलें और कॉन्फ़िगर किए गए साझा
   सीक्रेट से प्रमाणित करें (डिफ़ॉल्ट रूप से टोकन; यदि `gateway.auth.mode`, `"password"` है तो पासवर्ड)।

संपूर्ण सर्वर गाइड: [Linux सर्वर](/hi/vps)। चरण-दर-चरण VPS उदाहरण:
[exe.dev](/hi/install/exe-dev)।

## Node क्षमताएँ

बंडल किया गया Linux Node Plugin, डेस्कटॉप ऐप की आवश्यकता के बिना CLI को `openclaw node` सेवा डिवाइस क्षमताएँ देता है। कमांड का विज्ञापन Gateway को केवल तभी किया जाता है जब उनकी क्षमता सक्षम हो और आवश्यक स्थानीय टूल मौजूद हो।

| क्षमता                              | डिफ़ॉल्ट | आवश्यकता                                                           |
| --------------------------------------- | ------- | --------------------------------------------------------------------- |
| डेस्कटॉप सूचनाएँ (`system.notify`) | चालू      | libnotify का `notify-send` और डेस्कटॉप सूचना सत्र       |
| कैमरा फ़ोटो और क्लिप (`camera.*`)    | बंद     | FFmpeg, V4L2 कैमरा एक्सेस और क्लिप ऑडियो के लिए PulseAudio या PipeWire |
| स्थान (`location.get`)               | बंद     | GeoClue2 और इसका `where-am-i` डेमो                                    |

Plugin को `openclaw.json` में कॉन्फ़िगर करें:

```json5
{
  plugins: {
    entries: {
      "linux-node": {
        config: {
          notify: { enabled: true },
          camera: { enabled: true },
          location: { enabled: true },
        },
      },
    },
  },
}
```

इन सेटिंग्स को बदलने के बाद नोड सेवा पुनः शुरू करें। उपलब्धता प्रत्येक प्रक्रिया के लिए एक बार निर्धारित होती है और पुनः शुरू होने पर नोड विज्ञापन फिर बनाया जाता है।

Gateway नोड के कमांड और क्षमता सरफ़ेस को डिवाइस पेयरिंग से अलग स्वीकृत करता है। पहली बार शुरू होने पर या अधिक क्षमताएँ सक्षम करने के बाद लंबित सरफ़ेस को स्वीकृति दें:

```bash
openclaw nodes pending
openclaw nodes approve <requestId>
```

नोड कनेक्ट और डिवाइस-पेयर हो सकता है, जबकि स्वीकृति पूरी होने तक उसके प्रभावी `caps` और `commands` खाली रह सकते हैं।

कैमरा डिवाइस सेवा उपयोगकर्ता द्वारा पठनीय होने चाहिए, आमतौर पर `video` समूह के माध्यम से। `includeAudio` के true होने पर कैमरा क्लिप डिफ़ॉल्ट PulseAudio या PipeWire स्रोत का उपयोग करती हैं; माइक्रोफ़ोन ऑडियो केवल उस क्लिप ट्रैक के रूप में मौजूद होता है, स्वतंत्र कमांड के रूप में नहीं। स्थान के लिए नोड-सेवा उपयोगकर्ता को होस्ट की GeoClue नीति द्वारा अनुमति मिलनी आवश्यक है।

`camera.snap` और `camera.clip` के लिए `gateway.nodes.commands.allow` के माध्यम से स्पष्ट Gateway आर्मिंग भी आवश्यक है। पेलोड, सीमाओं और त्रुटियों के लिए [कैमरा कैप्चर](/hi/nodes/camera) और [स्थान कमांड](/hi/nodes/location-command) देखें।

## इंस्टॉल

- [शुरू करें](/hi/start/getting-started)
- [इंस्टॉल और अपडेट](/hi/install/updating)
- वैकल्पिक: [Bun पैकेज कार्यप्रवाह](/hi/install/bun), [Nix](/hi/install/nix), [Docker](/hi/install/docker)

## Gateway सेवा (systemd)

इनमें से किसी एक से इंस्टॉल करें:

```bash
openclaw onboard --install-daemon
openclaw gateway install
openclaw configure   # संकेत मिलने पर "Gateway service" चुनें
```

मौजूदा इंस्टॉल की मरम्मत या माइग्रेशन करें:

```bash
openclaw doctor
```

`openclaw gateway install` डिफ़ॉल्ट रूप से एक systemd **उपयोगकर्ता** यूनिट रेंडर करता है। साझा या
हमेशा चालू रहने वाले होस्ट के लिए **सिस्टम**-स्तरीय यूनिट प्रकार सहित संपूर्ण
सेवा मार्गदर्शन [Gateway रनबुक](/hi/gateway#supervision-and-service-lifecycle) में उपलब्ध है।

केवल कस्टम सेटअप के लिए यूनिट मैन्युअल रूप से लिखें। न्यूनतम उपयोगकर्ता-यूनिट उदाहरण
(`~/.config/systemd/user/openclaw-gateway[-<profile>].service`):

```ini
[Unit]
Description=OpenClaw Gateway (प्रोफ़ाइल: <profile>, v<version>)
After=network-online.target
Wants=network-online.target
StartLimitBurst=5
StartLimitIntervalSec=60

[Service]
ExecStart=/usr/local/bin/openclaw gateway --port 18789
Restart=always
RestartSec=5
RestartPreventExitStatus=78
TimeoutStopSec=30
TimeoutStartSec=30
SuccessExitStatus=0 143
OOMPolicy=continue
KillMode=control-group

[Install]
WantedBy=default.target
```

हाथ से लिखी गई यूनिटें उस अनुकूली हीप आकार निर्धारण को इनहेरिट नहीं करतीं जिसे `openclaw gateway install` प्रबंधित Gateway सेवाओं के लिए लिखता है। प्रबंधित इंस्टॉलर को प्राथमिकता दें, या नेटिव-मेमोरी हेडरूम का हिसाब लगाने के बाद कस्टम सुपरवाइज़र में स्पष्ट हीप सीमा सेट करें।

इसे सक्षम करें:

```bash
systemctl --user enable --now openclaw-gateway[-<profile>].service
```

## मेमोरी दबाव और OOM द्वारा समाप्ति

Linux पर जब किसी होस्ट, VM या कंटेनर cgroup की
मेमोरी समाप्त हो जाती है, तो कर्नेल एक OOM लक्ष्य चुनता है। Gateway अनुपयुक्त लक्ष्य है क्योंकि यह दीर्घकालिक
सत्रों और चैनल कनेक्शनों का स्वामी है, इसलिए OpenClaw जहाँ संभव हो अस्थायी चाइल्ड
प्रक्रियाओं को पहले समाप्त करने की ओर झुकाव रखता है।

योग्य Linux चाइल्ड स्पॉन के लिए OpenClaw कमांड को एक छोटे
`/bin/sh` शिम में रैप करता है, जो चाइल्ड के अपने `oom_score_adj` को `1000` तक बढ़ाता है, फिर
वास्तविक कमांड को `exec` करता है। इसके लिए विशेषाधिकार आवश्यक नहीं हैं: कोई प्रक्रिया हमेशा
अपना OOM स्कोर बढ़ा सकती है।

शामिल चाइल्ड प्रक्रिया सरफ़ेस:

- सुपरवाइज़र-प्रबंधित कमांड चाइल्ड
- PTY शेल चाइल्ड
- MCP stdio सर्वर चाइल्ड
- OpenClaw द्वारा लॉन्च की गई ब्राउज़र/Chrome प्रक्रियाएँ (Plugin SDK प्रोसेस रनटाइम के माध्यम से)

रैपर केवल Linux के लिए है और `/bin/sh` अनुपलब्ध होने पर या
चाइल्ड env द्वारा `OPENCLAW_CHILD_OOM_SCORE_ADJ` को `0`, `false`, `no` या
`off` पर सेट करने पर छोड़ दिया जाता है।

चाइल्ड प्रक्रिया सत्यापित करें:

```bash
cat /proc/<child-pid>/oom_score_adj
```

शामिल चाइल्ड के लिए अपेक्षित मान `1000` है; Gateway प्रक्रिया स्वयं
अपना सामान्य स्कोर (आमतौर पर `0`) बनाए रखती है।

systemd यूनिट का `OOMPolicy=continue` किसी अस्थायी चाइल्ड को OOM किलर द्वारा चुने जाने पर
पूरी यूनिट को विफल चिह्नित करके सभी चैनल पुनः शुरू करने के बजाय Gateway सेवा को चालू रखता है;
विफल चाइल्ड/सत्र अपनी त्रुटि स्वयं रिपोर्ट करता है।

यह सामान्य मेमोरी ट्यूनिंग का विकल्प नहीं है। यदि VPS या कंटेनर बार-बार
चाइल्ड प्रक्रियाओं को समाप्त करता है, तो मेमोरी सीमा बढ़ाएँ, समवर्तीता घटाएँ या अधिक सशक्त
संसाधन नियंत्रण जोड़ें (systemd `MemoryMax=`, कंटेनर मेमोरी सीमाएँ)।

## संबंधित

- [इंस्टॉलेशन का अवलोकन](/hi/install)
- [Linux सर्वर](/hi/vps)
- [Raspberry Pi](/hi/install/raspberry-pi)
- [Gateway संचालन पुस्तिका](/hi/gateway)
- [Gateway कॉन्फ़िगरेशन](/hi/gateway/configuration)
