claude-code-notifier
طريقة العمل الأدلة الأسئلة الشائعة
◐العربية
English العربية Deutsch Español Français עברית Italiano 日本語 한국어 Nederlands Polski Português (Brasil) Русский Türkçe Tiếng Việt 简体中文 繁體中文
ابدأ الآن
كل الأدلة

إشعارات Claude Code على Linux

آخر تحديث 31 أكتوبر 2026 · قراءة في 6 دقيقة
في هذه الصفحة 01ما يفعله Claude Code تلقائيًا 02تثبيت notify-send 03Notification hook 04اعرف لحظة انتهاء Claude 05عرض الرسالة الفعلية مع صوت 06لا يوجد notify-send؟ استخدم escape sequence 07عندما يعمل notify-send في الـ shell ولا يعمل من Claude Code 08أين يأتي دور Claude Code Notifier 09الأسئلة الشائعة

على Linux، لا يرسل Claude Code إشعار سطح مكتب بنفسه إلا في عدد قليل من الـ terminals، مثل Ghostty وKitty. وفي غيرها، أضف إلى ~/.claude/settings.json ‏hook من نوع Notification يشغّل notify-send 'Claude Code' 'Claude Code needs your attention'، إضافةً إلى hook من نوع Stop إن أردت أن تعرف لحظة انتهاء Claude. يأتي notify-send من libnotify (الحزمة libnotify-bin على Debian وUbuntu)، ويحتاج إلى notification daemon قيد التشغيل، وهو متوفر في GNOME وKDE Plasma وغير متوفر في الخوادم بلا واجهة رسومية وجلسات SSH.

01ما يفعله Claude Code تلقائيًا

عندما ينهي Claude مهمة أو ينتظر إذنًا ويبدو أنك غير موجود، يطلق Claude Code حدث إشعار. ويذكر دليل الـ terminal من Anthropic أن Ghostty وKitty يحوّلان هذا الحدث إلى إشعار سطح مكتب؛ أما الـ terminals الأخرى، مثل GNOME Terminal وKonsole و terminal ‏VS Code، فلا تعرض شيئًا.

بدلًا من ذلك، يمكنك طلب جرس (bell) في أي terminal:

{
  "preferredNotifChannel": "terminal_bell"
}

يختلف تأثير الجرس باختلاف الـ terminal وبيئة سطح المكتب: فقد يصدر صوتًا، أو يومض، أو يضع علامة «عاجل» على النافذة. يشرح دليل جرس الـ terminal ذلك. وللحصول على إشعار حقيقي، استخدم hook.

02تثبيت notify-send

تحقّق مما إذا كان مثبّتًا لديك:

notify-send 'Claude Code' 'test'

إذا لم يُعثر على الأمر، فثبّته:

sudo apt install libnotify-bin   # Debian, Ubuntu, Mint
sudo dnf install libnotify       # Fedora, RHEL
sudo pacman -S libnotify         # Arch

إذا عمل الأمر دون أن يظهر شيء، فليس لديك notification daemon. تتضمّن GNOME وKDE Plasma وCinnamon وXfce واحدًا. أما مع tiling window manager مثل Sway أو i3 أو Hyprland، فثبّت واحدًا وشغّله بنفسك، مثل mako أو dunst. يعمل كلٌّ من Wayland وX11، لأن notify-send يتواصل مع الـ daemon عبر D-Bus وليس مع خادم العرض.

03Notification hook

هذا مثال Linux من دليل hooks لدى Anthropic. أضفه إلى ~/.claude/settings.json إلى جانب المفاتيح الموجودة لديك:

{
  "hooks": {
    "Notification": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "notify-send 'Claude Code' 'Claude Code needs your attention'"
          }
        ]
      }
    ]
  }
}

اكتب /hooks في Claude Code لتراه مُدرجًا تحت Notification. الـ matcher الفارغ يُطلق الـ hook لكل أنواع الإشعارات. وأهمها permission_prompt، بعد انتظار طلب موافقة نحو ست ثوانٍ دون أن تكتب شيئًا، وidle_prompt، بعد نحو 60 ثانية من انتهاء Claude. تجد القائمة الكاملة في دليل Notification hook.

04اعرف لحظة انتهاء Claude

يتأخر idle_prompt دقيقة كاملة. أما hook ‏Stop فيعمل فور إنهاء Claude لدوره، ولا يحتاج إلى matcher:

{
  "hooks": {
    "Stop": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "notify-send -a 'Claude Code' 'Claude Code' 'Claude has finished'"
          }
        ]
      }
    ]
  }
}

