![如何仅在 Unity 中自动启动所有屏幕小工具(而不是 Gnome-shell)?](https://linux22.com/image/1093992/%E5%A6%82%E4%BD%95%E4%BB%85%E5%9C%A8%20Unity%20%E4%B8%AD%E8%87%AA%E5%8A%A8%E5%90%AF%E5%8A%A8%E6%89%80%E6%9C%89%E5%B1%8F%E5%B9%95%E5%B0%8F%E5%B7%A5%E5%85%B7%EF%BC%88%E8%80%8C%E4%B8%8D%E6%98%AF%20Gnome-shell%EF%BC%89%EF%BC%9F.png)
我只想在 Unity 环境中自动启动所有屏幕小工具,因为它也在 Gnome-shell 中自动启动(因为它在 gnome-shell 中不能很好地工作),也就是说,我只想编辑一个文件而不是所有的屏幕小工具项目文件,
因为我的桌面上有很多屏幕小工具
,而且我知道如何从这里自动启动应用程序地点。
答案1
我认为不可能只编辑一个文件 - 您需要编辑所有屏幕文件 - 似乎自动启动文件夹中的所有屏幕文件都被命名为[something]Screenlet.desktop
您可以使用一个简单的脚本,例如这个,它将附加OnlyShowIn=Unity
到用户自动启动文件夹中的所有 screenlet 文件
要使用,请将以下内容复制并粘贴到主文件夹中名为hidescreenlets
然后使用以下命令运行脚本:
bash ~/hidescreenlets
如果您添加更多屏幕小部件,只需重新运行脚本。
脚本:
#!/bin/bash
dir="$HOME/.config/autostart"
if [ ! -d $dir ] ; then
echo "cannot find $dir"
exit
fi
cd $dir
files=`find -name "*Screenlet.desktop"`
for file in $files ; do
srch=`grep -i "OnlyShowIn=Unity" $file`
#echo $file "$srch"
if [ "$srch" == "" ] ; then
echo "OnlyShowIn=Unity" >> $file
#echo $file "$srch"
fi
done
备份
如果您感到紧张...可以使用 Nautilus 将 ~/.config/autostart 文件夹备份到另一个文件夹,或者您可以通过以下方式实现相同目的:
mkdir ~/backupscreenlets
cp ~/.config/autostart/* ~/backupscreenlets
查看内容~/backupscreenlets
- 它将具有与以下相同的文件~/.config/autostart
如果您想要原始文件:
cp ~/backupscreenlets/* ~/.config/autostart