إنتقل إلى المحتوى الرئيسي

حل مشاكل تعليق وتجميد طرفية Cursor

Cursor Terminal Hang

قد تتعطل أو تتجمد الطرفية المتكاملة في Cursor أحيانًا أو لا تستجيب أثناء تنفيذ الأوامر. يقدم هذا الدليل طرق تشخيص وإصلاح منهجية.

الأعراض الشائعة​

العرضالوصف
الطرفية لا تستجيبلا يوجد إخراج بعد إدخال الأمر
الأمر متعطليبدأ الأمر ولكنه لا ينتهي أبدًا
المؤشر مجمديتوقف مؤشر الطرفية عن الوميض
فشل بدء الصدفةتفتح الطرفية ولكن الصدفة لا يتم تحميلها
استخدام عالٍ لوحدة المعالجة المركزيةتستهلك عملية الطرفية الكثير من وحدة المعالجة المركزية

إصلاحات سريعة​

الطريقة 1: إعادة تشغيل الطرفية​

# في Cursor
1. انقر على أيقونة سلة المهملات في الزاوية اليمنى العليا من لوحة الطرفية
2. أو استخدام الاختصار Cmd/Ctrl + Shift + P
3. اكتب "Terminal: Kill Terminal"
4. أعد فتح الطرفية باستخدام Ctrl + `

الطريقة 2: تبديل نوع الصدفة​

# فتح لوحة الأوامر (Cmd/Ctrl + Shift + P)
# اكتب "Terminal: Select Default Profile"
# اختر صدفة مختلفة:
# - Windows: PowerShell -> Git Bash -> CMD
# - macOS: zsh -> bash
# - Linux: bash -> zsh

الطريقة 3: تعطيل تكامل الصدفة​

// فتح الإعدادات (Cmd/Ctrl + ,)
// ابحث عن "terminal integrated shell integration"
{
"terminal.integrated.shellIntegration.enabled": false
}

التشخيص العميق​

التحقق 1: تحديد الصدفة المشكلة​

# معرفة الصدفة المستخدمة حاليًا
echo $SHELL

# التحقق من إصدار الصدفة
$SHELL --version

# اختبار ما إذا كانت الصدفة تستجيب
$SHELL -c "echo test"

التحقق 2: التحقق من ملفات تكوين الصدفة​

# التحقق مما إذا كانت ملفات التكوين تحتوي على أخطاء
# Bash
bash -n ~/.bashrc
bash -n ~/.bash_profile

# Zsh
zsh -n ~/.zshrc
zsh -n ~/.zprofile

# PowerShell
# في PowerShell، قم بتشغيل:
Test-Path $PROFILE

التحقق 3: الاختبار ببيئة الحد الأدنى​

# بدء الصدفة ببيئة نظيفة
# Bash
env -i HOME=$HOME TERM=$TERM bash --norc --noprofile

# Zsh
env -i HOME=$HOME TERM=$TERM zsh -f

# إذا كانت البيئة الحد الأدنى تعمل، فالمشكلة في ملفات التكوين

الإصلاحات حسب الصدفة​

إصلاح Bash​

# المشكلة: أمر متعطل في .bashrc
# الإصلاح: التعليق على الأسطر المشبوهة

# تحرير ~/.bashrc
# ابحث وعلق:
# - الأوامر التفاعلية (vim، nano، إلخ)
# - الأوامر التي تتطلب إدخالًا
# - الأوامر طويلة التنفيذ
# - الأسماء المستعارة المشكلة

# التكوينات المشكلة الشائعة:
# ❌ لا تضع هذا في .bashrc:
# eval "$(ssh-agent -s)" # قد يتعطل
# some-command & # قد تسبب العمليات في الخلفية مشاكل
# read -p "Press enter" # الإدخال التفاعلي يعلق الطرفية

# ✅ بدائل آمنة:
# ضع الأوامر التفاعلية في .bash_profile
# أو استخدم شرطًا:
if [ -z "$PS1" ]; then
# غير تفاعلي، تخطى
return
fi

إصلاح Zsh​

# المشكلة: إضافة Oh-My-Zsh تسبب التعليق
# الإصلاح: تعطيل الإضافات المشكلة

# تحرير ~/.zshrc
plugins=(
git
# عطل هذه الإضافات المشكلة:
# nvm # قد يتعطل إذا لم يكن Node مثبتًا
# pyenv # قد يتعطل إذا لم يكن Python مثبتًا
# rbenv # قد يتعطل إذا لم يكن Ruby مثبتًا
)

# المشكلة: موجه السمة يعمل ببطء
# الإصلاح: التبديل إلى سمة بسيطة
ZSH_THEME="robbyrussell" # سمة سريعة
# ZSH_THEME="powerlevel10k/powerlevel10k" # قد تكون بطيئة

# المشكلة: التحميل التلقائي لـ nvm بطيء
# الإصلاح: التحميل المؤجل
lazy_load_nvm() {
unset -f npm node nvm
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
}
npm() { lazy_load_nvm; npm "$@"; }
node() { lazy_load_nvm; node "$@"; }

إصلاح PowerShell​

# المشكلة: سكربت Profile متعطل
# الإصلاح: التحقق من PowerShell Profile

# عرض الملف الشخصي الحالي
$PROFILE

# اختبار ما إذا كان الملف الشخصي هو السبب
pwsh -NoProfile

# إذا كان يعمل بدون ملف شخصي،
# تحرير الملف الشخصي والتعليق على الأسطر المشكلة:
# notepad $PROFILE

# التكوينات المشكلة الشائعة:
# ❌ لا تضع هذا في الملف الشخصي:
# Start-SomeLongCommand
# Import-Module لوحدة مشكلة
# وظيفة موجه مخصصة بطيئة

# ✅ استخدام التحميل المؤجل
function prompt {
# التهيئة المؤجلة
if (-not $global:PromptInitialized) {
$global:PromptInitialized = $true
# العمليات البطيئة هنا
}
"> "
}

إصلاحات خاصة بـ Cursor​

الإصلاح 1: تحديث Cursor​

# تأكد من استخدام أحدث إصدار
# المساعدة -> التحقق من التحديثات
# أو استخدم الاختصار Cmd/Ctrl + Shift + P -> "Check for Updates"

الإصلاح 2: مسح ذاكرة التخزين المؤقت للطرفية​

# أغلق جميع الطرفيات
# امسح ذاكرة التخزين المؤقت لـ Cursor:

# macOS
rm -rf ~/Library/Application\ Support/Cursor/Cache

# Windows
# احذف %APPDATA%\Cursor\Cache

# Linux
rm -rf ~/.config/Cursor/Cache

الإصلاح 3: إعادة تعيين إعدادات الطرفية​

// افتح settings.json (Cmd/Ctrl + Shift + P -> "Preferences: Open Settings JSON")
// أعد تعيين الإعدادات المتعلقة بالطرفية:
{
"terminal.integrated.shellIntegration.enabled": true,
"terminal.integrated.defaultProfile.osx": "zsh",
"terminal.integrated.defaultProfile.windows": "PowerShell",
"terminal.integrated.defaultProfile.linux": "bash",
"terminal.integrated.enablePersistentSessions": false,
"terminal.integrated.gpuAcceleration": "off"
}

الإصلاح 4: تعطيل تسريع GPU​

// إذا كانت عرض الطرفية بها مشاكل، عطل تسريع GPU
{
"terminal.integrated.gpuAcceleration": "off"
}

الإصلاح 5: ضبط مهلة الطرفية​

// زيادة وقت مهلة الأمر
{
"terminal.integrated.shellIntegration.commandTimeout": 5000,
"terminal.integrated.shellIntegration.commandFinishedTimeout": 5000
}

مشاكل خاصة بالبيئة​

مشاكل خاصة بـ Windows​

# المشكلة: Windows Defender يفحص السكربتات
# الإصلاح: إضافة استبعاد
# Windows Security -> الحماية من الفيروسات والتهديدات -> الاستثناءات
# أضف دليل تثبيت Cursor

# المشكلة: مشكلة ConPTY
# الإصلاح: استخدام وحدة التحكم القديمة
{
"terminal.integrated.windowsEnableConpty": false
}

# المشكلة: سياسة تنفيذ PowerShell
# الإصلاح: التحقق من سياسة التنفيذ
Get-ExecutionPolicy
# إذا لزم الأمر، اضبطها على RemoteSigned (كمسؤول):
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

مشاكل خاصة بـ macOS​

# المشكلة: أذونات الطرفية macOS
# الإصلاح: التحقق من أذونات الطرفية
# تفضيلات النظام -> الأمان والخصوصية -> الخصوصية -> الوصول الكامل إلى القرص
# تأكد من إضافة Cursor

# المشكلة: مشكلة تحويل Rosetta (Apple Silicon)
# الإصلاح: استخدام البنية الأصلية
# عند استخدام إصدار x86_64 من Node/الأدوات في Cursor
arch -x86_64 zsh

# المشكلة: أذونات zsh
# الإصلاح: التحقق من أذونات zsh
chmod 755 /bin/zsh
chmod 755 /usr/local/bin/zsh # إذا تم التثبيت عبر Homebrew

مشاكل خاصة بـ Linux​

# المشكلة: تبعيات مفقودة
# الإصلاح: تثبيت الحزم اللازمة
# Ubuntu/Debian
sudo apt-get install -y libnss3 libgtk-3-0 libxss1 libasound2

# Fedora
sudo dnf install -y nss gtk3 libXScrnSaver alsa-lib

# المشكلة: مشكلة Wayland
# الإصلاح: استخدام X11
# عند بدء تشغيل Cursor:
CURSOR_USE_WAYLAND=0 cursor

# أو في settings.json:
{
"terminal.integrated.gpuAcceleration": "off"
}

التشخيص المتقدم​

تمكين سجلات التصحيح​

// تمكين تصحيح أخطاء الطرفية
{
"terminal.integrated.logLevel": "trace"
}

# عرض السجلات
# المساعدة -> تبديل أدوات المطور -> علامة تبويب Console
# ابحث عن الرسائل التي تبدأ بـ [terminal]

التحقق من شجرة العمليات​

# العثور على عمليات الطرفية المتعطلة
# macOS/Linux
ps aux | grep -i cursor
pstree -p | grep cursor

# Windows (PowerShell)
Get-Process | Where-Object { $_.ProcessName -like "*cursor*" }
# أو استخدم Process Explorer

# إنهاء عملية محددة
kill -9 <PID> # macOS/Linux
Stop-Process -Id <PID> # Windows

التحقق من واصفات الملفات​

# التحقق مما إذا كانت الطرفية عالقة في انتظار الإدخال
# macOS/Linux
lsof -p <PID> | grep -E "(FIFO|PIPE)"

# التحقق من TTYs المفتوحة
ls -la /proc/<PID>/fd/ | grep tty

الإجراءات الوقائية​

أفضل ممارسات التكوين​

# استخدام المهلة في تكوين الصدفة
# Bash
timeout_cmd() {
timeout 5s "$@" || echo "Command timed out"
}

# Zsh
set -o pipefail
set -e

# تجنب الأسماء المستعارة التكرارية
alias ls='ls --color=auto' # آمن
# alias ls='ls -la' # خطير! تكراري

الصيانة الدورية​

# التنظيف الشهري
# 1. مسح محفوظات الطرفية
history -c && history -w

# 2. حذف الملفات المؤقتة
rm -rf /tmp/*
rm -rf ~/.cache/cursor/*

# 3. تحديث الأدوات
# macOS (Homebrew)
brew update && brew upgrade

# Ubuntu/Debian
sudo apt-get update && sudo apt-get upgrade

# 4. التحقق من بناء جملة ملفات التكوين
bash -n ~/.bashrc
zsh -n ~/.zshrc

متى يجب الإبلاغ عن خطأ​

إذا لم تعمل أي من الطرق المذكورة أعلاه، أبلغ فريق Cursor:

  1. جمع المعلومات:

    # إصدار Cursor
    # المساعدة -> حول

    # إصدار نظام التشغيل
    # macOS: sw_vers
    # Windows: winver
    # Linux: lsb_release -a

    # إصدار الصدفة
    $SHELL --version

    # سجلات تصحيح أخطاء الطرفية
    # تمكين، إعادة إنتاج المشكلة، ثم تصدير السجلات
  2. إرسال مشكلة على GitHub:

    • قم بتضمين خطوات إعادة الإنتاج
    • أرفق التكوينات ذات الصلة
    • قدم معلومات نظام التشغيل
    • قم بتضمين لقطات شاشة للأخطاء

موارد ذات صلة​