Sev*_*Tux 2 command-line unlock launcher devices gsettings
我试图从启动器解锁分区,但每次重新启动后它们都会重新出现。有什么好方法可以从启动器中永久删除分区吗?
这仅在 Ubuntu 16.04 上发生
虽然下面的解决方案是不是一个修复到什么似乎是一个小错误,你可以使用它作为一个解决方法,以自动黑名单的设备上启动(登录)。
...是一个小脚本,它会在登录时记住您列入黑名单的项目。它运行时带有两个参数:get和set。第一个是读取当前列入黑名单的项目,第二个将(重新)将列表设置为上次读取的版本。
/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
Run Code Online (Sandbox Code Playgroud)使其可执行(!)
将以下内容添加到 Startup Applications Dash > Startup Applications > Add。添加命令
/bin/bash -c "sleep 10 && /path/to/remember_blacklist.sh set"
Run Code Online (Sandbox Code Playgroud)/path/to/remember_blacklist.sh get如果您从启动器中删除设备,它将被列入黑名单。您可以使用以下命令读取当前列入黑名单的设备列表:
gsettings get com.canonical.Unity.Devices blacklist
Run Code Online (Sandbox Code Playgroud)
这将输出类似
['0A444ED409660B91-intern_1', '2899FAA548C61099-intern_2']
Run Code Online (Sandbox Code Playgroud)
脚本的作用是:
get:它读取当前黑名单并将输出保存在隐藏文件中:~/.currblacklist使用参数运行时set:它读取文件的内容~/.currblacklist并使用以下命令设置黑名单:
gsettings set com.canonical.Unity.Devices blacklist <content_of_the_file>
Run Code Online (Sandbox Code Playgroud)