আমি কীভাবে লঞ্চারে "চালু" জাভা প্রোগ্রামগুলির জন্য নকল আইকনগুলি সরিয়ে ফেলতে পারি?


45

নাট্টির ইউনিটি লঞ্চারে জাভা প্রোগ্রামগুলি (ইন্টেলিজ আইডিইএ এবং ক্র্যাশপ্ল্যানের মতো) চালু করার সময়, সদৃশ আইকনগুলি দেখানো হয় (চিত্র দেখুন)। ইন্টেলিজের জন্য আমি .ডেস্কটপ ফাইল তৈরি করেছিলাম, ক্র্যাশপ্ল্যানের জন্য .ডেস্কটপ ফাইলটি অ্যাপ্লিকেশন সহ সরবরাহ করা হয়। .ডেস্কটপ ফাইলগুলিতে (বা অন্য কোথাও) এমন কিছু পরিবর্তন করা যেতে পারে যা এটি ঘটতে বাধা দিতে পারে? আমি নিজেই unityক্যের জন্য একটি বাগ রিপোর্ট খুঁজে পাইনি তবে জিনোম-ড / ডকির মতো প্রোগ্রামগুলিতে বাগ রিপোর্ট রয়েছে এবং এটি প্রতিরোধের জন্য তাদের অ্যাপ্লিকেশনগুলিতে অভ্যন্তরীণ পরিবর্তন করতে হয়েছিল।

নকল আইকনএই চিত্রটিতে প্রথম আইকন হ'ল। ডেস্কটপ ফাইল থেকে তৈরি করা এবং দ্বিতীয় আইকনটি এটি চালু করার পরে after অ্যাপ্লিকেশনটি বন্ধ করার সময় দ্বিতীয় আইকন অদৃশ্য হয়ে যায়।

কাস্টম ইন্টেলিজ। ডেস্কটপ ফাইল

#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Icon[en_US]=/opt/idea/bin/idea128.png
Name[en_US]=IntelliJ IDEA
Exec=/opt/idea/bin/idea.sh
Name=IntelliJ IDEA
Icon=/opt/idea/bin/idea128.png
StartupNotify=true

ক্র্যাশপ্ল্যান .ডেস্কটপ ফাইল সরবরাহ করে

[Desktop Entry]
Version=1.0
Encoding=UTF-8
Name=CrashPlan
Categories=;
Comment=CrashPlan Desktop UI
Comment[en_CA]=CrashPlan Desktop UI
Exec=/usr/local/crashplan/bin/CrashPlanDesktop
Icon=/usr/local/crashplan/skin/icon_app_64x64.png
Hidden=false
Terminal=false
Type=Application
GenericName[en_CA]=

1
ইউনিটিতে মাইনক্রাফ্ট চালু করার সময় আমি একই ধরণের সমস্যার
মুখোমুখি হই

2
Godশ্বরের ধন্যবাদ, সমস্যাটি মূলধারার ব্যবহারকারীদের উপর প্রভাব ফেলবে (এটি কেবল এডাব্লুএন এবং অন্যান্য ডক উত্সাহীদের জন্য সমস্যা হিসাবে ব্যবহৃত হত) অবশেষে। আমি আশা করি জাভা (এবং কেবল জাভা নয়) অ্যাপ্লিকেশন বিকাশকারীরা এখন এটি ঠিক করার বিষয়ে বিবেচনা করবেন। যাইহোক, Eclipse তেমন কোনও সমস্যা নেই বলে মনে হচ্ছে, যদিও আমি মাইএসকিউএল ওয়ার্কব্যাঞ্চ এবং ওপেনঅফিস.অর্গ.এর জন্য কখনই এটি ঠিক করতে সক্ষম হয়েছি (যখন আমি এডাব্লুএন ব্যবহার করছিলাম তখন লিবারঅফিসের আবির্ভাবের আগে)।
ইভান

সমস্যাটি অ্যাপ্লিকেশনগুলি সম্পর্কে যতটা আমি মনে করতে পারি ডাব্লুএম_সিএলএএসএস নামগুলি বোকা না সনাক্ত করতে ব্যবহার করে।
ইভান

