所以我在和 Natty 打交道,我注意到所有通常会使用系统托盘(或“通知区域”?)的应用程序都没有显示在那里。这是一个错误,还是它会是这样?我听说 Ubuntu 完全摆脱了该功能。有没有办法把它加回来?我的意思是,我也不是很喜欢它,尤其是当有应用程序不必要地使用它时,但我现在根本无法使用 CryptKeeper 或 easycrypt,而且我不知道 Dropbox 是否在没有打开 Nautilus 的情况下同步.
这更多是一个如何使用命令行指令的问题,而不是如何向 Unity 通知面板添加项目。
我必须有一个单行 CLI 才能将新项目添加到 com.canonical.Unity.Panel 系统托盘白名单。
这样做的标准程序是:
sudo gsettings get com.canonical.Unity.Panel systray-whitelist
Run Code Online (Sandbox Code Playgroud)
我们得到
['JavaEmbeddedFrame', 'Wine', 'Skype']
Run Code Online (Sandbox Code Playgroud)
然后我们执行第二个命令
sudo gsettings set com.canonical.Unity.Panel systray-whitelist "['JavaEmbeddedFrame', 'Wine', 'Skype', 'shutter']"
Run Code Online (Sandbox Code Playgroud)
虽然这很好,但它需要人们从第一行复制和粘贴结果,对于我正在编写的脚本,我想在一个命令中完成它。
到目前为止,这就是我所拥有的:
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 "\""}'
Run Code Online (Sandbox Code Playgroud)
我想我错过了一些东西。
首先,我不确定我是否正确地将字符串输入到 gsettings set 函数中。其次,虽然我认为我正在正确解析 gsettings get 函数的输出,但我想不出一种方法来使用 sed 在修改后的结果周围添加“”,所以我不得不将另一个 awk 命令通过管道传输到这个烂摊子中。
感谢任何有帮助的人。