كل المقالات برمجة حل مشكلة عدم ظهور أيقونة أندرويد ستوديو بشكل صحيح في جينوم على أوبونتو لينكس

حل مشكلة عدم ظهور أيقونة أندرويد ستوديو بشكل صحيح في جينوم على أوبونتو لينكس

· 1019 كلمة · 5 دقيقة قراءة

مشكلة عدم ظهور أيقونة برنامج أندرويد ستوديو بشكل صحيح في واجهة جينوم على نظام أوبونتو لينكس ، أو ظهورها في شكل صمولة (ترس) وهي أيقونة عامة افتراضية. السبب في حدوث هذه المشكلة ان ملف .desktop بتاع أندرويد ستوديو مش متوافق مع قيمة WM_CLASS.

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

إعادة إنشاء ملف الأيقونة .desktop عن طريقة أندرويد ستوديو 🔗

سجلت فيديو ونشرته على يوتيوب لحل المشكلة دي. لو كنت بتحب تتفرّج الفيديوهات أكتر من القراءة ، ده الفيديو.

دي الخطوات اللي عملتها:

  1. عملت ملف .desktop جديد من خلال برنامج أندرويد ستوديو عن طريق الضغط على قائمة أدوات Tools وبعدها ضغت على إنشاء ملف سطح مكتب جديد Create Desktop Entry. وبكده نكون عملنا ملف جديد لأيقونة أندوريد ستوديو.
  2. حذفت ملف أيقونة تشغيل أندرويد ستوديو القديم.

الحل الشامل ﻹظهار أيقونة أندرويد ستوديو في أوبونتو بشكل صحيح 🔗

معرفة WM_CLASS من أندرويد ستوديو 🔗

  • افتح برنامج أندرويد ستوديو من واجهة سطر الأوامر (التيرمينال) أو من قائمة البرامج
  • دوس Alt + F2 عشان تفتح شاشة تنفيذ الأوامر.
  • اكتب lg (اختصار لـ “Looking Glass”) و دوس إنتر Enter. دي هتفتح أداة GNOME’s integrated debugger and inspector tool.
  • في شاشة lg دوس على تبويب Windows.
  • شوف قيمة wmclass على الشاشة. غالباً بتكون حاجة زي jetbrains-studio.

تعديل أو إنشاء ملف الأيقونة .desktop 🔗

  • شوف إن كان ملف أيقونة أندرويد ستوديو .desktop في مكان من المكانين دول:
    • المكان بتاع المستخدم: ~/.local/share/applications/
    • المكان بتاع كل المستخدمين للنظام كله: /usr/share/applications/
  • دوّر على ملف اسمه jetbrains-android-studio.desktop أو jetbrains-studio.desktop أو studio.desktop أو ملف شبههم.
  • لو الملف مش موجود ، تقدر تعمله بنفسك أو تعمله عن طريق برنامج أندرويد ستوديو:
    • افتح برنامج أندرويد ستوديو Android Studio.
    • دوس على Tools > Create Desktop Entry في القايمة. وبكده اتعمل ملف أيونة بإمتداد .desktop في المسار ~/.local/share/applications/.

عدّل في ملف .desktop بتاع أيقونة أندرويد ستوديو 🔗

  • افتح ملف .desktop بتاع أيقونة برنامج أندرويد ستوديو (مثلاً : ~/.local/share/applications/jetbrains-android-studio.desktop ) في برنامج تعديل نصوص زي برنامج nano, gedit, vim, or nvim:
nano ~/.local/share/applications/jetbrains-android-studio.desktop
  • اتأكد إن الملف فيه الأيقونة صحيحة و ملف التنفيذ صحيح. الشكل المعروف لملف .desktop بيكون كده:
[Desktop Entry]
Version=1.0
Type=Application
Name=Android Studio
Exec=/path/to/android-studio/bin/studio.sh %f
Icon=/path/to/android-studio/bin/studio.png
Categories=Development;IDE;
Terminal=false
StartupNotify=true
StartupWMClass=jetbrains-android-studio

أو

[Desktop Entry]
Version=1.0
Type=Application
Name=Android Studio
Exec=/path/to/android-studio/bin/studio %f
Icon=/path/to/android-studio/bin/studio.svg
Categories=Development;IDE;
Terminal=false
StartupNotify=true
StartupWMClass=jetbrains-studio
  • ضيف أو عدّل السطر بتاع StartupWMClass بنفس قيمة wmclass اللي شوفتها في المرحلة من شوية (كانت حاجة شبه كده StartupWMClass=jetbrains-studio) لو كانت مش صحيحة بالفعل.
  • اتأكد إن مسار الأيقونة Icon صحيح (زيّ /path/to/android-studio/bin/studio.png). لو كنت مش متأكد ، تقدر تكتب المسار الكامل لملف الأيقونة (اللوجو) في مجلد تثبيت برنامج أندرويد ستوديو.
  • اعمل حفظ للملف، وبس كده.

تحديث قاعدة بيانات أيقونات البرامج 🔗

  • شغّل الأمر ده عشان تتأكد إن نظام التشغيل عارف كل ملفات أيقونات البرامج الموجودة في السيستم .desktop:
update-desktop-database ~/.local/share/applications/

غالباً مش هتحتاج تنفذ الأمر اللي فات ﻷن نظام جينوم على أوبونتو بيعمل تحديث لوحده بعد أي تعديل في ملفات الأيقونات (.desktop).

