Unity Launcher'a / dan uygulamaları komut satırından nasıl ekler / kaldırırsınız?

Apr 19 2015

Ubuntu 14.04 Live CD'sini UCK (Ubuntu Customization Kit) ile özelleştiriyorum. Program size bir terminalde değişiklik yapabileceğiniz bir chroot ortamı sunar.

Dock'ta görünen programları eklemek ve kaldırmak istiyorum.

.desktopDosyayı değiştirerek bunun gerçekleştirilip gerçekleştirilemeyeceğinden emin değilim.

Bu, terminal kullanılarak nasıl yapılabilir?

Yanıtlar

5 JacobVlijm Apr 19 2015 at 09:43

Aşağıdaki komut dosyası, bağımsız değişkenlere bağlı olarak başlatıcıya öğe eklemek veya kaldırmak için kullanılabilir:

#!/usr/bin/env python3

import subprocess
import sys

desktopfile = sys.argv[1]

def current_launcher():
    get_current = subprocess.check_output(["gsettings", "get", "com.canonical.Unity.Launcher", "favorites"]).decode("utf-8")
    return eval(get_current)

def set_launcher(desktopfile):
    curr_launcher = current_launcher()
    last = [i for i, x in enumerate(curr_launcher) if x.startswith("application://")][-1]
    new_icon = "application://"+desktopfile
    if sys.argv[2] == "a":
        if not new_icon in curr_launcher:
            curr_launcher.insert(last, new_icon)
            subprocess.Popen(["gsettings", "set", "com.canonical.Unity.Launcher","favorites",str(curr_launcher)])
    elif sys.argv[2] == "r":
        curr_launcher.remove(new_icon)
        subprocess.Popen(["gsettings", "set", "com.canonical.Unity.Launcher","favorites",str(curr_launcher)])

set_launcher(desktopfile)

Nasıl çalıştırılır

  1. Kodu boş bir dosyaya yapıştırın, farklı kaydedin set_launcher.py
  2. Komutla çalıştırın:

    python3 /path/to/set_launcher.py <name_of_.desktop_file> a
    

    bir simge eklemek için veya:

    python3 /path/to/set_launcher.py <name_of_.desktop_file> r
    

    bir simgeyi kaldırmak için

    Misal:

    python3 /path/to/set_launcher.py gedit.desktop a
    

    geditbaşlatıcıya eklemek için veya

    python3 /path/to/set_launcher.py gedit.desktop r
    

    geditbaşlatıcıdan kaldırmak için

Açıklama

Başlatıcı simgelerinin listesi anahtarda tanımlanmıştır:

com.canonical.Unity.Launcher favorites

ve şu komutla getirilebilir:

gsettings get com.canonical.Unity.Launcher favorites

için ayarlanmış alternatif bir liste (Doğru biçimi kullanın önüne alındığında):

gsettings set com.canonical.Unity.Launcher favorites "[item1, item2, etc]"

Bunu bir .desktopdosyayı düzenleyerek başarabilir misiniz ?

Hayır, dosyanın kendisiyle ilgisi yok. Önemli olan, dosyanın başlatıcı favorileri listesinde olup olmamasıdır.

Bu listeyi komut satırından düzenlemek, komut dosyasının yaptığı şeydir.