কীভাবে জাভা অ্যাপ্লিকেশনগুলি ট্রে আইকন তৈরি করা থেকে রোধ করবেন?


16

উবুন্টু 13.04 এর সাথে ট্রে আইকন তৈরির নির্দিষ্ট অ্যাপ্লিকেশনগুলি হোয়াইটলিস্ট করার সম্ভাবনা (এবং ফলস্বরূপ ব্ল্যাকলিস্ট) চলে গেছে। সেই থেকে জাভা অ্যাপ্লিকেশনগুলির ট্রে আইকন এবং ওয়াইন আইকনগুলি হার্ডকডযুক্ত এবং সর্বদা দৃশ্যমান।

যদিও কিছু নির্দিষ্ট পাপা রয়েছে যা systray.Hitelist ফিরিয়ে দিয়ে একটি unityক্য প্যাচ সরবরাহ করে (যদিও ১৪.০৪ এর জন্য নয়, তবে) জাভা অ্যাপগুলির ট্রে-আইকনগুলি আড়াল করার অন্যান্য উপায় আছে কিনা তা আমি জানতে চাই (যেমন জেডাউনলোডার)

আমি জানি যে স্নি-কিউটি প্যাকেজটিতে (যেমন স্কাইপ, বা স্পোটাইফাইয়ের জন্য) পঠন অ্যাক্সেসকে অস্বীকার করে এমন অ্যাপোর্মার-প্রোফাইলগুলি প্রয়োগ করে কিউটি-অ্যাপ্লিকেশনগুলির জন্য এটি করার একটি উপায় রয়েছে know

জাভা অ্যাপ্লিকেশন এবং / অথবা ওয়াইন অ্যাপ্লিকেশনগুলির জন্য অ্যাপারমোর প্রোফাইল বা অনুরূপ কিছু কার্যকর করার কোনও উপায় আছে কি?

ধন্যবাদ


1
আপনি তাদের আইকন অ্যাক্সেস করতে এবং এটিকে স্বচ্ছ এবং ছোট হিসাবে পরিবর্তন করতে পারেন, সুতরাং এটি প্রায় কোনও স্থান নেয় এবং অদৃশ্য?
টিম

2
ভাল ধারণা, কিন্তু না। 16x16 স্থানটি জাভা অ্যাপ্লিকেশনগুলির জন্য সংরক্ষিত বলে মনে হচ্ছে। অদৃশ্য 1
পিএক্স এসভিগিতে

1
ঠিক আছে, লজ্জা দেয় ...
টিম

উত্তর:


2