يحدّد -a اسم التطبيق الذي يعرضه الـ daemon. ومن الخيارات المفيدة الأخرى: -u critical يُبقي الإشعار على الشاشة حتى تغلقه في معظم الـ daemons، و-i dialog-information يضيف أيقونة. المزيد عن هذا الحدث في دليل Stop hook.

05عرض الرسالة الفعلية مع صوت

تستقبل hooks بيانات JSON عبر standard input، وتتضمّن مدخلات Notification الحقل message. يمكن لسكربت عرض هذا النص وتشغيل صوت. احفظ ما يلي باسم ~/.claude/hooks/notify-linux.sh:

#!/bin/bash
msg=$(jq -r '.message // "Claude Code needs your attention"')
notify-send -a 'Claude Code' 'Claude Code' "$msg"
paplay /usr/share/sounds/freedesktop/stereo/complete.oga 2>/dev/null || true

اجعله قابلًا للتنفيذ بالأمر chmod +x ~/.claude/hooks/notify-linux.sh واستخدم ~/.claude/hooks/notify-linux.sh أمرًا للـ hook. تتوفر jq في حزم كل التوزيعات. يعمل paplay مع PulseAudio ومع طبقة PulseAudio في PipeWire، وملف الصوت مأخوذ من freedesktop sound theme (الحزمة sound-theme-freedesktop على Debian وUbuntu). ويمكنك استخدام أي ملف .oga أو .wav تريده.

06لا يوجد notify-send؟ استخدم escape sequence

إذا كان الـ terminal لديك يفهم escape sequences الخاصة بالإشعارات، فيمكن لـ hook أن يطلب من Claude Code إرسال واحدة. لا تملك hooks ‏terminal خاصًا بها، لذا تُعيد الـ sequence في الحقل terminalSequence ويتولى Claude Code كتابتها. يذكر مرجع Anthropic ‏OSC 777 لـ Ghostty وurxvt وWarp، وOSC 99 لـ Kitty. على سبيل المثال:

#!/bin/bash
body=$(jq -r '.message // "Needs your attention"')
seq=$(printf '\033]777;notify;%s;%s\007' "Claude Code" "$body")
jq -nc --arg seq "$seq" '{terminalSequence: $seq}'

لا يحتاج هذا إلى daemon على الجهاز الذي يعمل عليه Claude Code، ولهذا فهو أيضًا الحل المناسب لـ الخوادم البعيدة عبر SSH.

07عندما يعمل notify-send في الـ shell ولا يعمل من Claude Code

يحتاج notify-send إلى عنوان جلسة D-Bus الخاص بتسجيل دخولك إلى سطح المكتب. ترث hooks بيئة Claude Code، لذا لا مشكلة إذا شغّلت Claude Code من terminal على سطح المكتب. أما إذا شُغّل Claude Code عبر SSH، أو من خدمة systemd، أو داخل container، أو داخل خادم tmux بدأ أول مرة من SSH، فقد لا يتوفر له هذا العنوان، فيضيع الإشعار. شغّل echo $DBUS_SESSION_BUS_ADDRESS في الـ shell نفسه الذي تشغّل منه claude؛ فإذا كانت النتيجة فارغة، فلن تظهر إشعارات سطح المكتب من تلك الجلسة. يغطي دليل tmux ودليل SSH هذه الإعدادات.

08أين يأتي دور Claude Code Notifier

تُعد hooks أعلاه خيارًا جيدًا حين تعمل على الجهاز مباشرة. لكنها لا تصل إليك بعد أن تبتعد عن مكتبك، كما أن إشعار سطح المكتب لا يتيح لك الرد على Claude.

Claude Code Notifier أداة مستقلة (من تطوير TouchTap، وليست من Anthropic) مبنية على hooks في Claude Code. أداة سطر الأوامر المجانية الخاصة بها، ccn، تعمل على Mac وWindows وLinux. على Linux:

curl -fsSL https://claudecodenotifier.com/install.sh | sh

أو npx @touchtap/ccn إذا كان لديك Node.js. تضيف الأداة إدخالات hooks الخاصة بها إلى ~/.claude/settings.json دون المساس بأي شيء آخر، وتحتفظ بنسخة احتياطية. ومن ثم تعرض إشعار سطح مكتب في Linux عندما ينتهي Claude أو يحتاج إلى إذن أو يطرح سؤالًا. هذا الجزء لا يحتاج إلى شبكة ولا إلى هاتف. تعمل الأداة بضعة أجزاء من الثانية لكل حدث، ولا يبقى شيء قيد التشغيل في الخلفية.