تثبيت البرنامج في شريط التطبيقات 🔗

  • افتح برنامج أندرويد ستوديو Android Studio من قايمة البرامج (مش من شريط اختصارات البرامج).
  • دوس بالزر اليمين للماوس على أيقونة برنامج أندرويد ستوديو في شريط اختصارات البرامج (الداش أو الدوك).
  • اختار اضافة إلى المفضلة أو تثبيت في الدوكAdd to Favorites أو Pin to Dash لتثبيت أيقونة تشغيل برنامج أندرويد ستوديو في الشريط الجانبي (الدوك أو الداش).

اتأكد إن مفيش ملفات .desktop متعارضة مع بعض 🔗

  • اتأكد إن مفيش ملفات أيقونات برامج .desktop متناقضة لبرنامج أندرويد ستوديو في المجلد ~/.local/share/applications/ أو /usr/share/applications/. لو في ملفات مكررة ، الملف المحلي الموجود في المسار ده (~/.local/share/applications/) له الأولوية. احذف أو غيّر اسم أي ملفات معارض أو مناقض له.
  • ممكن تعرف إن كان في تناقضات أو لا بالأوامر دي:
ls ~/.local/share/applications/ | grep android
ls ~/.local/share/applications/ | grep studio
ls /usr/share/applications/ | grep android
ls /usr/share/applications/ | grep studio

إعادة تشغيل صدفة جينوم GNOME Shell (اختياري) 🔗

  • لو أيقونة أندرويد ستوديو لسه مش ظاهرة بشكل صحيح، اعمل إعادة تشغيل لـ صدفة جينوم GNOME Shell لتحديث بيئة سطح المكتب:
killall -HUP gnome-shell
  • وممكن تعمل تسجيل خروج وتعمل تسجيل دخول أو تقفل الجهاز وتشغله.

ملاحظات اضافية 🔗

ليه المشكلة دي بتحصل ؟ 🔗

لما تشغل برنامج أندرويد ستوديو ، سكربت studio.sh يبدأ عملية جافا Java process ، اللي بتعمل شاشة بـ WM_CLASS اللي مش متوافقة مع ملف .desktop بشكل افتراضي. صدفة جينوم GNOME Shell فشلت في نسب الأيقونة الصحيحة للبرنامج وده أدّى إلى استخدام أيقونة عامة زي أيقونة الصامولة (الترس). ضيف StartupWMClass للملف عشان تربط شاشة البرنامج من خلال WM_CLASS لملف .desktop.

مسار الأيقونة 🔗

لو الأيقونة لسه مش ظاهره بشكل صحيح ، اتأكد إن الـ Icon في ملف .desktop مكتوب فيه مسار أيقونة صحيحة (بإمتداد PNG أو SVG). ممكن تستخدم أيقونات النظام (زي كده Icon=android-studio) لو الأيقونة موجودة في المجلد ده /usr/share/icons/ أو ده ~/.local/share/icons/.

إصدارات أوبونتو المعروفة بالمشكلة دي 🔗

المشكلة دي مشهورة في كل إصدارات توزيعة جينوم وخاصةً مع بيئات التطوير المتكاملة من جت برينز (JetBrains IDEs) زي أندرويد ستوديو ﻷنهم مبنيين على جافا. الخطوات اللي اتكلمنا فيها مش شوية تقدر تطبقها على أحدث إصدار من أوبونتو و جينوم.

استكشاف المشكلة | Troubleshooting 🔗

أيقونات مكررة 🔗

لو ظهر أيقونتين في شريط أيقونات البرامج (داش ، دوك) ، يبقا بسبب إن فيه نفس القيمة لـ StartupWMClass في أكتر من ملف أيقونات .desktop لـ برنامج أندرويد ستوديو. اتأكد إن الـ WM_CLASS صحيحة واحذف أي ملف .desktop متعارض.

مفيش ملف للأيقونة 🔗

لو ملف صورة الأيقونة مش موجود ، انسخ ملف studio.png من مجلد تثبيت أندرويد ستوديو (زي كده /path/to/android-studio/bin/studio.png) لـ ~/.local/share/icons/ واستخدم اسم الأيقونة في قيمة المتغير Icon في ملف أيقونة التشغيل .desktop.

لسه مش ظاهرة بشكل صحيح (لو مش لاقي حلول خالص) 🔗

لو المشكلة لسه موجودة ، جرب تفتح برنامج أندرويد ستوديو من التيرمينال (/path/to/android-studio/bin/studio.sh) وشوف رسايل الخطأ اللي هتظهرلك. اتأكد كمان إن متغير البيئة JAVA_HOME environment variable محدد بشكل صحيح ، ﻷنه ممكن يأثر في تشغيل برنامج أندرويد ستوديو:

echo $JAVA_HOME

لو المتغير مش موجود أو فاضي ، ضيفه في ~/.bashrc أو ~/.zshrc بالسطر ده:

export JAVA_HOME=/path/to/java

أو في ~/.config/fish/config.fish:

set -gx JAVA_HOME "/path/to/java"

لو لسه الأيقونة مش ظاهرة بشكل صحيح ، تواصل معي على يوتيوب و تيليجرام ، و فيسبوك ، و واتساب .

إن كنت تعرف أي شخص يُمكنه الإستفادة من هذه المعلومات، ارسل له رابط هذا المقال.

التصنيفات: برمجة
مشاركة:
الترجمات:  English ([fixed] Android Studio has generic gear icon in Ubuntu dock)