سؤال لا يوجد أي تطبيق تم إطلاقه من البرنامج النصي


أستخدم تطبيقًا (Simplify3D على سبيل المثال) وهو برنامج ثنائي تم تشغيله بواسطة برنامج bash.
يتم إنشاء واجهة المستخدم الرسومية عن طريق الملف الثنائي ، بينما يشير الملف .desktop إلى البرنامج النصي.
لهذا السبب لديّ رمزًا على Launcher سطح المكتب وفي العدسة ، ولكن ليس لديك رمز في Unity Launcher - مجرد مربع رمادي يحتوي على علامة استفهام.
كيف يمكنني جعل الرمز مرئيًا في المشغل أيضًا؟

محتويات الملف .desktop هو

[Desktop Entry]
Type=Application
Version=0.9.4
Name=Simplify3D
Comment=Simplify3D Software
Icon=/opt/Simplify3D/icon.png
Exec=/opt/Simplify3D/LaunchScript.sh
Terminal=false
Path=/opt/Simplify3D
StartupWMClass=Simplify3D // That line fixed it

2
2017-08-04 11:35


الأصل


وهو لا يعمل ، ويفترض أن السبب الذي وصفته. أو تقصد بعض الخط المحدد لقاذفة؟ ما هو إذا؟ - Barafu Albino
يمكنك إضافة في سؤالك نتيجة cat 'yourFile'.desktop - Boris
نعم ، في غضون ساعات قليلة. - Barafu Albino
Rinzwind ، وهذا ليس مماثلا لأنه في حالتي. وقد عين ملفdesktop أيقونة ، ولكن Unity Launcher ، وفقط ، لا يرى هذا الرمز. كل شيء آخر يرى الرمز. - Barafu Albino


الأجوبة:


في هذه الحالات "غير المباشرة" ، يجب عليك إخبار ملف سطح المكتب عن التطبيق المتصل به:

أضف خطًا إلى ملف .desktop ، مثل:

StartupWMClass=[your_application] (the binary file in this case)

وأشار أيضا هنا.


2
2017-08-04 12:13



دققت المسمار فيه! شكر. حسب هذا الجواب، السلسلة لم تكن ملفًا ثنائيًا ، لكن الفئة التي كان عليّ أن أفكر بها xprop WM_CLASS أمر. - Barafu Albino