如何让软件中心在每次安装应用程序时自动在我的桌面上创建快捷方式?

如何让软件中心在每次安装应用程序时自动在我的桌面上创建快捷方式?

我隐藏了 Unity 的启动器,因为我更喜欢使用 cairo dock。

这就是为什么我尝试找到一种方法来让从 Ubuntu 软件中心安装的东西自动在我的桌面上设置快捷方式。

答案1

在后台运行下面的脚本,它将自动在你的桌面上创建一个启动器(仅限)已安装的软件。

它也是:

  • 检查新项目是否实际上是一个应用程序,旨在从启动器启动(检查NoDisplay=true
  • 使桌面上的启动器可执行,可供使用。

如何使用

  • 将下面的脚本复制到一个空文件中(例如使用gedit),并将其保存为某处make_starter.py
  • 如果您首先想测试它:通过以下命令从终端窗口运行它:

    python3 /path/to/make_starter.py
    

    像您习惯的那样安装应用程序。安装完成后,桌面上应该会出现一个图标

  • 如果一切正常,请将其添加到启动应用程序中:Dash > 启动应用程序 > 添加。添加命令:

    python3 /path/to/make_starter.py
    

笔记

Ubuntu 的本地化版本可能对“桌面”有不同的名称(荷兰语为“Bureaublad”)。如果是这样,请在以下行中替换:

desktopname = "Desktop"

“桌面”的本地化名称。

剧本

#!/usr/bin/env python3
import subprocess
import os
import time
import shutil

desktopname = "Desktop"
dr = "/usr/share/applications"

while True:
    current = os.listdir(dr)
    time.sleep(10)
    last = os.listdir(dr)
    for item in last:
        if not item in current and item.endswith(".desktop"):
            file = dr+"/"+item
            with open(file) as src:
                text = src.read()
            if not "NoDisplay=true" in text:
                target = os.environ["HOME"]+"/"+desktopname+"/"+item
                shutil.copyfile(file, target)
                command = "chmod +x "+target
                subprocess.Popen(["/bin/bash", "-c", command])

答案2

这会非常混乱,因为可能有超过一百个应用程序图标。这些图标(实际上,桌面启动器文件) 通常是/usr/share/applications。所以你可以在终端中运行以下命令:

find /usr/share/applications -type f -name '*.desktop' -exec cp --target-directory ~/Desktop/ {} +

但这会创建每个启动器的副本在您的桌面上。 (可能几百个,取决于你的环境

您可以/usr/share/applications在文件管理器中浏览,然后手动将相关应用程序复制到桌面。据我所知,没有自动方法可以让软件中心执行此操作。

相关内容