为什么 Gnome/Ubuntu 中的某些软件包在文件系统中的名称与其在路径中的名称不同?如何恢复?

为什么 Gnome/Ubuntu 中的某些软件包在文件系统中的名称与其在路径中的名称不同?如何恢复?

我以所谓的“视频”包为例,而实际上它totem在 中被调用usr/bin/totem

但还有几十个其他的,例如“终端”,它的真实名称是gnome-terminal,等等......

这是极具误导性的,我确信,这已经导致成千上万的人因此浪费了大量的时间。

这个“名称符号链接”是在哪里建立的?是否可以删除它?如果可以,该怎么做?

答案1

这样做的原因是:

  • Videos比起 ,更容易让用户记住/usr/bin/totem
  • Terminal比起 ,更容易让用户记住/usr/bin/gnome-terminal

Videos并且Terminal更接近这些应用程序的实际功能。

此外,通过该键搜索应用程序时Super,如果您输入搜索字符串“videos”,实际上可能会得到多个结果,具体取决于您安装的应用程序。通常您不会搜索“totem”(尽管它可以工作)。

更新#1:

要查看名称实际上在哪里发生变化...我们查看部分片段...

注意:“Name=”、“Exec=”和“Icon=”行...

cat /usr/share/applications/org.gnome.Totem.desktop

[Desktop Entry]
Name=Videos
Comment=Play movies
# Translators: Search terms to find this application. Do NOT translate or locali
ze the semicolons! The list MUST also end with a semicolon! Do NOT translate or 
remove the application name from the list! It is used for search.
Keywords=Video;Movie;Film;Clip;Series;Player;DVD;TV;Disc;Totem;
Exec=totem %U
# Translators: Do NOT translate or transliterate this text (this is an icon file
 name)!
Icon=org.gnome.Totem

答案2

好的,感谢评论中提供的帮助。

因此,我找到了两种了解 Gonme/Ubuntu 应用程序实际命令的方法:

1)正如@pomsky指出的那样,你可以在GUI中使用Nautilus来做到这一点:

  • 打开nautilus(Gnome 菜单中的“文件”)
  • 导航/usr/share/applications
  • 右键单击您选择的应用程序并选择属性
  • 实际的终端命令显示在“命令”字段中

2)更棘手的是,您需要在所有别名的命令列表中反向查找应用程序的名称。

  • 打开终端
  • grep -l Pattern /usr/share/applications将输出任何包含的文件Pattern,该文件需要是您正在搜索的应用程序。
  • grep Exec File,其中File是您在上一步中获得的文件(之一)。
  • 现在,您可以在菜单中启动应用程序时看到系统运行的实际命令!

例如:

$ grep -l Videos /usr/share/applications

org.gnome.Totem.desktop
totem.desktop

$ grep Exec totem.desktop

Exec=totem %U
Exec=totem --play-pause
Exec=totem --next
Exec=totem --previous
Exec=totem --mute
Exec=totem --fullscreen

我现在可以看到“视频”启动的实际命令是totem:)。

PS:已在 Ubuntu 18.04 上验证

相关内容