com.canonical.Unity.Panel에 새 항목을 추가하기위한 한 줄 명령 systray-whitelist


8

이것은 Unity 알림 패널에 항목을 추가하는 방법보다 명령 줄 명령 질문을 사용하는 방법입니다.

com.canonical.Unity.Panel systray-whitelist에 새 항목을 추가하려면 한 줄 CLI가 있어야합니다.

이를위한 표준 절차는 다음과 같습니다.

sudo gsettings get com.canonical.Unity.Panel systray-whitelist

우리는 얻는다

['JavaEmbeddedFrame', 'Wine', 'Skype']

그런 다음 두 번째 명령을 수행합니다

sudo gsettings set com.canonical.Unity.Panel systray-whitelist "['JavaEmbeddedFrame', 'Wine', 'Skype', 'shutter']"

그것은 훌륭하지만 모두 사람들이 첫 번째 줄의 결과를 복사하여 붙여 넣기를 요구합니다. 스크립트를 작성하려면 하나의 명령으로하고 싶습니다.

지금까지 이것은 내가 가진 것입니다 :

sudo gsettings set com.canonical.Unity.Panel systray-whitelist | gsettings get com.canonical.Unity.Panel systray-whitelist | sed -e "s/']$/,'shutter']/" | awk 'NF{print "\"" $0 "\""}'

뭔가 빠진 것 같습니다.

첫째, 현을 gsettings set 기능으로 올바르게 배관하고 있는지 확실하지 않습니다. 둘째, gsettings get의 출력을 올바르게 구문 분석하는 것으로 생각하지만 sed를 사용하여 수정 된 결과 주위에 ""를 추가하는 방법을 찾지 못했기 때문에 다른 awk 명령을이 엉망으로 파이프해야했습니다.

도와주는 사람에게 감사합니다.


우분투 12.04에서 이것을 테스트 한 사람이 있습니까? 그것은 나를 위해 작동하지 않습니다 (이전 버전에서 작동했습니다)
saeedgnu

gsettings set com.canonical.Unity.Panel systray-whitelist "$ (gsettings get com.canonical.Unity.Panel systray-whitelist | sed"s /, * 'yourapp'* // g "| sed"s / 'yourapp' *, * // g "| sed -e"s /] $ /, 'yourapp'] / ")"이것을 시도해보십시오. 필요한 것으로 yourapp를 바꾸십시오.
hansioux 2018 년

답변:


8

오류 후 오류가 발생하면 마침내 따옴표를 수락하지 않는 이유를 알았습니다. 실제 변수에 따옴표를 넣을 수 있으며 실제 명령에 따옴표를 입력 할 필요가 없습니다.

이것은 작동합니다 :

gsettings set com.canonical.Unity.Panel systray-whitelist "$(gsettings get com.canonical.Unity.Panel systray-whitelist | sed -e "s/]$/, 'shutter']/")"

또한이 예제가 작동하려면 예제에서 'sed -e "s /'] $ /를 제거해야합니다.

나중에 편집 : 그런데, sudo로 gsettings를 실행하지 마십시오 ... 작동하지 않습니다.


이 새로운 한 줄은 내가 생각해 냈습니다. 그러면 화이트리스트 일 수있는 이전 항목이 모두 제거되고 마지막에 다시 추가됩니다. 설치 스크립트 용입니다. 그것은 무차별적인 힘이지만 작동합니다. gsettings set com.canonical.Unity.Panel systray-whitelist "$ (gsettings get com.canonical.Unity.Panel systray-whitelist | sed"s /, * 'yourapp'* // g "| sed"s / 'yourapp' *, * // g "| sed -e"s /] $ /, 'yourapp'] / ")"
hansioux
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.