
설치 프로세스를 자동화하는 설치 스크립트를 작성했습니다. 그런 다음 유니티 런처의 아이콘을 재정렬/추가/제거하고 싶습니다.
를 사용하면 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)