জাভা অ্যাপসের জন্য:

  • আসলে জেডাউনলোডারের ক্ষেত্রে এটি একটি মডুলার ডিজাইন। ট্রে আইকনটি এমন প্লাগইন হিসাবে আসে যা থেকে অক্ষম করা যায়:

    জেডাউনলোডার → অ্যাডনস → অ্যাডন ম্যানেজার → এক্সটেনশানস J জেডি লাইট ট্রেয়ের জন্য অ্যাক্টিভেট বাক্সটি চেক করুন

  • জাভা অ্যাপ্লিকেশন সাধারণ ক্ষেত্রে, কাস্টম নীতি বিধি লিখে জাভা সুরক্ষা ব্যবস্থাপক ব্যবহার করা সম্ভব।

    1. এতে java.policyফাইল তৈরি করুন ~/.jdownloader:

      grant codeBase "file:/home/user/.jdownloader/-" {
      
      // full access
      //    permission java.security.AllPermission;
      
      // AWTPermission full or only selected elements from it
      //    permission java.awt.AWTPermission "*";
      
          permission java.awt.AWTPermission "accessClipboard";
          permission java.awt.AWTPermission "accessEventQueue";
      //    permission java.awt.AWTPermission "accessSystemTray";
          permission java.awt.AWTPermission "createRobot";
          permission java.awt.AWTPermission "fullScreenExclusive";
          permission java.awt.AWTPermission "listenToAllAWTEvents";
          permission java.awt.AWTPermission "readDisplayPixels";
          permission java.awt.AWTPermission "replaceKeyboardFocusManager";
          permission java.awt.AWTPermission "setAppletStub";
          permission java.awt.AWTPermission "setWindowAlwaysOnTop";
          permission java.awt.AWTPermission "showWindowWithoutWarningBanner";
          permission java.awt.AWTPermission "toolkitModality";
          permission java.awt.AWTPermission "watchMousePointer";
      
      // Added by try and learn
          permission java.io.FilePermission "/-", "read,write,delete";
          permission java.util.PropertyPermission "*", "read,write";
          permission java.util.logging.LoggingPermission "control";
          permission java.lang.RuntimePermission "*";
          permission java.net.NetPermission "*";
          permission java.security.SecurityPermission "*";
          permission javax.net.ssl.SSLPermission "*";
          permission java.net.SocketPermission "*", "connect,resolve";
          permission java.lang.reflect.ReflectPermission "*";
      };
    2. jdownloaderকাস্টম নীতি ব্যবহার করতে লঞ্চ স্ক্রিপ্ট পরিবর্তন করুন

      sudo nano /usr/bin/jdownloader

      যোগ করুন: -Djava.security.manager -Djava.security.policy=java.policyজাভা কমান্ড কলটিতে:

      exec java ${JAVA_OPTIONS}  -Djava.security.manager -Djava.security.policy=java.policy -jar JDownloader.jar $*

এগুলি ন্যূনতম নিয়ম যা আমাকে জাডাউনলোডার চালু করতে দেয়। আপনার আরও অনুমতি যুক্ত করতে হতে পারে। কারণ কোনও denyবিকল্প নেই আপনার সমস্ত প্রয়োজনীয় grantবিধি লিখতে হবে ।

তথ্যসূত্র:

বিটিডাব্লু, //লাইনের শুরুতে যোগ করে একটি বিধি মন্তব্য করার চেষ্টা করুন ; সুতরাং আপনি দেখতে পাচ্ছেন যে অস্বীকৃত অনুমতিগুলির ত্রুটিটি কেমন দেখাচ্ছে। এটি আপনাকে জানায় যে আপনার কোন অনুমতি যুক্ত করা উচিত। এছাড়াও লক্ষ করুন যে আমি অনেকগুলি ব্যবহার করেছি -এবং *নিয়মগুলি প্রসারিত করার চেষ্টা করেছি কারণ আমি দ্রুত সমাধানের সন্ধান করছি (যে AllPermissionকোনও উপায়ে যাই হোক না কেন) এবং আমি আবেদনটি কারাগারে খুঁজছি না।

এখানে শুরু করার জন্য একটি টেম্পলেট রয়েছে, সমস্ত সম্ভাব্য অনুমতি দেওয়ার চেষ্টা করছে:

