답변1
아래 솔루션은 아니지만고치다무엇을것 같다사소한 버그이기 때문에 시작(로그인) 시 장치를 자동으로 블랙리스트에 추가하는 해결 방법으로 사용할 수 있습니다.
해결책
...로그인 시 블랙리스트에 추가된 항목을 기억하는 작은 스크립트입니다. 두 가지 인수로 실행됩니다: get
및 set
. 첫 번째는 현재 블랙리스트에 있는 항목을 읽는 것이고, 두 번째는 목록을 마지막으로 읽은 버전으로 (다시) 설정하는 것입니다.
실제로
- 익숙한 방식으로 Unity Launcher에서 장치를 제거합니다.
- 다음 명령을 실행하면
/path/to/remember_blacklist.sh get
현재 블랙리스트에 있는 장치의 스냅샷이 만들어집니다.
이제 다음에 로그인하거나 다시 시작하면 블랙리스트에 있는 장치가 자동으로 제거됩니다. 물론 바로가기에 명령을 추가할 수도 있습니다.
사용/설정 방법
아래 스크립트를 빈 파일에 복사하고 다른 이름으로 저장하세요.
remember_blacklist.sh
#!/bin/bash arg=$1 blacklist=~/.currblacklist key="com.canonical.Unity.Devices blacklist" if [ "$arg" == "get" ] then printf "$(gsettings get $key)" > $blacklist elif [ "$arg" == "set" ] then if [ "$(cat $blacklist)" == "@as" ] then gsettings set $key [] else gsettings set $key "$(cat $blacklist)" fi fi
실행 가능하게 만들어라(!)
시작 애플리케이션 대시 > 시작 애플리케이션 > 추가에 다음을 추가합니다. 명령을 추가하세요
/bin/bash -c "sleep 10 && /path/to/remember_blacklist.sh set"
- 평소처럼 런처에서 장치를 제거하세요.
- 기억하려면 다음을 실행하세요.
/path/to/remember_blacklist.sh get
설명
런처에서 장치를 제거하면블랙리스트에 등록됨. 다음 명령을 사용하여 현재 블랙리스트에 등록된 장치 목록을 읽을 수 있습니다.
gsettings get com.canonical.Unity.Devices blacklist
이것은 다음과 같이 출력됩니다
['0A444ED409660B91-intern_1', '2899FAA548C61099-intern_2']
스크립트가 하는 일은 다음과 같습니다.
- 인수로 실행하면
get
현재 블랙리스트를 읽고 출력을 숨겨진 파일에 저장합니다.~/.currblacklist
인수로 실행하면
set
파일의 내용을 읽고~/.currblacklist
다음 명령을 사용하여 blaclist를 설정합니다.gsettings set com.canonical.Unity.Devices blacklist <content_of_the_file>