유니티 런처 아이콘 순서 자동화

유니티 런처 아이콘 순서 자동화

설치 프로세스를 자동화하는 설치 스크립트를 작성했습니다. 그런 다음 유니티 런처의 아이콘을 재정렬/추가/제거하고 싶습니다.

를 사용하면 dconf watch /아이콘 순서를 바꾸면서 출력을 볼 수 있습니다. 이를 수행하는 명령줄 방법이 있습니까 gsettings? 를 사용하여 수행할 수 있습니까?

답변1

소개

아래의 간단한 스크립트를 사용하면 파일을 인수로 사용할 수 있으며 프로그램에 대한 바로 가기가 파일에 표시되도록 실행 프로그램을 설정할 수 있습니다(한 줄에 하나씩).

기본 아이디어는 실행기 아이콘이 실제로 .desktop파일에 대한 링크(표시되는 위치에 관계없이)이며 실행기 항목을 설정하는 정식 방법은 다음 명령을 실행하는 것입니다.

gsettings set com.canonical.Unity.Launcher favorites  "[ 'item1.desktop' , 'item2.desktop' , . . . 'item3.desktop;  ]"

많은 항목을 추가하려는 경우 이는 지루할 수 있으며 인용이 어려울 수 있습니다. 언제든지 원하는 프로그램을 열고 아이콘을 마우스 오른쪽 버튼으로 클릭하여 "실행 프로그램에 고정" 옵션을 호출할 수 있지만, 많은 양의 항목을 처리할 때는 이 방법도 실용적이지 않습니다.

여기서 취한 접근 방식은 단순히 한 줄에 1번씩 파일을 읽고 text 명령을 작성하여 실행하는 것입니다. gsettings set이는 어려운 작업이 완료된다는 점을 제외하면 위의 명령을 실행하는 것과 다르지 않습니다 .

용법:

스크립트를 실행하려면 파일에 저장하고 실행 가능하게 만든 다음 다음 chmod +x /path/to/script과 같이 실행하세요.

python /path/to/script /path/to/file

입력 파일에는 런처에 추가하려는 항목(예: )에 대한 전체 경로가 포함되어야 하지만 /usr/share/applications/firefox.desktop반드시 그럴 필요는 없으며 다음 줄 firefox.desktop도 괜찮습니다.

데모

스크립트를 실행하기 전에

여기에 이미지 설명을 입력하세요

스크립트를 실행한 후

여기에 이미지 설명을 입력하세요

순서는 입력 파일에 나타나는 항목과 정확히 동일합니다.

스크립트 소스

#!/usr/bin/env python
# Author: Serg Kolo
# Date: April 22, 2016
# Purpose:  programmatically set Unity launcher items
# by reading a file
# Written for: http://askubuntu.com/q/760895/295286
# Tested on: Ubuntu 14.04 LTS
import sys
import subprocess

command="""gsettings set com.canonical.Unity.Launcher favorites """

def run_command(cmd):
    p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE)
    output = p.stdout.read().strip()
    return output  


items=""
with open(sys.argv[1]) as file:
  for line in file:
      temp = "'" + line.strip().split('/')[-1] + "'"
      items = ",".join([items,temp])

items = '"[ ' + items[1:] + ' ]"'

print run_command(command + " " + items)

관련 정보