grant codeBase "file:/home/user/.jdownloader/-" {

//    permission java.security.AllPermission;

//    permission java.awt.AWTPermission "*";

    permission java.awt.AWTPermission "accessClipboard";
    permission java.awt.AWTPermission "accessEventQueue";
//    permission java.awt.AWTPermission "accessSystemTray";
    permission java.awt.AWTPermission "createRobot";
    permission java.awt.AWTPermission "fullScreenExclusive";
    permission java.awt.AWTPermission "listenToAllAWTEvents";
    permission java.awt.AWTPermission "readDisplayPixels";
    permission java.awt.AWTPermission "replaceKeyboardFocusManager";
    permission java.awt.AWTPermission "setAppletStub";
    permission java.awt.AWTPermission "setWindowAlwaysOnTop";
    permission java.awt.AWTPermission "showWindowWithoutWarningBanner";
    permission java.awt.AWTPermission "toolkitModality";
    permission java.awt.AWTPermission "watchMousePointer";


    permission javax.sound.sampled.AudioPermission "*";
    permission javax.security.auth.AuthPermission "*";
//    permission javax.security.auth.kerberos.DelegationPermission "";
    permission javax.xml.bind.JAXBPermission "*";
    permission java.nio.file.LinkPermission "hard";
    permission java.nio.file.LinkPermission "symbolic";
    permission java.util.logging.LoggingPermission "control";
//    permission java.lang.management.ManagementPermission "*";
    permission javax.management.MBeanServerPermission "*";
    permission javax.management.MBeanTrustPermission "*";
    permission java.net.NetPermission "*";
    permission java.util.PropertyPermission "*", "read,write";
    permission java.lang.reflect.ReflectPermission "*";
    permission java.lang.RuntimePermission "*";
    permission java.security.SecurityPermission "*";
    permission java.io.SerializablePermission "*";
    permission java.sql.SQLPermission "*";
    permission javax.net.ssl.SSLPermission "*";
    permission javax.management.remote.SubjectDelegationPermission "*";
    permission javax.xml.ws.WebServicePermission "*";
//    permission  "*";

    permission java.io.FilePermission "/-", "read,write,execute,delete,readlink";
    permission javax.management.MBeanPermission "*", "*";
//    permission javax.security.auth.PrivateCredentialPermission "", "read";
    permission javax.security.auth.kerberos.ServicePermission "*", "initiate,accept";
    permission java.net.SocketPermission "*", "accept,connect,listen,resolve";
    permission java.net.URLPermission "*";
};

দ্রষ্টব্য :

জাভা পলিসি সরঞ্জামগুলি নীতি ফাইলগুলি সম্পাদনা করার জন্য একটি জিইউআই সরঞ্জাম। এটি ড্রপ বাক্স থেকে সমস্ত উপলভ্য বিকল্পগুলি খুঁজে পেতে আরও সহজ করে তোলে। এটি ইতিমধ্যে জাভা প্যাকেজ সহ ইনস্টল করা উচিত।

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


1

স্নিথার্স উত্তরগুলি নিখুঁত হলেও আমি একটি সহজ (এবং স্পষ্ট) সমাধান আবিষ্কার করেছি। এই পদ্ধতিটি জেডাউনলোডারের সাথে কাজ করে তবে অন্য সমস্ত জাভা প্রোগ্রামগুলির সাথেও কাজ করা উচিত।

কেবল লোগোটি সরান rm ~/.jdownloader/jd/img/logo/jd_logo_128_128.pngএবং তারপরে একটি অবৈধ পিএনজি আইকন তৈরি করুনtouch ~/.jdownloader/jd/img/logo/jd_logo_128_128.png

এই পদ্ধতির ব্যবহার করে, কেউ কুশ্রী জাভা আইকন ছাড়াই ট্রে আইকন প্লাগইন ব্যবহার করতে পারেন (ট্রেতে ছোট করার জন্য দরকারী)


0

যেহেতু আমি আরও সুস্পষ্টতর আরও ভাল সমাধান দেখতে পাচ্ছি না, সম্ভবত এটি এর সাহায্য করবে:

আপনি ট্রে পুরোপুরি মুক্তি পেতে পারে!

  • হয় এটি অক্ষম করুন, সম্ভব হলে
  • বা পুরো প্যানেলটিকে এমন কোনও অন্য দ্বারা প্রতিস্থাপন করুন যা আপনি নিজেই কোনও ট্রে উপাদান যুক্ত না করে ম্যানুয়ালি কনফিগার করতে পারেন। (আমি পছন্দ করিxfce4-panel এই ধরণের জিনিস পছন্দ করি)

আপনি যদি এখন ট্রে-ভিত্তিক বৈশিষ্ট্যগুলি মিস করে থাকেন তবে বেশিরভাগ ক্ষেত্রে কোনও কোনও ক্ষেত্রে ডেস্কটপ বিজ্ঞপ্তিগুলি দেখানোর মতো স্ক্রিপের মতো কেস দ্বারা পুনঃসংশোধনযোগ্য কেস হওয়া উচিত।


