如何仅在 Unity 中自动启动所有屏幕小工具(而不是 Gnome-shell)?

如何仅在 Unity 中自动启动所有屏幕小工具(而不是 Gnome-shell)?

我只想在 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

相关内容