যদি এরকম কোনও সমস্যা না ঘটে তবে আমি অবশ্যই ইউনিটি বা এডাব্লুএন ব্যবহার করব। তবে যতক্ষণ না প্রতিটি অ্যাপ্লিকেশন তাদের পুরোপুরি সমর্থন করে না, আমি একটি aতিহ্যবাহী টাস্কবার পছন্দ করি (কারণ আমি অর্ধ-সমাধানগুলি ঘৃণা করি)।
ইভান

উত্তর:


47

আপনার .ডেস্কটপ ফাইলটিতে একটি স্টার্টআপ ডাব্লুএমক্লাস স্ট্রিং যুক্ত করুন। xpropএই ক্লাসটি পেতে কমান্ডটি ব্যবহার করুন । উদাহরণ স্বরূপ :

$ xprop|grep WM_CLASS
 WM_CLASS(STRING) = "sun-awt-X11-XFramePeer", "java-lang-Thread"

$ cat /usr/share/applications/PHPStorm.desktop | grep StartupWM
StartupWMClass=sun-awt-X11-XFramePeer

এই থ্রেডে আরও ডিয়াটেলস (এটি এডাব্লুএন সম্পর্কে, তবে ityক্যের পক্ষেও কাজ করে)


1
এটি ক্র্যাশপ্ল্যানের জন্য দুর্দান্ত কাজ করে StartupWMClass=CrashPlanতবে ইন্টেলিজির আরও কিছুটা দৃinc় বিশ্বাসের প্রয়োজন। এটি সঠিকভাবে কাজ করার জন্য আমাকে এই ( blog.jteam.nl/2011/01/09/… ) থেকে তথ্য ব্যবহার করতে হয়েছিল।
টিম

ইন্টেলিজিজ আপডেট করার জন্য ছোট একটি অংশ হিসাবে আমি আইডিটি পরিবর্তন করেছি vvmoptions এ ধারণা.শ স্ক্রিপ্টটি সরাসরি নয়। যোগ -javaagent:agent.jar=IntelliJ_IDEAফাইলে।
টিম

1
ইন্টেলিজ 11 এর সাথে এজেন্ট.জারের আর দরকার নেই। স্টার্টআপ WMClass = jetbrains- ধারণা
টিম

এবং jetbrains-idea-ceসম্প্রদায় সংস্করণের জন্য। পিএস, ধন্যবাদ একটি গুচ্ছ টিম, 451F।
সেনেসো

2
@Ivan: আপনি উভয় ব্যবহার করতে হবে না, আপনি ব্যবহার করতে পারেন পারেন না। তাই আপনি যদি jetbrains-ideaঅনন্য এক, এক যদি আপনি চান, এটা ব্যবহার করেন পরিবর্তে এরsun-awt-X11-XFramePeer
MestreLion

9

উবুন্টু ১১.১০ এর অধীনে ইন্টেলিজ আইডিয়া ১১-এর জন্য আইডিয়াটির .ডেস্কটপ ফাইলটি নিম্নলিখিত লাইনে যুক্ত করা প্রয়োজন:

StartupWMClass=jetbrains-idea

4

আমি এসকিউএল ডেভেলপারের জন্য এটি ঠিক করতে সক্ষম হয়েছি, এটি একটি জাভা প্রোগ্রাম:

এক্সপ্রপ (এবং তারপরে এসকিউএল ডেভেলপার উইন্ডোতে ক্লিক করা) ব্যবহার করে আমি নিম্নলিখিত আউটপুটটির লাইনটি পেয়েছি:

WM_CLASS(STRING) = "sun-awt-X11-XFramePeer", "oracle-ide-boot-Launcher"

উপরে এবং https://bugs.launchpad.net/unity/+bug/757991 এ পাওয়া মন্তব্যের ভিত্তিতে , আমি আমার স্থানীয় sqldeveloper.desktop ফাইলে নিম্নলিখিত লাইনটি যুক্ত করেছি:

StartupWMClass=oracle-ide-boot-Launcher