اربط هاتف iPhone أو Android لتصلك الأحداث نفسها كإشعارات push، حتى على جهاز بلا سطح مكتب إطلاقًا. ومن الهاتف يمكنك منح إذن أو رفضه، واختيار إجابة عن سؤال Claude، وإرسال التعليمة التالية بعد انتهاء Claude. راجع ربط الهاتف وصفحة ccn والأسعار لمعرفة المزيد عن تطبيقات الهاتف. على Linux، يحفظ ccn الـ token الخاص به في ملف لا يقرؤه أحد سواك.

إذا ثبّتَّ ccn، فاحذف hooks ‏notify-send الخاصة بك لتجنّب تكرار الإشعارات.

09الأسئلة الشائعة

لماذا يعمل notify-send في الـ terminal لديّ ولا يعمل في الـ hook؟

غالبًا لا يتوفر لدى الـ hook عنوان جلسة D-Bus، لأن Claude Code شُغّل عبر SSH أو داخل حاوية أو في خادم tmux بدأ دون هذا العنوان. شغّل Claude Code من terminal على سطح المكتب، أو استخدم إشعار push على الهاتف بدلًا من ذلك.

ما الحزمة التي توفّر notify-send؟

الحزمة libnotify-bin على Debian وUbuntu، وlibnotify على Fedora وArch. تحتاج أيضًا إلى خدمة إشعارات (notification daemon)، وهي مضمّنة في بيئات سطح المكتب الكاملة.

هل يعمل هذا على Wayland؟

نعم. يستخدم notify-send نظام D-Bus، لذا يعمل بالطريقة نفسها على Wayland وX11 ما دامت خدمة الإشعارات قيد التشغيل.

كيف أجعل الإشعار يبقى ظاهرًا حتى أراه؟

أضف -u critical إلى أمر notify-send. تُبقي معظم خدمات الإشعارات الإشعارات الحرجة على الشاشة حتى تغلقها بنفسك.

هل يمكنني تلقّي إشعارات Claude Code على خادم Linux بلا واجهة رسومية؟

ليس كإشعارات سطح مكتب، إذ لا يوجد سطح مكتب أصلًا. استخدم escape sequence عبر terminal الخاص بجلسة SSH، أو خدمة push مثل تطبيق الهاتف من ccn. يقارن دليل SSH بين الخيارات.

Claude Code Notifier احصل على إشعار push على هاتفك عندما ينتهي Claude Code أو يحتاج إليك، ثم وافق أو ارفض أو أجب من هناك. أداة سطر الأوامر ccn مجانية على Mac وWindows وLinux.
نزّل لنظام iOS نزّل لنظام Android ثبّت ccn

أدلة ذات صلة

  • Notification hook في Claude Code: متى يُطلَق وكيف تستخدمهمتى يُطلَق Notification hook في Claude Code، وما معنى permission_prompt وidle_prompt، والمدخلات التي يتلقاها، ولماذا ينتظر قبل الإطلاق.
  • الـ Stop hook في Claude Code: نفّذ أمرًا عندما ينتهي Claudeكيف يعمل الـ Stop hook في Claude Code، وما المدخلات التي يتلقاها، وكيف تنفّذ أمرًا عندما ينتهي Claude، وكيف تجعل Claude يواصل العمل بأمان.
  • إشعارات Claude Code على خادم بعيد عبر SSHشغّل Claude Code على VPS أو خادم بعيد عبر SSH مع الاستمرار في تلقّي الإشعارات: عبر terminal escape sequences تنتقل عبر SSH، أو عبر push إلى الهاتف باستخدام ccn.
  • Claude Code في tmux أو screen: تلقّي الإشعارات من جلسة منفصلةتلقَّ إشعارًا عندما ينتهي Claude Code في tmux أو screen أو يحتاج إليك: allow-passthrough وتنبيهات الجرس وتسمية الجلسة وإشعارات push على الهاتف عند الانفصال.
claude-code-notifier

Claude Code Notifier تطبيق مستقل تابع لجهة خارجية. وهو غير تابع لشركة Anthropic, PBC ولا معتمد أو مموّل منها. "Claude" و"Claude Code" علامتان تجاريتان لشركة Anthropic, PBC.

التطبيقات تطبيق iOS تطبيق Android ccn لأنظمة macOS وWindows وLinux كل الأدلة
قانوني سياسة الخصوصية شروط الخدمة لغات أخرى © 2026 touchtap. جميع الحقوق محفوظة. شركة TouchTap Ltd مسجلة في إنجلترا وويلز، رقم الشركة 13942589.