QWE*_*RTY 8 package-management command-line startup-applications
我尝试在终端中卸载许多应用程序,因为某些应用程序未显示在 Ubuntu 软件应用程序中。每次执行此操作时,我都必须搜索互联网,因为很难知道如何在终端中编写应用程序的名称。例如,FreeOffice 在终端中的名称是sofmaker-freeoffice-2023,与其他应用程序不同。
有没有办法知道使用终端卸载应用程序时使用什么名称,而无需搜索互联网?
这回答了特定问题“有没有办法知道使用终端卸载应用程序时使用什么名称,而无需搜索互联网?” 和“如何找到应用程序的名称以在终端中删除它们?”。如果您想使用该信息并通过终端将其删除,仅了解启动该程序的可执行文件的名称可能还不够。
对于菜单系统中的应用程序,搜索系统的.desktop启动器是一个好方法。.desktop启动器是带有扩展名的小文本文件.desktop,用于告诉操作系统有关已安装应用程序的各种信息。
您可以根据菜单中显示的内容找到此类启动器。例如,LO Writer 的启动器将在以 开头的行中包含字符串Name=。当您在文本编辑器中打开该启动器时,您将看到 后指定的可执行文件Exec=。
您可以使用任何想要根据内容搜索文件的工具,但是,我有一个小脚本,我将其命名为whichdesktop,用于搜索.desktop文件:
内容whichdesktop:
#!/bin/bash
IFS=$" :"
DIR="$HOME/.local/share/applications"
for d in $XDG_DATA_DIRS; do
d=$(echo "$d" | sed -e 's/\/$//')
[ -d $d/applications ] && DIR="$DIR $d/applications"
done
find -L $DIR -name '*.desktop' -exec grep -H "$1" {} \;
Run Code Online (Sandbox Code Playgroud)
它列出了可能安装启动器的目录.desktop,然后调用find以仅搜索这些目录。
例如,如果我有兴趣查找 LibreOffice Writer 的可执行文件的名称,我可以运行:
$ whichdesktop "LibreOffice Writer"
/usr/share/applications/libreoffice-writer.desktop:Name=LibreOffice Writer
$ cat /usr/share/applications/libreoffice-writer.desktop | grep Exec=
Exec=libreoffice --writer %U
Exec=libreoffice --writer
Run Code Online (Sandbox Code Playgroud)
这表明可执行文件被称为libreoffice.