1
SQLDeveloper সংস্করণ 4 WM_CLASS "রোদে AWT-x11-XFramePeer" এ পরিবর্তিত, "ওরাকল-IDE-osgi-বুট OracleIdeLauncher", তাই .desktop প্যারামিটার পরিবর্তিত হবে: StartupWMClass = ওরাকল-IDE-osgi-বুট OracleIdeLauncher
পিসু

2

আমি এখানে Eclipse 4.x এবং 3.x এর জন্য ফাইলটি দলিল করেছি ।

এই সমাধানটি গ্ল্যাক্স-ডক ওরফে কায়রো-ডকের জন্য তবে নির্ভর করে সমস্ত টাস্ক বারের জন্য কাজ করে WM_CLASS

গ্রহনের ক্ষেত্রে, লঞ্চটি দুটি ধাপের প্রক্রিয়াও।

        এখানে চিত্র বর্ণনা লিখুন

মূলত, আপনাকে যা করতে হবে তা হল আপনার Eclipse সংস্করণে প্রযোজ্য Eclipse ব্র্যান্ডিং প্লাগইন.এক্সএমএল সনাক্ত করা এবং application nameসম্পত্তিটি পরিবর্তন করা । যখন ওয়ার্কবেঞ্চের প্রধান উইন্ডোগুলি তৈরি করা হবে, জাফেস এসডাব্লুটিটি কল Display.setNameকরবে এবং এটি আপনাকে WM_CLASS সেট করবে। এটি যদি আপনার লঞ্চারের জন্য ঘোষিত WM_CLASS হয় তবে চলমান দৃষ্টান্তগুলি তাদের ডক লঞ্চারটি খুঁজে পাবে।

eclipse -cleanপ্রথম বার করতে ভুলবেন না ।

ট্যাবিংয়ের মাধ্যমেও অনেক উন্নতি হয়েছে।

এখানে চিত্র বর্ণনা লিখুন


0

ইন্টেলিজ আইডিইএ একটি স্ক্রিপ্ট দ্বারা শুরু করা হয়েছে (_H আইডিইএহোম / বিন / ধারণা.শ)। যখন তার লঞ্চারটি ক্লিক করা হয়, স্ক্রিপ্টটি কার্যকর করা হয়, যা একটি জাভা কার্যকর হতে শুরু করে এবং ততক্ষণে প্রস্থান করে। Ityক্য লক্ষ্য করে যে আপনি যে অ্যাপ্লিকেশনটি শুরু করেছেন (স্ক্রিপ্ট) ইতিমধ্যে তা থেকে বেরিয়ে গেছে - এজন্য প্রথম আইডিইএ আইকনটিতে কোনও সূচক নেই। যাইহোক, এই মুহুর্তে অন্য একটি (লঞ্চার দ্বারা চালিত এক্সিকিউটেবল থেকে) অ্যাপ্লিকেশন চলছে - এবং এজন্য দ্বিতীয় আইডিইএ আইকনটি দেখানো হয়েছে।

আমি আশা করি শীঘ্রই এই আচরণের স্থিরতা কার্যকর করা হবে - তবে এটি খুব সরলরূপ নয়। এটি উইন্ডো এবং লঞ্চারগুলির সাথে তাদের যুক্ত হওয়া উচিত এমন একটি হাত দ্বারা পরিচালিত তালিকার সংস্থানগুলি জড়িত করতে হবে।


0

ক্র্যাশপ্ল্যানের জন্য, আপনি নিজের অ্যাপ্লিকেশন ফাইল ক্র্যাশপ্ল্যান.ডেস্কটপকে / usr / share / অ্যাপ্লিকেশনগুলিতে সরিয়ে নিতে চেষ্টা করতে পারেন। কেবল সেখানে থাকা অ্যাপ্লিকেশনগুলিকে লঞ্চারে লক করা যেতে পারে।

sudo mv ~/Desktop/CrashPlan.desktop /usr/share/applications/.

তারপরে ক্র্যাশপ্ল্যান চালানোর জন্য ড্যাশ ব্যবহার করে চেষ্টা করুন।