1
ওকে ধন্যবাদ, তবে এটি আমি যা চেয়েছিলাম তা স্পষ্টতই নয়। আমি unity
ক্য

1
হ্যাঁ, এটি আপনার অন্তর্নিহিত ব্যবহারক্ষেত্রটি জানার ক্ষেত্রে অন্ধকারে আরও বেশি শট ছিল। একটি 'অ্যাপ্লায়েন্স'-স্টাইলের মেশিনের জন্য, একটি স্থির অ্যাপ্লিকেশন চালানো, কেবলমাত্র বেসিক মেনুগুলির জন্য ডেস্কটপ বার। পদ্ধতিটি এমনকি কার্যকর হবে :) [তবে আমার মনে আছে আমি একবারে কোনও প্রোগ্রামের কোনও বার্তা দেখেছি যা কোনও প্যানেল ছাড়াই শুরু করতে অস্বীকার করেছে ...]
ভলকার সিগেল

0

আপনি যদি উবুন্টু 14.04 তে ট্রে আইকন ব্যবহার করেন এমন সমস্ত অ্যাপ্লিকেশনগুলি এটির ব্যবহার করতে সক্ষম করতে চান তবে আপনি সিস্টেমে শ্বেত তালিকাটি পুনরায় সক্ষম করতে ইউনিটি প্যাচযুক্ত একটি পিপিএ ব্যবহার করতে পারেন। এটি করতে, একটি টার্মিনাল খুলুন এবং নিম্নলিখিত কমান্ডগুলি চালনা করুন:

sudo add-apt-repository ppa:gurqn/systray-trusty
sudo apt-get update
sudo apt-get upgrade

তারপরে, ALT + F2 টিপে এবং "unityক্য" প্রবেশ করে বা লগ আউট করে ইউনিটি পুনরায় চালু করুন। পিপিএ এখন স্বয়ংক্রিয়ভাবে সমস্ত অ্যাপ্লিকেশনকে শ্বেত তালিকাভুক্ত করে তাই সিস্টেমে ব্যবহার করতে সক্ষম হওয়ার জন্য স্বতন্ত্র অ্যাপ্লিকেশনগুলিকে ম্যানুয়ালি হোয়াইটলিস্ট করার দরকার নেই।

পরিবর্তনগুলি ফিরিয়ে দেওয়া হচ্ছে

আপনি যদি উবুন্টু সংগ্রহস্থলগুলি থেকে পরিবর্তনগুলি ফিরিয়ে নিতে এবং ডিফল্ট Unক্য প্যাকেজগুলিতে ফিরে যেতে চান তবে ইউনিটি সিস্ট্রয় হোয়াইটলিস্ট পিপিএ সাফ করার জন্য নীচের কমান্ডগুলি ব্যবহার করুন:

sudo apt-get install ppa-purge
sudo ppa-purge ppa:gurqn/systray-trusty

Http://www.webupd8.org/2013/05/how-to-get-systray-Witelist-back-in.html থেকে


1
উবুন্টু স্টাক এক্সচেঞ্জকে জিজ্ঞাসা করুন স্বাগতম! দয়া করে, লিঙ্কটি মারা যাওয়ার পরে ব্রেকিং পোস্ট প্রতিরোধ করতে আপনার উত্তরে লিংকের প্রয়োজনীয় অংশ অন্তর্ভুক্ত করুন।
এএনডিল

2
এটি একটি বিশ্বব্যাপী শ্বেতলিস্ট, যার অর্থ সমস্ত প্রোগ্রাম শ্বেত তালিকাভুক্ত। ব্ল্যাকলিস্টিং প্রোগ্রামগুলি (ওয়াইন এবং জাভা প্রোগ্রামগুলির মতো) সম্পূর্ণ বিপরীত এবং unity
ক্যের
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.