Bagaimana Anda menambah / menghapus aplikasi ke / dari Unity Launcher dari baris perintah?

Apr 19 2015

Saya menyesuaikan Live CD Ubuntu 14.04 dengan UCK (Ubuntu Customization Kit). Program ini memberi Anda lingkungan chroot di terminal untuk membuat perubahan.

Saya ingin menambah dan menghapus program apa yang muncul di dok.

Saya tidak yakin apakah ini dapat dilakukan dengan memodifikasi .desktopfile?

Bagaimana ini bisa dilakukan dengan menggunakan terminal?

Jawaban

5 JacobVlijm Apr 19 2015 at 09:43

Skrip di bawah ini dapat digunakan untuk menambah atau menghapus item ke peluncur, bergantung pada argumennya:

#!/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)

Bagaimana menjalankannya

  1. Tempel kode ke dalam file kosong, simpan sebagai set_launcher.py
  2. Jalankan dengan perintah:

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

    untuk menambahkan ikon, atau:

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

    untuk menghapus sebuah ikon

    Contoh:

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

    untuk ditambahkan geditke peluncur, atau

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

    untuk menghapus geditdari peluncur

Penjelasan

Daftar ikon peluncur ditentukan di kunci:

com.canonical.Unity.Launcher favorites

dan dapat diambil dengan perintah:

gsettings get com.canonical.Unity.Launcher favorites

untuk mengatur daftar alternatif (mengingat fakta Anda menggunakan format yang benar):

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

Bisakah Anda mencapai ini dengan mengedit .desktopfile?

Tidak, ini tidak ada hubungannya dengan file itu sendiri. Yang penting adalah bahwa file tersebut ada dalam daftar favorit peluncur atau tidak.

Mengedit daftar ini dari baris perintah persis seperti yang dilakukan skrip.