আপনি হয়ত ইন্টেলিজ আইডিইএর সাথে অনুরূপ কিছু করতে সক্ষম হতে পারেন তবে এটি যেহেতু এটি স্ক্রিপ্টটি চালাচ্ছে তাই নিশ্চিত যে এটি সঠিকভাবে কাজ করবে কিনা not


আমার। / .Local / share / অ্যাপ্লিকেশনগুলিতে উভয় .ডেস্কটপ ফাইল রয়েছে এবং লঞ্চারে সেগুলি লক করতে কোনও সমস্যা নেই। আমি ধরে নিচ্ছি যে আপনার অর্থ লঞ্চার থেকে চালু করা সম্ভব তবে লক করা বলার পরে এখনও চালু করা হয়নি ...
টিম

হুঁ। আমি এগুলিকে লঞ্চারে রাখতে সক্ষম নই। আমি আলাকার্তে (মেনু সম্পাদক) দিয়ে আমার তৈরি করেছি। হতে পারে কারণ আমার অন্য কোথাও linked / .local সংযুক্ত রয়েছে ... আপনার অ্যাপ্লিকেশনগুলি কি চলমান ত্রিভুজ (বাম দিক) এবং সক্রিয় ত্রিভুজটি (ডান দিকের) দেখায়?
ইডব্রি

আইকনটির "চালু" সংস্করণটির জন্য, হ্যাঁ। আপনি প্রথম শটটিতে চলমান ত্রিভুজ দেখতে পাচ্ছেন। আমি আরও কিছু গবেষণা করেছি এবং মনে করি নকল আইকনগুলির জন্য আমার একটি কার্যকরী কাজ রয়েছে। এখানে একটি উত্তর পোস্ট করবে।
টিম

@ 451F উত্তরে আমাকে মারল, আমি কীভাবে ইন্টেলিজিকে আরও ভালভাবে কাজ করতে পারি সে সম্পর্কে আমার মন্তব্যে তার উত্তরে কিছুটা যুক্ত করেছি।
টিম

0

অন্য কোনও উত্তর আমার পক্ষে কাজ করেনি, তবে শেষ পর্যন্ত আমি আসলে আরও সহজ সমাধান পেয়েছি found

ইন্টেলিজ-আইডিয়া খুলুন এবং উপরের বারে সরঞ্জামগুলি ড্রপডাউন মেনুটি সন্ধান করুন। তারপরে, ডেস্কটপ এন্ট্রি তৈরি করুন বোতামটি নির্বাচন করুন । এটি আপনার .local/share/applicationsফোল্ডারে একটি সঠিকভাবে কাজ করছে। ডেস্কটপ এন্ট্রি তৈরি করবে , যা আপনি যে কোনও ডেস্কটপ পরিবেশ ব্যবহার করছেন তা দ্বারা চিহ্নিত হওয়া উচিত। এটি কোনও সদৃশ আইকন তৈরি করে না এবং আপনি চাইলে এমনকি আইকনটিও পরিবর্তন করতে পারেন।

দুর্ভাগ্যক্রমে, nosplashযুক্তিটি ব্যবহার করে সদৃশ আইকনের সমস্যাটি ফিরিয়ে আনা হয়েছে, সুতরাং কীভাবে এটি ঠিক করবেন তা সম্পর্কে আমি নিশ্চিত নই।


0

উবুন্টু 17.04 এর অধীনে ইনটেলিজ আইডিইএ 2017.2.5 ইনস্টল করার পরে (নুমিক্স আইকন সহ) আমাকে প্রোগ্রামটির .ডেস্কটপ ফাইলটিতে লাইনটি পরিবর্তন StartupWMClass=jetbrains-ideaকরতে StartupWMClass=jetbrains-idea-ceহয়েছিল যাতে ডুপ্লিকেট আইকনটি অদৃশ্য হয়ে যায়।

আমি অনুমান করি যে "সিই" আমার কাছে সম্প্রদায় সংস্করণ রয়েছে, তাই আমি জানি না কেন .ডেস্কটপ ফাইলটিতে এই সম্পত্তিটির মান মূলত "সিই" প্রত্যয়টি রাখেনি।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.