উবুন্টু 12.04 এ কিভাবে লঞ্চ আইকন অ্যাপ্লিকেশন মেনু রিফ্রেশ করবেন?


10

ডেস্কটপ ফাইলটিতে পরিবর্তন করার পরে /usr/share/applications, আমার লঞ্চ আইকন অ্যাপ্লিকেশন মেনুটি রিফ্রেশ করা দরকার যাতে আমার পরিবর্তনটি প্রদর্শিত হবে। স্পষ্টতার স্বার্থে, মেনুটি যা সংশোধন করা উচিত তা হ'ল পয়েন্টারটি যখন লঞ্চের আইকনে উপস্থিত থাকে তখন ডান ক্লিকের সাথে উপস্থিত হয় (পর্দার বাম দিকে আইকন পূর্ণ বড় বার)।

সেরা উত্তরটি একটি সাধারণ কমান্ড লাইন হবে।

আমি উবুন্টু -2 ডি ব্যবহার করছি না এবং আমি লগআউট / লগইন করতে চাই না।

আমি কিছু আংশিক সমাধান সম্পর্কে সচেতন:

  • unity --replace সবকিছু পুনরায় লোড করে (উইন্ডো সজ্জা, বিজ্ঞপ্তি অঞ্চল, ...)
  • killall ubuntu-2d-launcher কেবল উবুন্টু -2 ডি, তবে unityক্যের জন্য যদি একই জাতীয় এক-লাইন কমান্ড উপস্থিত থাকে তবে এটি একটি ভাল সমাধান হতে পারে।
  • লগ আউট করে আবার লগ ইন করাও কাজ করে, তবে আমি কেবল মেনু আপডেট করার জন্য আমার সমস্ত সেশনটি হারিয়ে ফেলতে পারি না।
  • উবুন্টুতে ১৪.০৪-এ আমার এই সমস্যা নেই: "* .ডেস্কটপ" ফাইলগুলিতে যে কোনও পরিবর্তন হয়েছে তা লাইভ পুনরাবৃত্তি বলে মনে হচ্ছে।

কোন পরামর্শ ? সিসিএসএম করার জন্য কি কোনও উপায় আছে?


হাই @vaab, আমার একটি ডেকস্টপ ফাইল আছে এবং আমি .desktop ফাইলের অভ্যন্তরে পাথ সম্পাদনা করে এর আইকনটি পরিবর্তন করি। আপনি যা দিয়েছিলেন তা কি গ্রহণযোগ্য সমাধান ছিল? unity --replaceকাজ করে? আমি সব কিছুর পুনরায় লোড মনে করি না।
Noitidart

নিশ্চিত unity --replaceহয়ে ওবুন্টু 16.04 এ কাজ করে তবে ক্রোম, থান্ডারবার্ডস এর মতো ভারী অ্যাপ্লিকেশনগুলি পুনরায় লোড করবে না ...
PhatHV

@ ফ্যাটএইচভি: ওহ দুঃখিত, এটি কোনও অ্যাপ্লিকেশন পুনরায় লোড করে না, কেবল unityক্য পুনরায় লোড করা হয়, তবে এটি প্রদর্শনটির বিভিন্ন দিক পরিচালনা করে যাতে প্রতিটি প্রদর্শিত উপাদান রিফ্রেশ হয়, কোনও অ্যাপ্লিকেশন আসলে পুনরায় লোড হয় না।
vaab

উত্তর:


8

সর্বাধিক মার্জিত উপায় হ'ল আইকনটিকে "পুনরায় চালু করা"; লঞ্চারে আইকনটিকে তার অবস্থান থেকে সরাতে এবং একই অবস্থানে এটি প্রতিস্থাপন করতে। নীচের স্ক্রিপ্টটি কাজ করে। এটি পাইথন 2 এ রয়েছে, যেহেতু 12.04 ডিফল্টভাবে পাইথন 3 নিয়ে আসে না। তবে এটি অজগর 3 তেও ব্যবহার করা যেতে পারে, কেবল সেই ক্ষেত্রে শেবাং পরিবর্তন করুন। স্ক্রিপ্টটি উদাহরণস্বরূপ পরিবর্তিত আইকনটি অবিলম্বে প্রয়োগ করতে (পরবর্তী উবুন্টু সংস্করণগুলিতেও) কার্যকর হতে পারে।

আপনি এটিকে আর্গুমেন্ট হিসাবে সম্পাদিত ডেস্কটপ ফাইলের সাথে স্ক্রিপ্ট কল করে সহজেই ব্যবহার করতে পারেন (নীচে আরও দেখুন)।

নোট : 12.04, যদি একটি রিফ্রেশ আইকনটি একটি প্রতিনিধিত্ব করে চলমান অ্যাপ্লিকেশন, প্রশ্নে অ্যাপ্লিকেশন, বর্ণনা অনুযায়ী বিপর্যস্ত হবে এই প্রশ্নের , তাই যদি আপনি এটি ব্যবহার, নিশ্চিত করুন অ্যাপ্লিকেশন চলমান করা হয় না। 14.04 এ, চলমান অ্যাপ্লিকেশনটির ক্ষেত্রে আইকনটি কেবল রিফ্রেশ করবে না।

এই পান্ডুলিপি

#!/usr/bin/env python

import subprocess
import time
import sys

desktopfile = sys.argv[-1]

def read_currentlauncher():
    # reads the current launcher contents
    get_launcheritems = subprocess.Popen([
        "gsettings", "get", "com.canonical.Unity.Launcher", "favorites"
        ], stdout=subprocess.PIPE)
    return get_launcheritems.communicate()[0].decode("utf-8")

def set_launcher(llist):
    # sets a defined unity launcher list
    current_launcher = str(llist).replace(", ", ",")
    subprocess.Popen([
        "gsettings", "set", "com.canonical.Unity.Launcher", "favorites",
        current_launcher,
        ])

def refresh_icon(desktopfile):
    current_launcher = read_currentlauncher()
    current_launcher_temp = eval(current_launcher)
    item = [item for item in current_launcher_temp if desktopfile in item][0]
    index = current_launcher_temp.index(item)
    current_launcher_temp.pop(index)
    set_launcher(current_launcher_temp)
    time.sleep(2)
    set_launcher(current_launcher)

refresh_icon(desktopfile)

এটি কিভাবে ব্যবহার করতে

  • উপরের স্ক্রিপ্টটি একটি খালি ফাইলে অনুলিপি করুন এবং এটি হিসাবে নিরাপদ করুন refresh.py
  • সুবিধার কারণে, এটি সম্পাদনযোগ্য করুন
  • কমান্ড দ্বারা আইকন রিফ্রেশ:

    /path/to/script/refresh.py name_of_edited_desktopfile (e.g. 'firefox.desktop')
    

আপনি যদি সত্যিই এটি মসৃণ করতে চান

  • স্ক্রিপ্টটি কার্যকর করতে সক্ষম করুন, .pyএক্সটেনশনটি সরিয়ে ফেলুন , এতে সংরক্ষণ করুন ~/bin। লগ আউট / ইন করার পরে, আপনি এটি কমান্ড দ্বারা চালাতে পারেন:

    refresh firefox.desktop (as an example)
    

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